@charset "UTF-8";
/*========================================
Foundation（初期化）
==========================================*/
@-ms-viewport {
  width: auto;
}

@page {
  size: 420mm 594mm;
}

@media print {
  body {
    /*    width: 1123px;*/
  }
}

@media print and (-ms-high-contrast: none) {
  body {
    width: 1081px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media print {
  *,
  *::before,
  *::after {
    -webkit-box-shadow: none;
    box-shadow: none;
    text-shadow: none;
  }
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
}
body {
  -webkit-text-size-adjust: 100%;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

  blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
  }

h2, h3, h4, h5, h6 {
  line-height: 1.3;
}

a {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 100%;
  color: #005B96;
  vertical-align: baseline;
  text-decoration: none;
  word-break: break-all;
}

  a:hover {
    text-decoration: underline;
  }

img {
  max-width: 100%;
}

p {
  line-height: 2.0;
}

@media (min-width: 768px) {
  a img {
    transition: opacity 0.2s;
  }

  a:hover img {
    opacity: 0.7;
  }
}

@media print {
  a {
    color: #2E404D;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-bottom: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

br {
  font-size: 0;
}

input, select {
  vertical-align: middle;
}

  input[type="radio"] {
    display: inline-block;
    position: relative;
    top: 1px;
    margin: 0 3px 0 0;
  }

button, input, select, textarea {
  font: inherit;
}

[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *:focus {
  outline: none !important;
}

body {
  position: relative;
  z-index: 10;
  color: #2E404D;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
}

@media (min-width: 375px) {
  body {
    z-index: 20;
  }
}

@media (min-width: 768px) {
  body {
    z-index: 30;
  }
}

@media (min-width: 992px) {
  body {
    z-index: 40;
  }
}

a {
  color: #005B96;
}
/*========================================
Layout（接頭辞 l-）
==========================================*/

/* ラッパー
-----------------------*/
.l-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.l-wrapper-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
}

@media print {
  .l-wrapper-inner {
    display: block;
  }
}

/* ヘッダー
-----------------------*/
.l-header {
  position: fixed;
  z-index: 100;
  top: 0;
  padding: 40px 40px 0;
  width: 100%;
  min-height: 0%;
  transition: all 0.1s;
}

  .l-header.is-scroll:not(.is-close) {
    background: #fff;
    padding: 20px 40px;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  }

  .l-header.is-hide:not(.is-close) {
    opacity: 0;
  }

  .l-header a,
  .l-header a:hover {
    color: inherit;
    cursor: pointer;
  }

  .l-header.is-error .c-flex-align-center.u-mt-30-pc {
    margin-top: 0 !important;
  }

@media screen and (max-width: 767px) {
  .l-header {
    padding: 40px 20px 0;
  }

    .l-header.is-scroll:not(.is-close) {
      padding: 20px 20px;
    }
}

@media print {
  .l-header {
    position: absolute;
  }

    .l-header.is-scroll:not(.is-close) {
      background: transparent;
      padding: 20px 40px;
      box-shadow: none;
    }
}

.l-header-inner {
  color: #fff;
}

.is-blue .l-header-inner {
  color: inherit;
}

.l-header.is-scroll:not(.is-close) .l-header-inner {
  color: inherit;
}

.l-header-country {
  display: flex;
  align-items: center;
}

.is-scroll .l-header-country {
  display: none;
}

.l-header-country li + li::before {
  content: '/';
  display: inline-block;
  margin: 0 5px;
}

.l-header-country .is-current span {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-header-country {
    display: none;
  }
}

.l-header-logo {
  width: 176px;
  font-size: 0;
}

@media screen and (max-width: 767px) {
  .l-header-logo {
    width: 130px;
  }
}

.l-header-gnav {
  margin-top: -9px;
  margin-left: auto;
}

.is-scroll .l-header-gnav {
  margin-top: 0;
}

.l-header-gnav ul {
  display: flex;
}

  .l-header-gnav ul li {
    font-size: 1.5rem
  }

    .l-header-gnav ul li::after {
      display: block;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #005B96;
      width: 0;
      height: 2px;
      content: "";
    }


    .l-header-gnav ul li + li {
      margin-left: 20px;
    }

@media (max-width: 1199px) {
  .l-header-gnav {
    display: none;
  }
}

@media print {
  .l-header-gnav {
    display: none;
  }
}

.l-header-ico-search {
  margin-top: -9px;
  margin-left: 50px;
  font-size: 2.4rem;
  cursor: pointer;
}

  .l-header-ico-search:focus {
    outline: 1px solid #4c8dca;
    outline: 5px auto -webkit-focus-ring-color;
  }

.is-scroll .l-header-ico-search {
  margin-top: 0;
}

@media (max-width: 1199px) {
  .l-header-ico-search {
    margin-left: auto;
  }
}

@media screen and (max-width: 767px) {
  .l-header-ico-search:focus {
    outline: none;
  }
}

@media print {
  .l-header-ico-search {
    display: none;
  }
}

.l-header-ico-menu {
  position: relative;
  z-index: 999;
  margin-top: -7px;
  margin-left: 60px;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

  .l-header-ico-menu:focus {
    outline: 1px solid #4c8dca;
    outline: 5px auto -webkit-focus-ring-color;
  }

.is-scroll:not(.is-close) .l-header-ico-menu {
  margin-top: 2px;
}

.is-close .l-header-ico-menu {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 999;
  margin-top: -7px;
  margin-left: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

.l-header-search .is-close .l-header-ico-menu {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 999;
  margin-top: 20px;
  margin-left: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

.l-header-search .is-scroll.is-close .l-header-ico-menu {
  margin-top: -48px;
}

.l-header-ico-menu.is-menu.is-close::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% - 400px);
  height: 100%;
}

.l-header-ico-menu span,
.l-header-ico-menu span::before,
.l-header-ico-menu span::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  width: 24px;
  background: #fff;
  transition: all 0.3s;
}

.is-blue .l-header-ico-menu span,
.is-blue .l-header-ico-menu span::before,
.is-blue .l-header-ico-menu span::after {
  background: #333;
}

.l-header-ico-menu span {
  top: 9px;
}

  .l-header-ico-menu span::before {
    content: '';
    top: -9px;
  }

  .l-header-ico-menu span::after {
    content: '';
    top: 9px;
  }

.is-scroll:not(.is-close) .l-header-ico-menu span,
.is-scroll:not(.is-close) .l-header-ico-menu span::before,
.is-scroll:not(.is-close) .l-header-ico-menu span::after {
  background: #333;
}

.is-scroll:not(.is-close) .l-header-ico-menu.is-close span,
.is-scroll:not(.is-close) .l-header-ico-menu.is-close span::before,
.is-scroll:not(.is-close) .l-header-ico-menu.is-close span::after {
  background: #fff;
}

.is-close .l-header-ico-menu span,
.l-header-ico-menu.is-close span {
  background: #fff;
  transform: rotate(-45deg);
}

  .is-close .l-header-ico-menu span::before,
  .l-header-ico-menu.is-close span::before {
    background: #fff;
    transform: translateY(9px);
  }

  .is-close .l-header-ico-menu span::after,
  .l-header-ico-menu.is-close span::after {
    background: #fff;
    transform: rotate(90deg) translateX(-9px) translateY(0px);
  }

@media screen and (max-width: 767px) {
  .l-header-ico-menu {
    margin-left: 30px;
  }

  .l-header-search .is-close .l-header-ico-menu {
    margin-top: 0;
  }

  .l-header-search .is-scroll.is-close .l-header-ico-menu {
    margin-top: -20px;
  }

  .l-header-ico-menu:focus {
    outline: none;
  }

  .l-header-ico-menu.is-menu.is-close::before {
    display: none;
  }
}

@media (max-width: 1199px) {
  .l-header-ico-menu {
    margin-left: auto;
  }

  .l-header-ico-search + .l-header-ico-menu {
    margin-left: 60px;
  }
}

@media print {
  .l-header-ico-menu {
    display: none;
  }
}

.l-header-menu {
  display: none;
  flex-direction: column;
  position: fixed;
  z-index: 998;
  top: 0;
  right: 0;
  padding: 0 40px;
  background: url(/assets/NDIL/images/common/logo-n.svg) no-repeat bottom right #005B96;
  background-size: contain;
  width: 400px;
  height: 100vh;
  color: #fff;
  overflow-y: auto;
  transition: right 0.3s;
}

  .l-header-menu.is-hide {
    right: -400px;
  }

  .l-header-menu.is-open::before {
  }

.l-header-menu-list-main {
  margin-top: 170px;
  padding-bottom: 60px;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 2.8rem;
}

  .l-header-menu-list-main li + li {
    margin-top: 25px;
  }

.l-header-menu-list-sub {
  margin-top: auto;
  margin-bottom: 60px;
}

  .l-header-menu-list-sub li + li {
    margin-top: 15px;
  }

@media screen and (max-width: 767px) {
  .l-header-menu {
    padding: 0 20px;
    background-size: auto;
    width: 100%;
    height: 100%;
  }

    .l-header-menu.is-hide {
      right: -100vw;
    }

  .l-header-menu-list-main {
    margin-top: 70px;
    padding-bottom: 30px;
  }
}

.l-header-search {
  overflow-y: auto;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  background: #005B96;
  padding: 40px;
  width: 100%;
  height: 100%;
  color: #fff;
  transition: top 0.3s;
}

  .l-header-search.is-hide {
    top: -100%;
  }

  .l-header-search form {
    position: relative;
    top: 50%;
    transform: translate(0, -50%);
    transition: all 0.2s;
  }

.is-typing form {
  top: 0;
  transform: translate(0, 0);
}

.l-header-search-text {
  visibility: hidden;
  margin-bottom: 0;
  height: 0;
  transition: all 0.1s;
}

.is-typing .l-header-search-text {
  visibility: visible;
  margin-bottom: 40px;
  height: auto;
}

.l-header-search-input {
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  opacity: 0;
}

  .l-header-search-input.is-fadein {
    opacity: 1;
    transition: opacity 0.6s ease-in;
  }

  .l-header-search-input::before {
    content: '';
    position: absolute;
    left: 100px;
    top: 0;
    z-index: 1;
    border-left: 3px solid #fff;
    background: #005B96;
    width: calc(100% - 100px);
    height: 100%;
  }

  .l-header-search-input.is-move::before {
    left: 100%;
    transition: left 0.8s ease-in;
  }

  .l-header-search-input i {
    display: inline-block;
    position: absolute;
    top: 50%;
    height: 1em;
    font-size: 6rem;
    transform: translate(0, -50%);
  }

.is-typing .l-header-search-input i {
  display: none;
}

.l-header-search-input input {
  display: inline-block;
  border: 0;
  border-radius: 0;
  padding: 0 0 0 100px;
  background: none;
  height: 1.5em;
  color: #fff;
  font-size: 8rem;
  line-height: normal;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  transition: all 0.2s;
}

  .l-header-search-input input::placeholder {
    color: #fff;
  }

  .l-header-search-input input::-ms-clear {
    display: none;
  }

  .l-header-search-input input::-ms-input-placeholder {
    color: #fff;
  }

  .l-header-search-input input.is-iOS::-webkit-input-placeholder {
    position: relative;
    top: -8px;
  }

.is-typing .l-header-search-input input {
  padding: 0;
  font-size: 8rem;
}

.l-header-search-suggestions {
  display: none;
  align-items: center;
  margin-top: 60px;
  opacity: 0;
}

  .l-header-search-suggestions.is-show {
    display: flex;
  }

  .l-header-search-suggestions li {
    display: flex;
    align-items: center;
    border-left: 1px solid #fff;
    padding: 3px 15px 5px;
    color: #ccc;
  }

    .l-header-search-suggestions li:first-child {
      border-left: none;
      padding-left: 0;
      color: inherit;
    }

.l-header-search-results {
  display: none;
  margin-top: 60px;
}

  .l-header-search-results.is-show {
    display: block;
  }

  .l-header-search-results li + li {
    margin-top: 40px;
  }

  .l-header-search-results li span {
    display: block;
    font-size: 1.2rem;
  }

  .l-header-search-results li a {
    display: block;
    margin-top: 5px;
    font-size: 2rem;
  }

@media (max-width: 1199px) {
  .l-header-search-input i {
    font-size: 4rem;
  }

  .l-header-search-input::before {
    left: 70px;
  }

  .l-header-search-input input {
    padding: 0 0 0 70px;
    font-size: 5rem;
  }

  .is-typing .l-header-search-input input {
    font-size: 5rem;
  }
}

@media screen and (max-width: 767px) {
  .l-header-search {
    padding: 30px 20px;
  }

    .l-header-search form {
      top: 0;
      transform: translate(0, 0);
      transition: none;
    }

  .l-header-search-text {
    margin-bottom: 20px;
    height: auto;
  }

  .is-typing .l-header-search-text {
    display: block;
    margin-bottom: 20px;
    height: auto;
  }

  .l-header-search-input i {
    font-size: 2.2rem;
  }

  .l-header-search-input::before {
    left: 30px;
    width: 100%;
  }

  .is-typing .l-header-search-input i {
    display: inline-block;
  }

  .l-header-search-input input {
    padding: 0 0 0 30px;
    font-size: 2.6rem;
  }

    .l-header-search-input input.is-iOS::-webkit-input-placeholder {
      position: relative;
      top: -4px;
    }

  .is-typing .l-header-search-input input {
    padding: 0 0 0 30px;
    font-size: 2.6rem;
  }

  .l-header-search-suggestions {
    margin-top: 30px;
  }

  .l-header-search-results {
    margin-top: 30px;
  }

    .l-header-search-results li + li {
      margin-top: 30px;
    }
}

@media print {
  .l-header-search {
    display: none;
  }
}

/* 検索結果一覧ページ用ヘッダー
-----------------------*/
.l-header-search-result-input {
  overflow: hidden;
  position: relative;
}

  .l-header-search-result-input::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    border-left: 3px solid #fff;
    background: #005B96;
    width: calc(100% - 100px);
    height: 81px;
  }

  .l-header-search-result-input.is-fadein {
    opacity: 1;
    transition: opacity 0.6s ease-in;
  }

  .l-header-search-result-input.is-move::before {
    left: 100%;
    transition: left 0.8s ease-in;
  }

  .l-header-search-result-input form {
    transition: all 0.8s;
  }

  .l-header-search-result-input input {
    display: inline-block;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: none;
    height: 1.5em;
    color: #fff;
    font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
    font-size: 4.7rem;
    line-height: 1.4;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    transition: all 0.2s;
  }

    .l-header-search-result-input input::placeholder {
      color: #fff;
    }

    .l-header-search-result-input input::-ms-clear {
      display: none;
    }

    .l-header-search-result-input input::-ms-input-placeholder {
      color: #fff;
    }

    .l-header-search-result-input input.is-iOS::-webkit-input-placeholder {
      position: relative;
      top: -8px;
    }

.l-header-search-results-list {
  border-top: 2px solid #eee;
  width: 100%;
  padding: 25px 0;
  line-height: 2.0;
}

  .l-header-search-results-list:last-of-type {
    border-bottom: 2px solid #eee;
  }

  .l-header-search-results-list > dt {
    font-size: 2rem;
  }

  .l-header-search-results-list > dd {
    margin-top: 15px;
  }

/* megaヘッダー
-----------------------*/
.l-mega-header {
  display: none;
}

@keyframes fadeIn {
  0% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@media screen and (min-width: 1200px) {
  .is-l-mega-header-opened {
    background-color: #fff;
    padding-bottom: 20px;
    -webkit-transition: .2s ease background, .2s ease box-shadow;
    -o-transition: .2s ease background, .2s ease box-shadow;
    transition: .2s ease background, .2s ease box-shadow;
  }

    .is-l-mega-header-opened a,
    .is-l-mega-header-opened .l-header-inner {
      color: inherit;
    }

    .is-l-mega-header-opened .l-header-gnav a {
      display: inline-block;
    }

      .is-l-mega-header-opened .l-header-gnav a:hover {
        text-decoration: none;
      }

      .is-l-mega-header-opened .l-header-gnav a.is-active {
        color: #02749a;
        position: relative;
        padding: 15px 5px;
        margin: -15px -5px;
      }

        .is-l-mega-header-opened .l-header-gnav a.is-active:before {
          content: "";
          display: block;
          height: 2px;
          width: 100%;
          position: absolute;
          left: 0;
          bottom: 0;
          background-color: #02749a;
        }

    .is-l-mega-header-opened .l-mega-header {
      display: block;
    }

  .l-mega-header {
    position: fixed;
    left: 0;
    width: 100%;
    top: 148px;
    z-index: 99;
    box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.32);
    -webkit-transition: .2s ease background, .2s ease box-shadow;
    -o-transition: .2s ease background, .2s ease box-shadow;
    transition: .2s ease background, .2s ease box-shadow;
  }

  .l-header.is-scroll.is-l-mega-header-opened .l-mega-header {
    top: 66px;
  }

  .l-mega-header img {
    max-width: 100%;
    height: auto;
  }

  .l-mega-header-item {
    display: none;
    min-height: calc(459 / 2000 * 100vw);
  }

    .l-mega-header-item.is-active {
      display: flex;
      animation: fadeIn 0.2s ease forwards;
    }

  .l-mega-header-summary {
    width: 100%;
    max-width: 350px;
    min-height: calc(459 / 2000 * 100vw);
    color: #fff;
    padding: 40px;
    background: url(/assets/NDIL/images/common/logo-n.svg) no-repeat bottom right #005B96;
  }

  .l-mega-header-summary-nav {
    margin-right: -40px;
  }

  .l-mega-header-summary-nav-item {
    font-size: 1.4rem;
    line-height: 2.0;
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 10px 40px 10px 10px;
    position: relative;
    cursor: pointer;
  }

    .l-mega-header-summary-nav-item.is-active {
      color: #005B96;
      background-color: #efefef;
    }

    .l-mega-header-summary-nav-item:before,
    .l-mega-header-summary-nav-item:after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      content: "";
      vertical-align: middle;
    }

    .l-mega-header-summary-nav-item:before {
      right: 22px;
      width: 8px;
      height: 8px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(45deg);
    }

    .l-mega-header-summary-nav-item.is-active:before {
      border-top: 2px solid #23527c;
      border-right: 2px solid #23527c;
    }

  .l-mega-header-content {
    width: 100%;
    min-height: calc(483 / 2000 * 100vw);
    display: none;
  }

    .l-mega-header-content.is-active {
      display: flex;
    }

  .l-mega-header-main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: rgba(243, 243, 243, 0.95);
    width: 58.18%;
    padding: 40px;
  }

    .l-mega-header-main:only-child {
      width: 100%;
    }

  .l-mega-header-main-head {
    display: flex;
    flex-wrap: wrap;
    max-width: calc(828 / 2000 * 100vw);
  }

  .l-mega-header-main-head-item {
    width: calc(((100% - 100px) / 2) - 0.1px);
  }

    .l-mega-header-main-head-item:nth-of-type(2n) {
      margin-left: calc(100 / 2000 * 100vw);
    }

    .l-mega-header-main-head-item:nth-of-type(n+3) {
      margin-top: calc(50 / 2000 * 100vw);
    }

  .l-mega-header-main-head-image {
    margin-bottom: 14px;
    padding-top: calc(118 / 314 * 100%);
    position: relative;
    overflow: hidden;
  }

    .l-mega-header-main-head-image img {
      position: absolute;
      width: 100%;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
    }

  .l-mega-header-main-head-linklist {
    width: calc(((100% - 20px) / 2) - 0.1px);
    flex: 1 0 auto;
  }

    .l-mega-header-main-head-linklist:nth-of-type(2n) {
      margin-left: 20px;
    }

  .l-mega-header-main-head-linklist-item {
    font-size: 15px;
    margin-bottom: 16px;
  }

    .l-mega-header-main-head-linklist-item:last-of-type {
      margin-bottom: 0;
    }

  .l-mega-header-main-foot a,
  .l-mega-header-main-foot a:hover {
    color: #005B96;
    /* font-weight: bold;*/
  }

  .l-mega-header-main-foot a {
    line-height: 2.0;
  }

  .l-mega-header-sub {
    width: 41.82%;
  }

  .l-mega-header-sub-image-content {
    background-color: rgba(243, 243, 243, 0.95);
    display: none;
    width: 100%;
    height: 100%;
    padding: 40px;
  }

    .l-mega-header-sub-image-content.is-active {
      display: block;
    }

  .l-mega-header-sub-image {
    margin-bottom: 15px;
  }

  .l-mega-header-sub-image-title {
    font-size: 12px;
    line-height: calc(23/12);
    font-weight: bold;
    margin-bottom: 10px;
  }

  .l-mega-header-sub-image-text {
    line-height: 1.75;
  }

  .l-mega-header-sub-ir {
    width: 100%;
    height: 100%;
    padding: 40px;
  }

    .l-mega-header-sub-ir iframe {
      width: 100%;
      height: 180px;
      padding: 0;
      border: 0;
      text-align: center;
    }

  .l-mega-header-sub-ir-news-date {
    color: #949494;
  }

  .l-mega-header-sub-ir-news-title a {
    color: #fff;
  }
}

@media screen and (min-width: 2001px) {
  .l-mega-header-item {
    min-height: calc(459 / 2000 * 100vw);
  }

  .l-mega-header-summary {
    min-height: 459px;
  }

  .l-mega-header-content {
    min-height: 483px;
  }

  .l-mega-header-main-head {
    max-width: 828px;
  }

  .l-mega-header-main-head-item:nth-of-type(2n) {
    margin-left: 100px;
  }

  .l-mega-header-main-head-item:nth-of-type(n+3) {
    margin-top: 50px;
  }
}

@media print {
  .l-mega-header {
    display: none;
  }
}

/* フッター
-----------------------*/
.l-footer {
  position: relative;
  margin-top: auto;
  min-height: 0%;
  color: #fff;
}

  .l-footer a,
  .l-footer a:hover {
    color: inherit;
  }

.l-footer-pagetop {
  position: fixed;
  z-index: 10;
  right: 0;
  bottom: 0;
  background: #2E404D;
  width: 70px;
  height: 70px;
  color: #fff;
  transition: right 0.4s, background 0.2s;
}

  .l-footer-pagetop:hover {
    background: #666;
  }

  .l-footer-pagetop.is-hide {
    right: -70px;
  }

  .l-footer-pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
  }

    .l-footer-pagetop a:hover {
      text-decoration: none;
    }

  .l-footer-pagetop i {
    display: block;
    padding-top: 10px;
    width: 100%;
    font-size: 3.2rem;
  }

@media print {
  .l-footer-pagetop {
    display: none;
  }
}

.l-footer-upper {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 32px 48px;
  background: #1d1d1f;
  color: #fff;
}

.l-footer-upper-pagetop {
  text-align: center;
}

  .l-footer-upper-pagetop a {
    display: inline-block;
  }

    .l-footer-upper-pagetop a:hover {
      text-decoration: none;
    }

    .l-footer-upper-pagetop a i {
      display: block;
      font-size: 4.8rem;
      text-decoration: none;
    }

    .l-footer-upper-pagetop a:hover span {
      text-decoration: underline;
    }

.l-footer-upper-share {
  display: flex;
  position: absolute;
  top: 50%;
  right: 40px;
  margin: auto;
  transform: translateY(-50%);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .l-footer-upper {
    padding: 20px;
  }

  .l-footer-upper-share {
    display: block;
    right: 20px;
    text-align: right;
  }
}

@media print {
  .l-footer-upper {
    display: none;
  }
}

.l-footer-lower {
  padding: 40px;
  /* background: url(/assets/NTTDATAJapan/images/logo-n.svg) no-repeat bottom right #005B96; */
  /*background: url(/assets/NDIL/images/logo-n.svg) no-repeat bottom right #5876aa;*/
  background-size: auto 100%;
}

.l-footer-lower-logo {
  width: 176px;
  font-size: 0;
}

.l-footer-lower-nav {
  margin-top: 40px;
}

  .l-footer-lower-nav ul {
    display: flex;
  }

    .l-footer-lower-nav ul li + li {
       margin-left: 70px; 
    }

.l-footer-lower-subnav {
  display: flex;
  align-items: center;
  margin-top: 70px; 
}

.l-footer-lower-subnav-sns {
  display: flex;
  align-items: center;
}

  .l-footer-lower-subnav-sns li + li {
    margin-left: 50px;
  }

  .l-footer-lower-subnav-sns li i {
    font-size: 2.4rem;
  }

.l-footer-lower-subnav-site {
  display: flex;
  margin-left: 60px;
}

  .l-footer-lower-subnav-site li {
    font-size: 1.2rem;
  }

    .l-footer-lower-subnav-site li + li {
      margin-left: 20px;
    }

.l-footer-lower-copyright {
  margin-top: 30px;
  font-size: 1.2rem;
}

@media screen and (max-width: 991px) {
  .l-footer-lower {
    padding: 30px 20px;
    background-size: 100% auto;
  }

  .l-footer-lower-logo {
    width: 130px;
  }

  .l-footer-lower-nav {
    margin-top: 50px;
  }

    .l-footer-lower-nav ul {
      display: block;
    }

      .l-footer-lower-nav ul li + li {
        margin-left: 0;
        margin-top: 30px;
      }

  .l-footer-lower-subnav {
    display: block;
     margin-top: 60px; 
  }

  .l-footer-lower-subnav-sns li i {
    font-size: 2.4rem;
  }

  .l-footer-lower-subnav-site {
    display: block;
    margin-left: 0;
    margin-top: 30px;
  }

    .l-footer-lower-subnav-site li + li {
      margin-left: 0;
      margin-top: 25px;
    }

  .l-footer-lower-copyright {
    margin-top: 60px;
  }
}

@media print {
  .l-footer-lower {
    padding: 20px 40px;
  }

  .l-footer-lower-logo,
  .l-footer-lower-nav,
  .l-footer-lower-subnav {
    display: none;
  }

  .l-footer-lower-copyright {
    margin-top: 0;
  }
}

.l-footer-lower {
  background-color: #005B96;
  padding: 48px;
  text-align: left;
}

@media (min-width: 768px) {
  .l-footer-lower {
    background: url(/assets/NDIL/images/common/logo-n.svg) no-repeat bottom right #005B96;
    text-align: left;
  }
}

/* メイン
-----------------------*/
.l-main {
  min-height: 0%;
}

  /* 404 エラーページ
-----------------------*/
  .l-main.is-error {
    background: #f3f3f3;
    background-size: 375px;
    min-height: calc(100vh);
  }

    .l-main.is-error .c-block-content-header-wrapper {
      padding: 52px 48px;
    }

    .l-main.is-error .c-block-content-header-head {
      margin-left: -12px;
      font-size: 4.7rem;
      letter-spacing: 1px;
    }

    .l-main.is-error .c-block {
      padding: 20px 48px;
    }

    .l-main.is-error .c-block-error-text {
      line-height: 2.0;
      font-size: 3rem;
    }

@media (max-width: 767px) {
  .l-main.is-error {
    background-size: 100%;
  }

    .l-main.is-error .c-block-content-header-wrapper {
      padding: 120px 20px 20px;
    }

    .l-main.is-error .c-block-content-header-head {
      margin-left: -7px;
      font-size: 9rem;
    }

    .l-main.is-error .c-block {
      padding: 20px;
    }

    .l-main.is-error .c-block-error-text {
      line-height: 1.4;
      font-size: 2.6rem;
    }
}


/*========================================
Component（接頭辞 c-）
==========================================*/

/* ブロック
-----------------------*/
/* 汎用コンテンツブロック */
.c-block {
  padding: 40px 80px;
}

.c-max-w-block .c-block > *,
.c-max-w-block.c-block > * { /* ブロック内要素の最大幅固定 */
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.c-fs-increase .c-block,
.c-fs-increase.c-block { /* 記事ページなどのブロック内要素のフォントサイズを拡大 */
  font-size: 1.6rem;
}

  .c-fs-increase.c-block .c-btn-tag,
  .c-fs-increase.c-block .c-list-headline dt,
  .c-fs-increase.c-block .c-list-headline dd {
    font-size: 1.6rem !important;
  }

.c-block-bg {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-block-wrapper {
  position: relative;
  left: 0;
  bottom: 0;
  z-index: 2;
}

.c-block-head {
  margin-bottom: 40px;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 3rem;
  text-align: center;
  font-weight: 700;
}
.c-block-head h2{
  font-weight: 700;
}
  .c-block-head-sub {
  display: block;
  margin-top: 20px;
  font-size: 2rem;
  line-height: 1.3;
}

.c-block-summary {
  margin-bottom: 40px;
  text-align: center;
  line-height: 2;
}

.c-block-sub {
  margin-top: 50px;
}

@media screen and (max-width: 991px) {
  .c-block {
    padding: 40px;
  }
}

@media screen and (max-width: 767px) {
  .c-block {
    padding: 20px;
  }

  .c-block-head {
    margin-bottom: 40px;
    font-size: 2.6rem;
  }

  .c-block-head-sub {
    font-size: 1.8rem;
  }
}

.c-block.c-bg-light-grey h2 {  
  color: #000;
}
.c-block.c-bg-light-grey h3 {  
  color: #000;
}
.c-block.c-bg-light-grey h4 {  
  color: #000;
}
.c-block.c-bg-light-grey p {  
  color: #000;
}

.c-block.c-bg-light-grey ul {  
  color: #000;
}
.c-block.c-bg-light-grey li {  
  color: #000;
}
/*.u-lh-20.u-mt-20 {
  color: #000;
}
*/

/* 汎用追加ブロック */
.c-block-additional-head {
  margin-bottom: 40px;
  font-size: 2rem;
}

/* トップページ メインビジュアル */
.c-block-mainv {
  height: 100vh;
}

  .c-block-mainv .bx-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .c-block-mainv .bx-viewport {
    height: 100% !important;
  }

.c-block-mainv-body {
  height: 100%;
}

.c-block-mainv-head {
  overflow: hidden;
  position: absolute;
  z-index: -1000;
  margin: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  clip: rect(1px,1px,1px,1px);
}

.c-block-mainv-item {
  position: relative;
  float: left;
  height: 100%;
  overflow: hidden;
}

.c-block-mainv-item-bg {
  height: 100%;
  background-color: #f3f3f3;
}

  .c-block-mainv-item-bg img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: auto;
    height: 100%;
  }

.c-block-mainv-item-inner {
  position: absolute;
  z-index: 2;
  left: 40px;
  right: 40px;
  bottom: 40px;
  color: #fff;
}

.c-block-mainv-item-head {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 4.8rem;
  line-height: 1;
}

.c-block-mainv-item-head-sub {
  display: block;
  font-size: 1.6rem;
  margin-top: 15px;
}

.c-block-mainv-item-link {
  display: flex;
  margin-top: 50px;
}

.c-block-mainv-item-inner a,
.c-block-mainv-item-inner a:hover {
  color: #fff;
  text-decoration: none;
}

.c-block-mainv .bx-controls {
  position: absolute;
  right: 40px;
  bottom: 70px;
  color: #fff;
  font-size: 2.6rem;
  text-align: right;
}

.c-block-mainv .bx-pager::after {
  content: '　/ ' counter(bx-pager-item-num);
}

body {
  counter-reset: bx-pager-item-num 0;
}

.c-block-mainv .bx-pager-item {
  counter-increment: bx-pager-item-num;
  position: absolute;
}

  .c-block-mainv .bx-pager-item a {
    display: none;
    padding-left: 4px;
    color: #fff;
  }

    .c-block-mainv .bx-pager-item a.active {
      display: block
    }

@media screen and (max-width: 767px) {
  .c-block-mainv-item-inner {
    left: 20px;
    right: 20px;
    bottom: 72px;
  }

  .c-block-mainv-item-head {
    font-size: 3.0rem;
    line-height: 1.3;
  }

  .c-block-mainv-item-link {
    margin-top: 30px;
  }

    .c-block-mainv-item-link .c-btn-detail {
      width: 100%;
    }

  .c-block-mainv .bx-controls {
    right: 20px;
    bottom: 40px;
    font-size: 1.9rem;
  }

  .c-block-mainv .bx-pager-item a {
    padding-left: 3px;
  }
}

@media print {
  .c-block-mainv-body {
    width: 100% !important;
    left: 0 !important;
    height: 100% !important;
  }

  .c-block-mainv-item {
    width: 100% !important;
  }

    .c-block-mainv-item.bx-clone {
      display: none;
    }

  .c-block-mainv-item-bg {
    background-attachment: scroll !important;
  }
  /*
  .c-block-mainv-body {
    width: 100% !important;
    left: 0 !important;
  }
  .c-block-mainv-item.bx-clone {
    display: none !important;
  }
  .c-block-mainv-item {
    width: 100% !important;
  }
*/
}

.c-btn-mainv-prev,
.c-btn-mainv-next {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 30px;
  height: 20px;
  transform: translateY(-50%);
}

.c-btn-mainv-prev {
  left: 40px;
}

.c-btn-mainv-next {
  right: 40px;
}

  .c-btn-mainv-prev a,
  .c-btn-mainv-next a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
  }

  .c-btn-mainv-prev .bx-prev::before,
  .c-btn-mainv-next .bx-next::before {
    display: block;
    font-size: 6.6rem;
    color: #fff;
  }

.c-btn-mainv-prev .bx-prev:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 14px;
  height: 14px;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  transform-origin: 12px 5px;
  transform: rotate(-45deg);
}

.c-btn-mainv-next .bx-next:before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform-origin: 2px 5px;
  transform: rotate(45deg);
}

.c-btn-mainv-prev .bx-prev:after {
  content: '';
  position: absolute;
  left: 1px;
  top: 50%;
  background: #fff;
  width: 100%;
  height: 2px;
  transform: translate(0, -50%);
}

.c-btn-mainv-next .bx-next:after {
  content: '';
  position: absolute;
  right: 1px;
  top: 50%;
  background: #fff;
  width: 100%;
  height: 2px;
  transform: translate(0, -50%);
}

@media (max-width: 767px) {
  .c-btn-mainv-prev,
  .c-btn-mainv-next {
    top: 35%;
    transform: translateY(0);
  }

  .c-btn-mainv-prev {
    left: 20px;
  }

  .c-btn-mainv-next {
    right: 20px;
  }
}

/* スクロールボタン */
.c-btn-mainv-scroll {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 40px;
  z-index: 2;
  left: 50%;
  max-width: 50px;
  min-height: 60px;
  color: #fff;
  font-weight: bold;
  transform: translateX(-50%);
  cursor: pointer;
  animation-name: dropiconanimation;
  animation-duration: 2.5s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}

  .c-btn-mainv-scroll::before {
    content: "";
    margin-bottom: 13px;
    display: inline-block;
    width: 31px;
    height: 17px;
    background-image: url(/assets/NDIL/images/ico-scroll-down.png);
    background-size: cover;
  }

@keyframes dropiconanimation {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@media (max-width: 767px) {
  .c-btn-mainv-scroll {
    bottom: 10px;
  }
}

/* トップページ お知らせ */
.c-block-toppage-notice {
  padding-bottom: 0;
  line-height: 1.8;
}

.c-block-toppage-notice-item {
  display: block;
  border: 1px solid #d6d6d6;
  padding: 25px 30px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-block-toppage-notice {
    padding-bottom: 20px;
    line-height: 1.8;
  }

  .c-block-toppage-notice-item {
    padding: 20px;
    text-align: left;
  }
}

/* 汎用ニュースグリッド */
.c-block-news-grid-head {
  font-size: 1.8rem;
  font-weight: normal;
}

.c-block-news-grid-body {
  display: flex;
  margin-top: 20px;
}

.c-block-news-grid-item {
  border: 1px solid #d6d6d6;
  width: calc((100% - 60px) / 3);
  min-height: 235px;
}

  .c-block-news-grid-item + .c-block-news-grid-item {
    margin-left: 30px;
  }

  .c-block-news-grid-item a {
    display: block;
    padding: 25px 30px;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
    transition: background 0.2s;
  }

    .c-block-news-grid-item a:hover {
      background: #F3F3F3;
    }

.c-block-news-grid-item-category {
  font-size: 1.2rem;
  font-weight: bold;
}

.c-block-news-grid-item-date {
  margin-top: 10px;
  font-size: 1.2rem;
  color: #949494;
}

.c-block-news-grid-item-head {
  margin-top: 30px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .c-block-news-grid-head {
    font-size: 1.8rem;
  }

  .c-block-news-grid-body {
    display: block;
    margin-top: 20px;
  }

  .c-block-news-grid-item {
    width: auto;
    min-height: 0;
  }

    .c-block-news-grid-item + .c-block-news-grid-item {
      margin-left: 0;
      margin-top: 20px;
    }

    .c-block-news-grid-item a {
      padding: 20px;
    }

  .c-block-news-grid-item-date {
    margin-top: 10px;
  }

  .c-block-news-grid-item-head {
    margin-top: 20px;
    line-height: 1.8;
  }
}

/* トップページ ピックアップ */
.c-block-toppage-pickup {
  padding-bottom: 60px;
}

.c-block-toppage-pickup-head {
  font-size: 1.8rem;
  font-weight: normal;
}

.c-block-toppage-pickup-body {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}

.c-block-toppage-pickup-item {
  margin-left: 30px;
  width: calc((100% - 60px) / 3 - 0.1px);
}

  .c-block-toppage-pickup-item:nth-child(n+4) {
    margin-top: 60px;
  }

  .c-block-toppage-pickup-item:nth-child(3n-2) {
    margin-left: 0;
  }

  .c-block-toppage-pickup-item a {
    display: block;
    color: inherit;
  }

    .c-block-toppage-pickup-item a:hover {
      text-decoration: none;
    }

.c-block-toppage-pickup-item-image img {
  width: 100%;
}

.c-block-toppage-pickup-item-category {
  margin-top: 20px;
  font-size: 1.2rem;
  font-weight: bold;
}

.c-block-toppage-pickup-item-head {
  margin-top: 20px;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .c-block-toppage-pickup-head {
    font-size: 1.8rem;
  }

  .c-block-toppage-pickup-body {
    display: flex;
    margin-top: 20px;
  }

  .c-block-toppage-pickup-item {
    margin-left: 0;
    width: auto;
  }

    .c-block-toppage-pickup-item + .c-block-toppage-pickup-item {
      margin-top: 40px;
    }
}

/* 汎用バナーブロック */
.c-block-banner {
  display: flex;
  position: relative;
}

.c-block-banner-bg {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 613px;
}

.c-block-banner-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
  padding: 40px 80px;
  height: 613px;
  color: #fff;
}

.c-block-banner-bg[data-imgback-bg] + .c-block-banner-inner {
  height: 500px;
}

.c-block-banner-head {
  font-size: 1.8rem;
  font-weight: normal;
}

  .c-block-banner-head.is-lg {
    font-size: 4.6rem;
    line-height: 1;
    font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
    text-align: left;
  }

.c-block-banner-summary {
  margin-top: 20px;
  width: 680px;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 2.8rem;
  line-height: 1.8;
}

  .c-block-banner-summary.is-sm {
    font-family: inherit;
    font-size: 1.4rem;
  }

.c-block-banner-link {
  display: flex;
  margin-top: 20px;
}

  .c-block-banner-link a:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }

@media screen and (max-width: 991px) {
  .c-block-banner-inner {
    padding: 40px;
  }
}

@media screen and (max-width: 767px) {
  .c-block-banner {
    height: 413px;
  }

  .c-block-banner-bg {
    height: 413px;
  }

    .c-block-banner-bg[data-imgback-bg] {
      height: 413px;
    }

  .c-block-banner-inner {
    padding: 20px;
    height: 413px;
  }

  .c-block-banner-bg[data-imgback-bg] + .c-block-banner-inner {
    height: 413px;
  }

  .c-block-banner-head.is-lg {
    font-size: 3.2rem;
  }

  .c-block-banner-summary {
    margin-top: 20px;
    width: auto;
    font-size: 2.4rem;
    line-height: 1.5;
  }

    .c-block-banner-summary.is-sm {
      font-size: 1.4rem;
    }

  .c-block-banner-link {
    margin-top: 30px;
  }
}

/* トップページ サービス */
.c-block-toppage-services-head {
  font-size: 1.8rem;
  font-weight: normal;
}

.c-block-toppage-services-body {
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}

.c-block-toppage-services-item {
  position: relative;
  width: calc((100% - 160px) / 3 - 0.1px);
  margin-top: 60px;
  transition: left 1.5s, right 1.5s;
}

  .c-block-toppage-services-item:last-child:nth-child(3n-1) {
    margin-left: 80px;
    margin-right: auto;
  }

  .c-block-toppage-services-item:nth-child(3n-2),
  .c-block-toppage-services-item:nth-child(3n-1):nth-child(even) {
    opacity: 1;
    left: 0;
  }

  .c-block-toppage-services-item:nth-child(3n-1):nth-child(odd),
  .c-block-toppage-services-item:nth-child(3n) {
    opacity: 1;
    right: 0;
  }

.is-hide .c-block-toppage-services-item:nth-child(3n-2),
.is-hide .c-block-toppage-services-item:nth-child(3n-1):nth-child(even) {
  opacity: 0;
  left: 800px;
}

.is-hide .c-block-toppage-services-item:nth-child(3n-1):nth-child(odd),
.is-hide .c-block-toppage-services-item:nth-child(3n) {
  opacity: 0;
  right: 800px;
}

.c-block-toppage-services-item-head {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 2.1rem;
  font-weight: normal;
}

.c-block-toppage-services-item-summary {
  margin-top: 30px;
  line-height: 2;
}

.c-block-toppage-services-item-link {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

  .c-block-toppage-services-item-link a {
    color: inherit;
  }

@media screen and (max-width: 991px) {
  .c-block-toppage-services-item {
    width: calc((100% - 80px) / 3 - 0.1px);
  }
}

@media screen and (max-width: 767px) {
  .c-block-toppage-services {
    overflow: hidden;
    padding: 40px 0;
  }

  .c-block-toppage-services-head {
    position: relative;
    text-align: center;
  }

    .c-block-toppage-services-head i {
      display: inline-block;
      position: absolute;
      top: -5px;
      padding: 0 10px;
      font-size: 3rem;
      cursor: pointer;
    }

      .c-block-toppage-services-head i:first-child {
        left: 10px;
      }

      .c-block-toppage-services-head i:last-child {
        right: 10px;
      }

  .c-block-toppage-services-body {
    display: block;
    position: relative;
    left: -100vw;
    width: 10000px;
    transition: left 0.5s, right 0.5s;
  }

  .c-block-toppage-services-item {
    float: left;
    margin-top: 0;
    margin-left: 0;
    padding: 0 20px;
    width: 100vw;
    transition: none;
  }

    .c-block-toppage-services-item:last-child:nth-child(3n-1) {
      margin-left: 0;
      margin-right: 0;
    }

    .c-block-toppage-services-item:nth-child(3n-2),
    .c-block-toppage-services-item:nth-child(3n-1):nth-child(even) {
      opacity: 1;
      left: 0;
    }

    .c-block-toppage-services-item:nth-child(3n-1):nth-child(odd),
    .c-block-toppage-services-item:nth-child(3n) {
      opacity: 1;
      right: 0;
    }

  .is-hide .c-block-toppage-services-item:nth-child(3n-2),
  .is-hide .c-block-toppage-services-item:nth-child(3n-1):nth-child(even) {
    opacity: 1;
    left: 0;
  }

  .is-hide .c-block-toppage-services-item:nth-child(3n-1):nth-child(odd),
  .is-hide .c-block-toppage-services-item:nth-child(3n) {
    opacity: 1;
    right: 0;
  }

  .c-block-toppage-services-item + .c-block-toppage-services-item:nth-child(3n-1),
  .c-block-toppage-services-item + .c-block-toppage-services-item:nth-child(3n) {
    margin-left: 0;
  }

  .c-block-toppage-services-item-head {
    margin-top: 40px;
    text-align: center;
  }

  .c-block-toppage-services-item-summary {
    margin-top: 30px;
    line-height: 2;
  }

  .c-block-toppage-services-item-link {
    margin-top: 10px;
  }
}

@media print {
  .is-hide .c-block-toppage-services-item:nth-child(3n-2),
  .is-hide .c-block-toppage-services-item:nth-child(3n-1):nth-child(even) {
    opacity: 1;
    left: 0;
  }

  .is-hide .c-block-toppage-services-item:nth-child(3n-1):nth-child(odd),
  .is-hide .c-block-toppage-services-item:nth-child(3n) {
    opacity: 1;
    right: 0;
  }
}

@media print and (-ms-high-contrast: none) {
  .c-block-toppage-services-body {
    overflow: visible;
  }

  .c-block-toppage-services-item > div:first-child {
    /*    height: auto !important;*/
  }
}

/* 下層コンテンツヘッダー */
.c-block-content-header {
  position: relative;
  background-color: #f3f3f3;
  color: #fff;
}

  .c-block-content-header.is-full {
    height: 100vh;
  }

  .c-block-content-header a {
    color: inherit;
  }

.c-block-content-header-bg {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-block-content-header-bg-mv {
  display: block;
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.c-block-content-header-wrapper {
  position: relative;
  left: 0;
  bottom: 0;
  z-index: 2;
  padding: 180px 40px 40px;
}

.is-full .c-block-content-header-wrapper {
  position: absolute;
  width: 100%;
}

.is-icon .c-block-content-header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.c-block-content-header-breadcrumb {
  display: flex;
  margin-bottom: 20px;
  font-size: 1.2rem;
}

  .c-block-content-header-breadcrumb li + li::before {
    content: '/';
    display: inline-block;
    margin: 0 1em;
  }

.c-block-content-header-head {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-weight: normal;
  font-size: 3rem;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .c-block-content-header-head {
    font-size: 4.8rem;
  }
}



.c-block-content-header-head-sub {
  display: block;
  margin-top: 10px;
  font-size: 2.4rem;
}

.c-block-content-header-summary {
  margin-top: 10px;
  line-height: 1.3;
}

.c-block-content-header-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 30px;
}

.c-block-content-header-bottom-left {
}

.c-block-content-header-bottom-right {
  margin-left: auto;
}

.c-block-content-header-digital-icons {
  display: flex;
}

  .c-block-content-header-digital-icons li {
    margin-left: 10px;
    width: 32px;
    height: 32px;
  }

    .c-block-content-header-digital-icons li:first-child {
      margin-left: 0;
    }

    .c-block-content-header-digital-icons li a {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border-radius: 50%;
      width: 32px;
      height: 32px;
    }

      .c-block-content-header-digital-icons li a img {
        width: 22px;
      }

.c-block-content-header-category {
  margin-top: 40px;
  line-height: 1.3;
}

.c-block-content-header-link {
  display: flex;
  padding-top: 20px;
}

  .c-block-content-header-link a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 2px #fff;
    padding: 10px;
    min-width: 236px;
    min-height: 60px;
    transition: background-color 0.2s;
  }

.c-block-content-header.c-color-normal .c-block-content-header-link a {
  border: solid 2px #333;
}

.c-block-content-header-link a:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

.c-block-content-header-icon img {
  max-width: 230px;
}

.c-block-content-header-scroll-button {
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: 56px;
  height: 56px;
  margin-left: -28px;
  animation: contentHeaderScrollButton linear 1000ms alternate infinite
}

@keyframes contentHeaderScrollButton {
  from {
    opacity: 1
  }

  to {
    opacity: 0.5
  }
}

.c-block-content-header-scroll-button img {
  width: 100%;
  height: auto
}

@media screen and (max-width: 767px) {
  .c-block-content-header-bg-mv {
    display: none;
  }

  .c-block-content-header-wrapper {
    padding: 120px 20px 20px;
  }

  .is-full .c-block-content-header-wrapper {
    padding: 120px 20px 20px;
  }

  .is-icon .c-block-content-header-wrapper {
    display: block;
    justify-content: space-between;
    align-items: flex-end;
  }

  .c-block-content-header-head {
    /*font-size: 3rem;*/
    /*line-height: 1.4;*/
  }

  .c-block-content-header-summary {
    margin-top: 10px;
  }

  .c-block-content-header-bottom {
    display: block;
  }

  .c-block-content-header-digital-icons {
    display: flex;
    padding-bottom: 20px;
  }

  .c-block-content-header-link {
    padding-top: 0;
  }

    .c-block-content-header-link a {
      min-width: 160px;
      min-height: 48px;
    }

  .c-block-content-header-bottom-right {
    margin-left: 0;
  }

  .c-block-content-header-icon {
    margin-top: 20px;
  }

    .c-block-content-header-icon img {
      max-width: 125px;
    }

  .c-block-content-header-scroll-button {
    bottom: 7px;
    width: 40px;
    height: 40px;
    margin-left: -20px
  }
}

@media print {
  .c-block-content-header-head {
    font-size: 3rem;
  }

  .c-block-content-header-head-sub {
    font-size: 2rem;
  }
}

/* IR Listing Page Grid */
.c-block-ir-grid {
  display: flex;
  flex-wrap: wrap;
  background: #fff;
}

.c-block-ir-grid-item {
  position: relative;
  width: calc((100% - 60px) / 3 - 0.1px);
}

  .c-block-ir-grid-item + .c-block-ir-grid-item {
    margin-left: 30px;
  }

  .c-block-ir-grid-item:nth-child(n+4) {
    margin-top: 30px;
  }

  .c-block-ir-grid-item:nth-child(3n-2) {
    margin-left: 0;
  }

.c-block-ir-grid-bg {
  position: relative;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
}

  .c-block-ir-grid-bg img {
    width: 100%;
  }

.c-block-ir-grid-inner {
  position: absolute;
  z-index: 2;
  bottom: 30px;
  left: 30px;
  right: 30px;
  color: #fff;
}

.c-block-ir-grid-item-head {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 2.2rem;
  font-weight: normal;
}

.c-block-ir-grid-item-summary {
  margin-top: 10px;
  min-height: 80px;
  font-size: 1.6rem;
  line-height: 1.3;
}

@media screen and (max-width: 991px) {
  .c-block-ir-grid-inner {
    bottom: 20px;
    left: 20px;
    right: 20px;
  }

  .c-block-ir-grid-item-summary {
    min-height: 0;
  }
}

@media screen and (max-width: 767px) {
  .c-block-ir-grid {
    display: block;
    padding: 40px 20px;
  }

  .c-block-ir-grid-item {
    width: auto;
  }

    .c-block-ir-grid-item + .c-block-ir-grid-item {
      margin-left: 0;
    }

    .c-block-ir-grid-item:nth-child(n+2) {
      margin-top: 20px;
    }

  .c-block-ir-grid-inner {
    left: 20px;
    right: 20px;
  }

  .c-block-ir-grid-item-summary {
    min-height: 0;
  }
}

/* カルーセルグリッド（Our Current Projectsなど） */
.c-block-carousel-grid-item {
  position: relative;
  padding: 0 15px 0;
}

.c-block-carousel-grid-item-inner {
  display: block;
  background: #fff;
  height: 100%;
}

.c-block-carousel-grid-item > a:hover {
  text-decoration: none;
}

.c-block-carousel-grid-item-text {
  padding: 20px 20px 60px;
  color: #333;
}

.c-block-carousel-grid-item-head {
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c-block-carousel-grid-item-text {
    padding: 20px 20px 60px;
    color: #333;
  }

  .c-block-carousel-grid-item-head {
    margin-bottom: 20px;
    font-size: 1.2rem;
    font-weight: bold;
  }
}

/* サービス3rdページピックアップ用
-----------------------*/
.c-block-pickup-carousel-grid-item {
  padding: 0 30px;
}

  .c-block-pickup-carousel-grid-item > a {
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #fff;
  }

    .c-block-pickup-carousel-grid-item > a:hover {
      text-decoration: none;
    }

.c-block-pickup-carousel-grid-item-image {
  width: 188px;
  min-width: 188px;
  min-height: 188px;
  position: relative;
}

  .c-block-pickup-carousel-grid-item-image > img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

.c-block-pickup-carousel-grid-item-text {
  width: calc(100% - 118px);
  padding: 20px;
  color: #333;
}

.c-block-pickup-carousel-grid-item-head {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 15px;
}

.c-block-pickup-carousel-grid-item-text > div {
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .c-block-pickup-carousel-grid {
    padding-left: 20px;
    padding-right: 20px;
  }

  .c-block-pickup-carousel-grid-item {
    padding: 0 15px;
  }

  .c-block-pickup-carousel-grid-item-image {
    width: 100%;
    min-width: auto;
    min-height: auto;
    height: 200px;
  }

  .c-block-pickup-carousel-grid-item-text {
    width: 100%;
    padding: 20px 20px 30px 20px;
  }

  .c-block-pickup-carousel-grid-item-head {
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 15px;
  }
}

/* 画像onタイトルグリッド */
.c-block-image-title-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.c-block-image-title-grid-item {
  position: relative;
  width: calc(((100% - 60px) / 3) - 0.1px);
  margin-top: 30px;
}

  .c-block-image-title-grid-item:nth-child(-n+3) {
    margin-top: 0;
  }

  .c-block-image-title-grid-item:last-child:nth-child(3n-1) {
    margin-left: 30px;
    margin-right: auto;
  }

  .c-block-image-title-grid-item a {
    display: block;
    width: 100%;
    height: 100%;
  }

.c-block-image-title-grid-item-bg.is-overlay:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.25);
  width: 100%;
  height: 100%;
  transition: background 0.2s;
}

.c-block-image-title-grid-item a:hover .c-block-image-title-grid-item-bg.is-overlay:before {
  background: rgba(0,0,0,0.05);
}

.c-block-image-title-grid-item a:hover .c-block-image-title-grid-item-bg.is-overlay img {
  opacity: inherit;
}

.c-block-image-title-grid-item-upper {
  position: absolute;
  left: 0;
  top: 0;
  padding-left: calc(60/2800*100vw);
  padding-right: calc(60/2800*100vw);
  padding-top: calc(60/2800*100vw);
  font-size: calc(24/2800*100vw);
  color: #fff;
}

.c-block-image-title-grid-item-inner {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-left: calc(60/2800*100vw);
  padding-right: calc(60/2800*100vw);
  padding-bottom: calc(60/2800*100vw);
  color: #fff;
}

.c-block-image-title-grid-item-head {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 2.2rem;
  line-height: 1.4;
}

.c-block-image-title-grid-item-body {
  margin-top: calc(40/2800*100vw);
  font-size: calc(28/2800*100vw);
  line-height: 1.3;
}

.c-block-image-title-grid-item-category {
  margin-bottom: calc(30/2800*100vw);
  font-size: calc(28/2800*100vw);
  line-height: 1.3;
}

.c-block-image-title-grid-item-head-s {
  font-size: calc(32/2800*100vw);
  line-height: 1.3;
}

.c-block-image-title-grid-item a:hover .c-block-image-title-grid-item-body {
  display: block;
}

@media (max-width: 1399px) {
  .c-block-image-title-grid-item-upper {
    font-size: 1.2rem;
  }

  .c-block-image-title-grid-item-head {
    font-size: 2.2rem;
  }

  .c-block-image-title-grid-item-body {
    margin-top: 20px;
    font-size: 1.4rem;
  }

  .c-block-image-title-grid-item-category {
    margin-bottom: 15px;
    font-size: 1.4rem;
  }

  .c-block-image-title-grid-item-head-s {
    font-size: 1.6rem;
  }
}

@media (max-width: 991px) {
  .c-block-image-title-grid-item-body {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .c-block-image-title-grid {
    display: block;
  }

  .c-block-image-title-grid-item {
    width: 100%;
    margin-top: 20px;
  }

    .c-block-image-title-grid-item:nth-child(-n+3) {
      margin-top: 20px;
    }

    .c-block-image-title-grid-item:last-child:nth-child(3n-1) {
      margin-left: 0;
      margin-right: 0;
    }

  .c-block-image-title-grid-item-upper {
    padding-left: calc(40/750*100vw);
    padding-right: calc(40/750*100vw);
    padding-top: calc(40/750*100vw);
  }

  .c-block-image-title-grid-item-inner {
    padding-left: calc(40/750*100vw);
    padding-right: calc(40/750*100vw);
    padding-bottom: calc(40/750*100vw);
  }

  .c-block-image-title-grid-item-head {
    font-size: calc(44/750*100vw);
  }
}

/* 画像onタイトルhover切り替えグリッド */
.c-block-image-hover-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.c-block-image-hover-grid-item {
  position: relative;
  width: calc(((100% - 60px) / 3) - 0.1px);
  margin-top: 30px;
}

  .c-block-image-hover-grid-item:nth-child(-n+3) {
    margin-top: 0;
  }

  .c-block-image-hover-grid-item:last-child:nth-child(3n-1) {
    margin-left: 30px;
    margin-right: auto;
  }

  .c-block-image-hover-grid-item a {
    display: block;
    width: 100%;
    height: 100%;
  }

    .c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-bg::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      background: #005B96;
      width: 100%;
      height: 100%;
      opacity: 0.9;
    }

    .c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-bg img {
      opacity: inherit;
    }

.c-block-image-hover-grid-item-inner {
  position: absolute;
  left: 0;
  bottom: 0;
  padding-left: calc(60/2800*100vw);
  padding-right: calc(60/2800*100vw);
  padding-bottom: calc(60/2800*100vw);
  color: #fff;
}

.c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-inner {
  top: calc(60/2800*100vw);
  bottom: auto;
}

.c-block-image-hover-grid-item-head {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: calc(44/2800*100vw);
  line-height: 1.3;
}

.c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-head {
  margin-bottom: calc(80/2800*100vw);
}

.c-block-image-hover-grid-item-body {
  display: none;
  font-size: calc(28/2800*100vw);
}

.c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-body {
  display: block;
}

@media (max-width: 1399px) {
  .c-block-image-hover-grid-item-head {
    font-size: 2.2rem;
  }

  .c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-head {
    margin-bottom: 40px;
  }

  .c-block-image-hover-grid-item-body {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 991px) {
  .c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-head {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .c-block-image-hover-grid {
    display: block;
  }

  .c-block-image-hover-grid-item {
    width: 100%;
    margin-top: 20px;
  }

    .c-block-image-hover-grid-item:nth-child(-n+3) {
      margin-top: 20px;
    }

    .c-block-image-hover-grid-item:last-child:nth-child(3n-1) {
      margin-left: 0;
      margin-right: 0;
    }

  .c-block-image-hover-grid-item-inner {
    bottom: 70px;
    padding: 0 30px;
  }

  .c-block-image-hover-grid-item a:hover .c-block-image-hover-grid-item-inner {
    top: 60px;
    bottom: auto;
  }

  .c-block-image-hover-grid-item-head {
    margin-bottom: 40px;
  }
}

/* フィルターセレクター */
.c-block-filter-select {
  display: none;
}

  .c-block-filter-select.is-open {
    display: block;
  }

.c-block-filter-select-inner {
  display: flex;
}

.c-block-filter-select-all {
  min-width: 180px;
}

  .c-block-filter-select-all label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
  }

.c-block-filter-select-scroll {
  width: 100%;
  margin-right: -40px;
}

  .c-block-filter-select-scroll ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px;
  }

    .c-block-filter-select-scroll ul li {
      min-width: 220px;
      margin-left: 20px;
      margin-top: 20px;
    }

  .c-block-filter-select-scroll label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
  }

    .c-block-filter-select-scroll label:focus {
      outline: none;
    }

.c-block-filter-select input[type="radio"]:checked {
  color: #005B96;
}

  .c-block-filter-select input[type="radio"]:checked + span {
    color: #005B96;
  }

.c-block-filter-select-button {
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-block-filter-select-inner {
    display: block;
  }

  .c-block-filter-select-all {
    min-width: 0;
    margin-right: 0;
  }

  .c-block-filter-select-scroll {
    margin-right: 0;
    margin-top: 20px;
  }

    .c-block-filter-select-scroll ul {
      justify-content: space-between;
    }

      .c-block-filter-select-scroll ul li {
        min-width: 0;
        margin-left: 0;
        width: calc((100% - 20px) / 2 - 0.1px);
      }

  .c-block-filter-select-button {
    margin-top: 20px;
    text-align: center;
  }
}

/* お客様事例グリッド */
.c-block-casestudy-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.c-block-casestudy-grid-item {
  background: #fff;
  margin-top: 30px;
  width: calc((100% - 60px) / 3 - 0.1px);
}

  .c-block-casestudy-grid-item:nth-child(-n+3) {
    margin-top: 0;
  }

  .c-block-casestudy-grid-item:last-child:nth-child(3n-1) {
    margin-left: 30px;
    margin-right: auto;
  }

  .c-block-casestudy-grid-item a {
    display: block;
    color: inherit;
  }

    .c-block-casestudy-grid-item a:hover {
      text-decoration: none;
    }

.c-block-casestudy-grid-item-image {
  width: 100%;
  border-bottom: 1px solid #ececec;
}

.c-block-casestudy-grid-item-text {
  display: flex;
  flex-direction: column;
  padding: 20px;
}

.c-block-casestudy-grid-item-head {
  font-size: 1.6rem;
  margin-bottom: 10px;
  font-weight: bold;
  line-height: 1.3;
}

.c-block-casestudy-grid-item-summary {
  line-height: 1.5;
  margin-bottom: 20px;
}

.c-block-casestudy-grid-item-category {
  margin-top: auto;
}

  .c-block-casestudy-grid-item-category dt {
    color: #7f7f7f;
    font-size: 1.2rem;
    line-height: 1.3;
  }

  .c-block-casestudy-grid-item-category dd {
    color: #666666;
    font-size: 1.2rem;
    line-height: 1.3;
  }

@media screen and (max-width: 767px) {
  .c-block-casestudy-grid {
    display: block;
  }

  .c-block-casestudy-grid-item {
    margin-top: 20px;
    width: 100%;
  }

    .c-block-casestudy-grid-item:nth-child(-n+3) {
      margin-top: 20px;
    }

    .c-block-casestudy-grid-item:last-child:nth-child(3n-1) {
      margin-left: 0;
      margin-right: 0;
    }

    .c-block-casestudy-grid-item:nth-child(1) {
      margin-top: 0;
    }

  .c-block-casestudy-grid-item-head {
    font-size: 1.6rem;
    margin-bottom: 10px;
    font-weight: bold;
    line-height: 1.3;
  }

  .c-block-casestudy-grid-item-summary {
    line-height: 1.5;
    margin-bottom: 20px;
  }

  .c-block-casestudy-grid-item-category {
    margin-top: auto;
  }

    .c-block-casestudy-grid-item-category dt {
      color: #7f7f7f;
      font-size: 1.2rem;
      line-height: 1.3;
    }

    .c-block-casestudy-grid-item-category dd {
      color: #666666;
      font-size: 1.2rem;
      line-height: 1.3;
    }
}

/* 動画ブロック */
.c-block-video {
  max-width: 960px !important;
  margin: 0 auto;
}

.c-block-video-inner {
  position: relative;
  padding-bottom: 56.25%;
}

.c-block-video-text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  padding: 0 30px 150px;
  /*  width: 100%;*/
  text-align: center;
  line-height: 1.2;
  cursor: pointer;
  transform: translateX(-50%) translateY(-50%);
  pointer-events: none;
}

.c-block-video-button {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  border: 0;
  background: #d1382a;
  padding: 10px 30px;
  color: #fff;
  letter-spacing: 0.04em;
  cursor: pointer;
  transform: translateX(-50%) translateY(-50%);
  pointer-events: none;
}

.c-block-video-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.c-block-video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.c-block-video-caption {
  max-width: 960px;
  margin: 10px auto 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-block-video-text {
    padding: 0 10px 100px;
  }
}

/* ニュース記事用 */
.c-block-news-article {
  padding-right: 40px;
  width: 70%;
}

  .c-block-news-article > div:first-child {
    font-size: 1.6rem;
  }

  .c-block-news-article > div + div {
    margin-top: 80px;
  }

  .c-block-news-article > div:first-child + div {
    margin-top: 40px;
  }

  .c-block-news-article h3 {
    margin-bottom: 20px;
    font-size: 2rem;
    font-weight: bold;
  }

  .c-block-news-article h4 {
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: bold;
  }

  .c-block-news-article h5 {
    margin-bottom: 10px;
    font-weight: bold;
  }

  .c-block-news-article p + h4,
  .c-block-news-article p + h5 {
    margin-top: 20px;
  }

  .c-block-news-article p.small + p {
    margin-top: 0;
  }

  .c-block-news-article ul,
  .c-block-news-article ol {
    margin: 20px 0;
    line-height: 2;
    padding-left: 40px;
  }

  .c-block-news-article ul {
    list-style-type: disc;
  }

  .c-block-news-article ol {
    list-style-type: decimal;
  }

  .c-block-news-article a[target="_blank"]::after {
    font-family: FontAwesome;
    content: '\f08e';
    margin-left: 10px;
  }

  .c-block-news-article sup {
    position: relative;
    top: -0.5em;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
  }

.c-block-news-article-head {
  display: flex;
  justify-content: space-between;
}

  .c-block-news-article-head div {
    width: calc((100% - 20px)/ 2 - 0.1px);
  }

.c-block-news-article-head-left:only-of-type {
  width: 100%;
}

.c-block-news-article-head-publisher {
  margin: 10px 0 0 0;
}

.c-block-news-article-head-right ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0 -5px;
  padding: 0;
}

.c-block-news-article-head-right li {
  width: calc((100% - 30px)/ 3 - 0.1px);
  padding: 0 5px;
  box-sizing: content-box;
}

  .c-block-news-article-head-right li:nth-of-type(n + 4) {
    padding-top: 10px;
  }

.c-block-news-article-head-right a {
  display: inline-block;
  width: 100%;
}

.c-block-news-article-head-right img {
  vertical-align: bottom;
}

@media (max-width: 767px) {
  .c-block-news-article {
    padding-right: 0;
    width: 100%;
  }

  .c-block-news-article-head {
    display: block;
  }

    .c-block-news-article-head div {
      width: 100%;
    }

      .c-block-news-article-head div + div {
        margin-top: 20px;
      }

  .c-block-news-article-head-right ul {
    justify-content: flex-start;
  }
}

/* ニュース記事右サイド用 */
.c-block-news-article-side {
  border-left: 2px solid #eee;
  padding-left: 40px;
  width: 30%;
}

.c-block-news-article-side-upper {
  border-bottom: 2px solid #eee;
}

@media screen and (max-width: 767px) {
  .c-block-news-article-side {
    border-left: none;
    margin-top: 60px;
    padding-left: 0;
    width: 100%;
  }
}

@media print {
  .c-block-news-article-side {
    display: none;
  }
}

/* 背景番号付きグリッド */
.c-block-numbered-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.c-block-numbered-grid-item {
  position: relative;
  width: calc((100% - 150px) / 3 - 0.1px);
  margin-top: 60px;
}

  .c-block-numbered-grid-item:nth-child(-n+3) {
    margin-top: 0;
  }

  .c-block-numbered-grid-item:last-child:nth-child(3n-1) {
    margin-left: 75px;
    margin-right: auto;
  }

  .c-block-numbered-grid-item::before {
    content: counter(paragraph);
    counter-increment: paragraph;
    display: block;
    position: absolute;
    left: 0;
    top: -36px;
    z-index: 0;
    font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
    font-size: 17rem;
    /*font-weight: 300;*/
    height: 100%;
    color: #FFC400;
    line-height: 1;
  }

body { /*カウンターが増えない場合の処理*/
  counter-reset: paragraph;
}

.c-block-numbered-grid-item-head {
  position: relative;
  margin-bottom: 20px;
  min-height: 160px;
  padding-top: 50px;
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: .15rem;
  color: #2E404D;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
}

@media screen and (max-width: 767px) {
  .c-block-numbered-grid {
    display: block;
  }

  .c-block-numbered-grid-item {
    width: 100%;
    margin-top: 60px;
  }

    .c-block-numbered-grid-item:nth-child(-n+3) {
      margin-top: 60px;
    }

    .c-block-numbered-grid-item:nth-child(1) {
      margin-top: 0;
    }

    .c-block-numbered-grid-item:last-child:nth-child(3n-1) {
      margin-right: 0;
    }
}

/* 旧ニュースフィルター（？）用 */
.c-block-news-filter {
  display: flex;
  align-items: center;
}

.c-block-news-filter-head {
  margin-right: 100px;
  color: #777;
  white-space: nowrap;
}

  .c-block-news-filter-head.is-active {
    color: #005B96;
  }

  .c-block-news-filter-head + .c-list-horizontal li span.is-active {
    color: #005B96;
  }

@media screen and (max-width: 767px) {
  .c-block-news-filter {
    display: block;
  }

  .c-block-news-filter-head {
    margin-right: 0;
    text-align: center;
    white-space: normal;
  }

    .c-block-news-filter-head + .c-list-horizontal {
      margin-top: 20px;
    }
}

/* 検索結果一覧フィルター用 */
.c-block-search-filter a {
  display: flex;
  align-items: center;
  justify-content: center;
}

  .c-block-search-filter a:before {
    font-family: 'FontAwesome';
    content: "\f105";
    position: relative;
    margin-right: 5px;
    font-size: 2rem;
    line-height: 0;
  }

  .c-block-search-filter a:hover {
    text-decoration: none;
  }

.c-block-search-filter-num {
  display: inline-block;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  font-size: 2.8rem;
  line-height: 2.8rem;
  letter-spacing: 0.62rem;
  font-weight: 300;
  margin-left: 8px;
  vertical-align: middle;
}

/* デジタル1stページ
  BottomImageContentWithGridMenu
-----------------------*/
.c-block-grid-menu,
.c-block-grid-menu-image {
  max-width: 1303px;
  width: 100%;
  margin: 0 auto;
}

.c-block-grid-menu-item {
  position: relative;
  width: calc((100% - 25px) / 2 - 0.1px);
}

.c-block-grid-menu > .c-block-grid-menu-item:nth-of-type(n+3) {
  margin-top: 25px;
}

.c-block-grid-menu-item-image {
  width: 100%;
}

.c-block-grid-menu-item-text {
  position: absolute;
  top: 50%;
  left: 26%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 50%;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
}

.c-block-grid-menu-item:hover .c-block-grid-menu-item-text {
  opacity: 0.7;
  transition: opacity 0.2s;
}

.c-block-grid-menu-modal {
  background-color: #000;
  max-height: 80vh;
  overflow: auto;
  cursor: default;
}

.c-block-grid-menu-modal-inner {
  padding: 40px;
}

.c-block-grid-menu-modal-inner-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 3rem;
}

  .c-block-grid-menu-modal-inner-title h4 {
    font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.5;
  }

  .c-block-grid-menu-modal-inner-title img {
    display: inline-block;
    max-width: 112px;
    max-height: 112px;
    margin-left: 20px;
  }

@media screen and (max-width: 767px) {
  .c-block-grid-menu-item {
    position: relative;
    width: 100%;
  }

  .c-block-grid-menu > .c-block-grid-menu-item:nth-of-type(n+2) {
    margin-top: 25px;
  }

  .c-block-grid-menu-modal-inner {
    padding: 20px;
  }

  .c-block-grid-menu-item-text {
    width: 54%;
    font-size: 14px;
  }

  .c-block-grid-menu-modal-inner-title img {
    max-width: 56px;
    max-height: 56px;
  }
}

/* デジタル3rdページ
  FocusAreasIndexGrid
-----------------------*/
.c-block-focus-area-image {
  max-width: 67px;
}

@media screen and (max-width: 767px) {
  .c-block-focus-area-image {
    max-width: 55px;
  }
}

/* イベントページ 開催地タグ
-----------------------*/
.c-block-event-venue {
  display: inline-block;
  font-size: 1.2rem;
  margin-bottom: 5px;
  padding: 7px 8px;
  text-align: center;
}

  .c-block-event-venue.is-orange {
    background-color: #FFC400;
    color: #fff;
  }

  .c-block-event-venue.is-blue {
    background-color: #005B96;
    color: #fff;
  }

  .c-block-event-venue.is-red {
    background-color: #B22000;
    color: #fff;
  }

/* グリーンITソリューションページ
   CSRLeftImageContent
-----------------------*/
.c-block-csr-left-image-content {
  padding: 40px;
}

.c-block-csr-left-image {
  width: 50px;
}

.c-block-csr-right-text {
  width: calc(100% - 90px);
}

@media (max-width: 767px) {
  .c-block-csr-left-image-content {
    padding: 20px;
  }

  .c-block-csr-right-text {
    width: calc(100% - 70px);
  }
}

/* Innovation Conference用
-----------------------*/
/* ニュース */
.c-block-innovation-news-grid {
  display: flex;
}

  .c-block-innovation-news-grid a {
    color: #fff;
    text-decoration: underline;
  }

    .c-block-innovation-news-grid a:hover {
      font-weight: bold;
    }

.c-block-innovation-news-grid-title {
  width: 110px;
  font-size: 18px;
  font-weight: bold;
}

.c-block-innovation-news-grid-articles {
  width: calc(100% - 110px);
}

.c-block-innovation-news-grid .c-list-headline {
  border-top: none;
  border-bottom: 2px #80b1c1 solid;
}

  .c-block-innovation-news-grid .c-list-headline > dd {
    font-size: 14px;
  }

.c-block-innovation-news-grid-articles > .c-list-headline:first-of-type > dt,
.c-block-innovation-news-grid-articles > .c-list-headline:first-of-type > dd {
  padding-top: 0;
}

.c-block-innovation-news-grid-articles > .c-list-headline:first-of-type {
  border: none;
  margin-top: 2px;
}

.c-block-innovation-news-grid-accordion {
  display: none;
  border-top: 2px #80b1c1 solid;
  margin-bottom: 20px;
}

.c-block-innovation-news-grid-btn {
  display: none;
}

  .c-block-innovation-news-grid-btn.is-active {
    display: block;
  }

@media (max-width: 767px) {
  .c-block-innovation-news-grid {
    display: block;
  }

  .c-block-innovation-news-grid-title {
    margin-bottom: 25px;
  }

  .c-block-innovation-news-grid-articles {
    width: 100%;
  }

  .c-block-innovation-news-grid .c-list-headline:first-of-type > dd {
    padding-top: 25px;
  }
}

/* 講演レポート・関連記事 */
.c-block-innovation-report-item {
  background-color: #fff;
}

  .c-block-innovation-report-item:nth-of-type(n+5) {
    margin-top: 20px;
  }

  .c-block-innovation-report-item a {
    display: block;
    color: inherit;
    height: 100%;
  }

    .c-block-innovation-report-item a:hover {
      text-decoration: none;
    }

.c-block-innovation-report-item-image img {
  width: 100%;
}

.c-block-innovation-report-item-text {
  display: flex;
  flex-direction: column;
  padding: 20px;
}

.c-block-innovation-report-item-category.is-blue {
  color: #005B96;
}

.c-block-innovation-report-item-category.is-black {
  color: #333;
}

.c-block-innovation-report-item-category.is-orenge {
  color: #FFC400;
}

.c-block-innovation-report-item-category.is-red {
  color: #B22000;
}

.c-block-innovation-report-item-date {
  font-family: 'Catamaran', sans-serif;
  color: #949494;
}

.c-block-innovation-report-item-title {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.7em;
}

.c-block-innovation-report-item-position {
  margin-bottom: 5px;
  color: #737373;
  font-size: 12px;
  line-height: 1.4em;
}

.c-block-innovation-report-item-name {
  margin-bottom: 25px;
  font-size: 20px;
  line-height: 1.4em;
  font-weight: bold;
}

.c-block-innovation-report-accordion {
  display: none;
  margin-top: 20px;
}

.c-block-innovation-report-btn {
  display: none;
}

  .c-block-innovation-report-btn.is-active {
    display: block;
  }

/* Gallery */
.c-block-carousel-grid-item-image:last-of-type {
  margin-top: 30px;
}

.c-block-innovation-gallery-image {
  vertical-align: bottom;
}

/* Catchcopy */
.c-block-innovation-catchcopy {
  position: relative;
}

.c-block-innovation-catchcopy-bg {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: initial;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
  font-family: 'object-fit: cover; object-position: center top;';
}

.c-block-innovation-catchcopy-inner {
  color: #fff;
  position: relative;
  z-index: 2;
  max-width: 1303px;
  margin: 0 auto;
  padding-top: 140px;
  padding-bottom: 140px;
  text-align: center;
}

.c-block-innovation-catchcopy-lead {
  font-size: 28px;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
}

  .c-block-innovation-catchcopy-lead p + p {
    margin-top: 1em;
  }

.c-block-innovation-catchcopy-body {
  margin-top: 30px;
  line-height: 2;
}

@media (max-width: 767px) {
  .c-block-innovation-catchcopy-inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .c-block-innovation-catchcopy-lead {
    font-size: 22px;
  }

    .c-block-innovation-catchcopy-lead p {
      line-height: 1.4;
    }

  .c-block-innovation-catchcopy-body {
    margin-bottom: 0;
    text-align: left;
  }
}

/* 特別セッション */
.c-block-innovation-lecture {
  display: block;
  height: 100%;
  padding: 35px;
  color: #333;
  box-shadow: 0 0 4px 0 rgba(0,0,0,0.18);
}

  .c-block-innovation-lecture:hover {
    text-decoration: none;
  }

.c-block-innovation-lecture-profile {
  display: flex;
  align-items: center;
  margin-bottom: 35px;
}

.c-block-innovation-lecture-profile-image {
  width: 48.57143%;
}

  .c-block-innovation-lecture-profile-image img {
    width: 80%;
    border-radius: 50%;
  }

.c-block-innovation-lecture-category {
  position: relative;
  padding-left: 35px;
  margin-top: 4px;
  display: inline-block;
}

  .c-block-innovation-lecture-category::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    display: inline-block;
    width: 23px;
    height: 23px;
    background: url(/jp/ja/-/media/nttdatajapan/images/innovation-conference/icons/eventcontents_bg_01.png) no-repeat left top;
    background-size: 100%;
  }

.c-block-innovation-lecture-profile-name {
  font-size: 24px;
  line-height: 1.4em;
  font-weight: bold;
  margin-bottom: 25px;
}

  .c-block-innovation-lecture-profile-name span {
    display: inline-block;
    margin-left: 5px;
    font-size: 14px;
    line-height: 1.4em;
  }

.c-block-innovation-lecture-profile-position {
  color: #737373;
  font-size: 12px;
  line-height: 1.7em;
}

.c-block-innovation-lecture-btn {
  width: 210px;
  border: 1px solid #005B96;
  color: #005B96;
  padding: 8px 18px;
  margin-top: 2em;
}

@media (max-width: 767px) {
  .c-block-innovation-lecture-profile {
    display: block;
  }

  .c-block-innovation-lecture-profile-image {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
  }
}

/* イベントハイライト */
.c-block-innovation-hlight {
  margin: -20px -10px 0 -10px;
  display: flex;
  flex-wrap: wrap;
}

.c-block-innovation-hlight-item {
  padding: 20px 10px 0 10px;
}

.c-block-innovation-hlight-item-inner {
  background-color: #fff;
  height: 100%;
}

.c-block-innovation-hlight-item.is-1x {
  width: 25%;
}

.c-block-innovation-hlight-item.is-2x {
  width: 50%;
}

.c-block-innovation-hlight-item a {
  color: #333;
  padding: 15px;
  height: 100%;
}

  .c-block-innovation-hlight-item a:hover {
    color: #333;
    text-decoration: none;
  }

.c-block-innovation-hlight-item-category {
  color: #fff;
  display: inline-block;
  font-size: 12px;
  padding: 3px 6px;
  margin: 0 15px 5px 0;
}

  .c-block-innovation-hlight-item-category.is-black {
    background-color: #000;
  }

  .c-block-innovation-hlight-item-category.is-blue {
    background-color: #005B96;
  }

  .c-block-innovation-hlight-item-category.is-orange {
    background-color: #FFC400;
  }

  .c-block-innovation-hlight-item-category.is-red {
    background-color: #B22000;
  }

.c-block-innovation-hlight-item-category-number {
  display: inline-block;
}

.c-block-innovation-hlight-item-category-name {
  display: inline-block;
  margin-left: 5px;
  padding-left: 5px;
  border-left: 1px solid #fff;
}

.c-block-innovation-hlight-item-time {
  display: inline-block;
  font-size: 12px;
  line-height: 1.5;
}

.c-block-innovation-hlight-item-title {
  margin: 15px 0;
  font-size: 18px;
  font-weight: bold;
}

.c-block-innovation-hlight-profile + .c-block-innovation-hlight-profile {
  margin-top: 20px;
}

.c-flex-2column-pc > .c-block-innovation-hlight-profile + .c-block-innovation-hlight-profile {
  margin-top: 0;
}

.c-block-innovation-hlight-item-position {
  margin-bottom: 5px;
  color: #737373;
  font-size: 12px;
  line-height: 1.4em;
}

.c-block-innovation-hlight-item-name {
  font-size: 16px;
  line-height: 1.4;
  font-weight: bold;
}

/* modal内スタイル */
.c-block-innovation-modal {
  width: 100%;
  position: relative;
  background-color: #fff;
  color: #333;
  max-height: 80vh;
  overflow-y: scroll;
  cursor: default;
}

.c-block-innovation-modal-inner {
  padding: 40px;
}

.c-block-innovation-modal a {
  color: #005B96;
  padding: 0;
  margin: 0;
}

  .c-block-innovation-modal a:hover {
    text-decoration: underline;
  }

.c-block-innovation-modal-category {
  display: inline-block;
  position: relative;
  padding-left: 35px;
  font-size: 16px;
  line-height: 1.4em;
}

  .c-block-innovation-modal-category::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    width: 23px;
    height: 23px;
    background: url(/jp/ja/-/media/nttdatajapan/images/innovation-conference/icons/eventcontents_bg_01.png) no-repeat left top;
    background-size: 100%;
  }

.c-block-innovation-modal-title {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 30px;
  font-size: 26px;
  line-height: 1.4em;
  font-weight: bold;
}

.c-block-innovation-modal-position {
  margin-bottom: 10px;
  color: #737373;
  font-size: 12px;
  line-height: 1.4em;
}

.c-block-innovation-modal-name {
  margin-bottom: 25px;
  font-size: 20px;
  line-height: 1.4em;
  font-weight: bold;
}

.c-block-innovation-modal-image img {
  width: 100%;
}

@media (max-width: 767px) {
  .c-block-innovation-hlight {
    margin: -20px 0px 0 0px;
    display: block;
  }

  .c-block-innovation-hlight-item {
    padding: 0;
    margin-top: 20px;
  }

    .c-block-innovation-hlight-item.is-1x,
    .c-block-innovation-hlight-item.is-2x {
      width: 100%;
    }

  .c-flex-2column-pc > .c-block-innovation-hlight-profile + .c-block-innovation-hlight-profile {
    margin-top: 20px;
  }

  .c-block-innovation-modal-inner {
    padding: 20px;
  }
}

/* お問い合わせ */
.c-block-innovation-remark {
  color: #949494;
}

/* 右下固定エントリーバナー */
.c-block-innovation-entrybanner {
  position: fixed;
  right: 120px;
  bottom: 0;
  width: 307px;
  height: auto;
  z-index: 99;
  -webkit-transition: bottom 800ms;
  transition: bottom 800ms;
}

  .c-block-innovation-entrybanner a {
    color: #333;
  }

  .c-block-innovation-entrybanner.is-hide {
    bottom: -307px;
  }

.c-block-innovation-entrybanner-text {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 69.05537%;
  height: 63px;
  line-height: 1.43;
  position: absolute;
  left: 1.30293%;
  top: 18.62745%;
  z-index: 1;
}

.c-block-innovation-entrybanner img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
  font-family: 'object-fit: cover; object-position: center top;';
}

@media (max-width: 767px) {
  .c-block-innovation-entrybanner {
    right: 75px;
    width: 247px;
  }

    .c-block-innovation-entrybanner.is-hide {
      bottom: -307px;
    }

  .c-block-innovation-entrybanner-text {
    height: 50px;
    font-size: 1.1rem;
  }
}

/* 展示 */
.c-block-innovation-exhibition-item {
  background-color: #fff;
  width: calc((100% - 60px) / 4 - 0.1px);
}

  .c-block-innovation-exhibition-item:not(:first-of-type):not(:nth-of-type(4n + 1)) {
    margin-left: 20px;
  }

  .c-block-innovation-exhibition-item:nth-of-type(n+5) {
    margin-top: 20px;
  }

  .c-block-innovation-exhibition-item a {
    display: block;
    height: 100%;
    color: inherit;
  }

    .c-block-innovation-exhibition-item a:hover {
      text-decoration: none;
    }

.c-block-innovation-exhibition-item-image {
  width: 100%;
  border-bottom: 1px solid #ececec;
}

.c-block-innovation-exhibition-item-text {
  padding: 20px;
}

.c-block-innovation-exhibition-item-title {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.6em;
}

.c-block-innovation-modal.c-modal-exhibition .c-block-innovation-modal-image {
  text-align: center;
}

  .c-block-innovation-modal.c-modal-exhibition .c-block-innovation-modal-image img {
    max-width: 320px;
  }

.c-block-innovation-modal.c-modal-exhibition .c-block-innovation-modal-title {
  font-weight: normal;
}

.c-block-innovation-modal-exhibition-name {
  background: #005B96;
  color: #ffffff;
  text-align: center;
  padding: 20px;
}

@media (max-width: 767px) {
  .c-block-innovation-exhibition-item {
    width: 100%;
  }

    .c-block-innovation-exhibition-item:not(:first-of-type):not(:nth-of-type(4n + 1)) {
      margin-left: 0;
    }

    .c-block-innovation-exhibition-item:not(:first-of-type) {
      margin-top: 20px;
    }
}

/* テストページ制限付きログイン画面用
-----------------------*/
.c-block-restricted-login {
  min-height: 100vh;
  background-color: #00CB5D;
}

.c-block-restricted-login-title {
  width: 185px;
  margin: 80px auto 120px;
}

.c-block-restricted-login-form {
  max-width: 280px;
  margin: 0 auto;
  text-align: center;
}

.c-block-restricted-login-form-title {
  font-size: 2.4rem;
  font-weight: 500;
  color: #5a5656;
  margin-bottom: 24px;
}

.c-block-restricted-login-form input {
  display: block;
  width: 100%;
  min-height: 50px;
  border: none;
  border-radius: 3px;
  outline: none;
}

.c-input-restricted-login-password {
  background-color: #e5e5e5;
  color: #5a5656;
  padding: 10px;
  margin-bottom: 24px;
}

.c-input-restricted-login-submit {
  font-size: 1.6rem;
  background-color: #008dde;
  color: #f4f4f4;
  text-transform: uppercase;
  padding: 15px;
  cursor: pointer;
}

/* ボックス
-----------------------*/
.c-box {
  display: block;
  border: 1px solid #d6d6d6;
  padding: 20px;
}

/* 見出し
-----------------------*/
.c-head-lg {
  margin-bottom: 40px;
  font-size: 2rem;
  line-height: 1.7;
}

.c-head-lg-b {
  margin-bottom: 40px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3;
}

.c-head-lg-b.u-fs-20 {
   line-height: 2.0;
 }

.c-head-md {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.7;
}

.c-head-md-b {
  margin-bottom: 20px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
  /*color: #000;*/
}
/*.c-flex-3column-pc h2 {
  color: #2E404D;
}*/
/*.c-flex-3column-pc h3 {
  color: #2E404D;
}*/
/*.c-flex-3column-pc h4 {
  color: #2E404D;
}*/


.c-head-sm {
  margin-bottom: 10px;
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-head-sm-b {
  margin-bottom: 10px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.7;
}

.c-head-xs {
  margin-bottom: 10px;
  font-size: 1.2rem;
  line-height: 1.7;
}

.c-head-xs-b {
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.7;
}
/* CSRInfraList用 */
.c-head-csr-infra-list {
  min-height: 40px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

  .c-head-csr-infra-list img {
    max-height: 40px;
    width: auto;
    vertical-align: bottom;
  }

/* テーブル
-----------------------*/

/* リスト
-----------------------*/
/* マーカー無し */
.c-list-none {
  line-height: 1.5;
}

  .c-list-none > li + li {
    margin-top: 10px;
  }

/* 中黒 */
.c-list-disc {
  padding-left: 30px;
  list-style-type: disc;
  line-height: 1.5;
}

  .c-list-disc > li + li {
    margin-top: 10px;
  }

/* キャレット */
.c-list-caret {
  line-height: 1.5;
}

  .c-list-caret > li {
    text-indent: -12px;
    padding-left: 12px;
  }

    .c-list-caret > li::before {
      font-family: 'FontAwesome';
      content: "\f105";
      position: relative;
      top: 1px;
      margin-right: 5px;
      font-size: 2rem;
      line-height: 0;
    }

    .c-list-caret > li + li {
      margin-top: 10px;
    }

/* ファイルアイコン */
.c-list-file {
  line-height: 1.5;
}

  .c-list-file > li {
    text-indent: -22px;
    padding-left: 22px;
  }

    .c-list-file > li + li {
      margin-top: 10px;
    }

    .c-list-file > li::before {
      margin-right: 10px;
    }

    .c-list-file > li.is-pdf::before {
      font-family: 'FontAwesome';
      content: "\f1c1";
    }

    .c-list-file > li.is-excel::before {
      font-family: 'FontAwesome';
      content: "\f1c3";
    }

/* ページ内リンク */
.c-list-anker {
  display: flex;
}

  .c-list-anker li {
    margin-left: 70px;
  }

    .c-list-anker li:first-child {
      margin-left: 0;
    }

    .c-list-anker li::after {
      font-family: 'FontAwesome';
      font-size: 2rem;
      content: '\f107';
      display: inline-block;
      margin-left: 10px;
      border-bottom: 2px solid #fff;
      height: 19px;
    }

@media screen and (max-width: 767px) {
  .c-list-anker {
    display: block;
  }

    .c-list-anker li {
      margin-left: 0;
      margin-top: 20px;
      text-align: center;
    }

      .c-list-anker li:first-child {
        margin-top: 0;
      }
}

/* 横並びリスト */
.c-list-horizontal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: -20px;
}

  .c-list-horizontal li {
    margin-top: 20px;
    margin-right: 50px;
  }

    .c-list-horizontal li:first-child {
      margin-left: 0;
    }

@media screen and (max-width: 767px) {
  .c-list-horizontal {
    display: block;
    margin-top: 0;
    text-align: center;
  }

    .c-list-horizontal li {
      margin-right: 0;
      margin-top: 20px;
    }

      .c-list-horizontal li:first-child {
        margin-top: 0;
      }
}

/* ページネーション */
.c-list-casestudy-pagination {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}

  .c-list-casestudy-pagination li {
    margin-left: 16px;
    cursor: pointer;
  }

    .c-list-casestudy-pagination li:first-child {
      margin-left: 0;
    }

    .c-list-casestudy-pagination li.is-current {
      font-size: 3rem;
      color: #737373;
      pointer-events: none;
    }

/* ニュースなど見出し一覧用 */
.c-list-headline {
  display: flex;
  border-top: 2px solid #eee;
  width: 100%;
  line-height: 1.5;
}

  .c-list-headline:last-child {
    border-bottom: 2px solid #eee;
  }

  .c-list-headline > dt {
    padding: 20px 15px;
    width: 20%;
    font-size: 1.4rem;
  }

  .c-list-headline > dd {
    padding: 20px 0px 20px 0;
    width: 80%;
    font-size: 1.6rem;
  }

.c-list-headline-sub {
  display: flex;
  border-top: 2px solid #eee;
  width: 100%;
  line-height: 1.5;
}

  .c-list-headline-sub > dt {
    padding: 20px 15px 20px 0;
    width: 25%;
    font-size: 1.4rem;
    font-weight: bold;
  }

  .c-list-headline-sub > dd {
    padding: 20px 15px 20px 0;
    width: 75%;
    font-size: 1.6rem;
  }

.c-list-headline .c-list-headline-sub:first-child {
  border-top: none;
}

  .c-list-headline .c-list-headline-sub:first-child > dt,
  .c-list-headline .c-list-headline-sub:first-child > dd {
    padding: 0 15px 20px 0;
  }

.c-list-headline .c-list-headline-sub:last-child > dt,
.c-list-headline .c-list-headline-sub:last-child > dd {
  padding: 20px 15px 0 0;
}

.c-list-headline .c-list-headline-sub:first-child:last-child > dt,
.c-list-headline .c-list-headline-sub:first-child:last-child > dd {
  padding: 0 15px 0 0;
}

@media screen and (max-width: 767px) {
  .c-list-headline {
    display: block;
  }

    .c-list-headline > dt {
      padding: 20px 0 0;
      width: 100%;
    }

    .c-list-headline > dd {
      padding: 20px 0px 20px 20px;
      width: 100%;
      font-size: 1.6rem;
    }

  .c-list-headline-sub {
    display: block;
    padding: 20px 0 20px 0;
  }

    .c-list-headline-sub:first-child {
      padding: 0 0 20px 0;
    }

    .c-list-headline-sub:last-child {
      padding: 20px 0 0 0;
    }

    .c-list-headline-sub:first-child:last-child {
      padding: 0 0 0 0;
    }

    .c-list-headline-sub > dt {
      padding: 0 0 0 0 !important;
      width: 100%;
    }

    .c-list-headline-sub > dd {
      padding: 0 0 0 0 !important;
      width: 100%;
    }
}

/* 沿革用 */
.c-list-headline > .c-list-history-year {
  font-size: 2rem;
  width: 12rem;
  line-height: 1;
}

.c-list-headline-sub > .c-list-history-category {
  font-size: 1.2rem;
  line-height: 2rem;
  color: #949494;
  width: 10%;
  min-width: 11rem;
}

.c-list-headline-sub > .c-list-history-content {
  font-size: 1.4rem;
  line-height: 2rem;
  width: 90%;
}

@media (max-width: 767px) {
  .c-list-headline > .c-list-history-year {
    width: 100%;
  }

  .c-list-headline-sub > .c-list-history-category {
    width: 100%;
  }

  .c-list-headline-sub > .c-list-history-content {
    width: 100%;
  }
}

/* テーブルリスト */
.c-list-table {
  display: table;
  border-top: 1px solid #D6D6D6;
  width: 100%;
  table-layout: fixed;
}

  .c-list-table dl {
    display: table-row;
  }

  .c-list-table dt {
    font-weight: bold;
  }

  .c-list-table .c-list-table-th,
  .c-list-table .c-list-table-td {
    display: table-cell;
    border-bottom: 1px solid #d6d6d6;
    padding: 15px;
    line-height: 2;
  }

  .c-list-table .c-list-table-th {
    width: 150px;
    white-space: nowrap;
  }

@media screen and (max-width: 767px) {
  .c-list-table {
    display: block;
  }

    .c-list-table dl {
      display: block;
      border-bottom: 1px solid #d6d6d6;
    }

    .c-list-table.c-list-table-th,
    .c-list-table .c-list-table-td {
      display: block;
      padding: 15px;
      line-height: 2;
    }

    .c-list-table .c-list-table-th {
      border-bottom: none;
      padding: 10px 10px 0 10px;
      width: 100%;
    }

    .c-list-table .c-list-table-td {
      border-bottom: none;
      padding: 10px;
    }
}

/* ボタン
-----------------------*/
.c-btn-normal {
  display: inline-flex;
  justify-content: center;
  border: 1px solid #2E404D;
  padding: 10px;
  background: none;
  min-width: 180px;
  min-height: 38px;
  color: inherit;
  cursor: pointer;
  transition: background-color 0.2s;
}

  .c-btn-normal.is-white {
    border: 1px solid #fff;
    color: #fff;
  }

  .c-btn-normal:hover {
    background-color: rgba(255, 255, 255, 0.3);
    color: inherit;
    text-decoration: none;
  }

  .c-btn-normal.is-white:hover {
    color: #fff;
  }

/* コンテンツヘッダーの「お問い合わせ」など */
.c-btn-detail {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: solid 2px #fff;
  padding: 10px;
  background: none;
  min-width: 236px;
  min-height: 60px;
  color: inherit;
  transition: background-color 0.2s;
}

  .c-btn-detail.is-black,
  .c-bg-light-grey .c-btn-detail,
  .c-bg-white .c-btn-detail,
  .c-bg-dark .c-btn-detail,
  .c-bg-off-white .c-btn-detail,
  .c-color-black .c-btn-detail {
    border: 2px solid #333;
    color: #333;
  }

  .c-btn-detail::before {
    font-family: 'FontAwesome';
    content: "\f105";
    position: relative;
    margin-right: 5px;
    font-size: 2rem;
    line-height: 0;
  }

  .c-btn-detail:hover {
    background: rgba(255, 255, 255, 0.3);
    color: inherit;
    text-decoration: none;
  }

  .c-btn-detail + .c-btn-detail {
    margin-left: 25px;
  }

@media screen and (max-width: 767px) {
  .c-btn-detail {
    min-width: 170px;
    min-height: 48px;
  }

    .c-btn-detail + .c-btn-detail {
      margin-left: 15px;
    }
}

/* 「お申込みはこちら」など */
.c-btn-conversion {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background: #B22000;
  color: #fff;
  width: 100%;
  max-width: 420px;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s;
}

  .c-btn-conversion:hover {
    text-decoration: none;
    opacity: 0.7;
  }

  .c-btn-conversion::before {
    font-family: 'FontAwesome';
    content: "\f105";
    position: relative;
    margin-right: 5px;
    font-size: 2rem;
    line-height: 0;
  }

/* RightImageButtonContent用 */
.c-btn-tag {
  display: inline-block;
  border: 1px solid #d6d6d6;
  padding: 5px 10px;
  font-size: 1.2rem;
}

/* お問い合わせ用 */
.c-btn-submit-contact {
 /* display: inline-flex;*/
  justify-content: center;
  align-content: center;
  border: none;
  padding: 15px 25px;
  background: #fff;
  min-width: 200px;
  font-weight: bold;
}

/* フォームパーツ
-----------------------*/
/* セレクト */
.c-select2 + .chosen-container {
  text-align: center;
  font-size: 1.6rem;
  min-width: 150px;
}

.c-select2 + .chosen-container-single .chosen-single {
  display: flex;
  justify-content: center;
  padding: 5px 10px;
  border: 1px solid transparent;
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  height: auto;
  color: inherit;
  font-size: 3rem;
  line-height: inherit;
}

.c-select2 + .chosen-container-active.chosen-with-drop .chosen-single {
  border: 1px solid #aaa;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #eee), color-stop(80%, #fff));
  background-image: linear-gradient(#eee 20%, #fff 80%);
  -webkit-box-shadow: 0 1px 0 #fff inset;
  box-shadow: 0 1px 0 #fff inset;
  color: #2E404D;
}

.c-select2 + .chosen-container-single .chosen-single span {
  margin-right: 0;
}

.c-select2 + .chosen-container-single .chosen-single div {
  position: static;
  margin-left: 10px;
  width: auto;
  height: auto;
}

  .c-select2 + .chosen-container-single .chosen-single div::before {
    content: '\f107';
    font-family: 'FontAwesome';
  }

  .c-select2 + .chosen-container-single .chosen-single div b {
    display: none;
  }

.c-select2 + .chosen-container-single .chosen-search {
  display: none;
}

.c-select2 + .chosen-container .chosen-results {
  color: #333;
  margin: 0 0 2px 0;
  padding: 0 0 0 2px;
  max-height: 240px;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 767px) {
  /*
  .c-select2-outer {
    display: flex;
    align-items: center;
  }
  .c-select2-outer::after {
    content: '\f107';
    font-family: 'FontAwesome';
    font-size: 24px;
    font-weight: bold;
    line-height: 37px;
  }
  .c-select2 {
    border: none;
    padding: 7px 5px 0;
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    height: auto;
    color: inherit;
    font-size: 3rem;
    font-family: 'Catamaran', sans-serif;
    line-height: inherit;
    text-align: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .c-select2::-ms-expand {
    display: none;
  }
*/
}

/* ラジオボタン */
input[type="radio"].c-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  overflow: hidden;
  padding: 0;
  clip: rect(0, 0, 0, 0);
}

  input[type="radio"].c-radio + span {
    display: inline-block;
    position: relative;
    padding-left: 17px;
    height: 1.5em;
    cursor: pointer;
  }

  input[type="radio"].c-radio:focus + span {
    outline: 1px solid #4c8dca;
    outline: 5px auto -webkit-focus-ring-color;
  }

  input[type="radio"].c-radio + span::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 2px;
    left: 0;
    border: 1px solid #999;
    border-radius: 50%;
    background: #fff;
    width: 12px;
    height: 12px;
  }

  input[type="radio"].c-radio:checked + span::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 5px;
    left: 3px;
    border-radius: 50%;
    background: #666;
    width: 6px;
    height: 6px;
  }

input[type="radio"].c-radio-filter {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  overflow: hidden;
  padding: 0;
  clip: rect(0, 0, 0, 0);
}

  input[type="radio"].c-radio-filter + span {
    display: inline-block;
    position: relative;
    height: 1.5em;
    cursor: pointer;
  }

    input[type="radio"].c-radio-filter + span::before {
      content: '・';
      display: inline-block;
      width: 17px;
    }

.c-list-radio-contact input[type="radio"] + span {
  opacity: 0.8;
}

.c-list-radio-contact input[type="radio"]:checked + span {
  opacity: 1;
}

input[type="radio"].c-radio.c-radio-contact + span {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  height: 1.5em;
  cursor: pointer;
}

  input[type="radio"].c-radio.c-radio-contact + span::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: none;
    width: 16px;
    height: 16px;
  }

input[type="radio"].c-radio.c-radio-contact:checked + span::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 5px;
  border-radius: 50%;
  background: #fff;
  width: 6px;
  height: 6px;
}

input[type="radio"].c-radio.c-radio-contact2 + span {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  height: 1.5em;
  cursor: pointer;
}

  input[type="radio"].c-radio.c-radio-contact2 + span::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0;
    border: 1px solid #333;
    border-radius: 50%;
    background: none;
    width: 16px;
    height: 16px;
  }

input[type="radio"].c-radio.c-radio-contact2:checked + span::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 5px;
  border-radius: 50%;
  background: #333;
  width: 6px;
  height: 6px;
}

/* チェックボックス */
input[type="checkbox"].c-checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  overflow: hidden;
  padding: 0;
  clip: rect(0, 0, 0, 0);
}

  input[type="checkbox"].c-checkbox + span {
    display: inline-block;
    position: relative;
    padding-left: 17px;
    height: 1.5em;
    cursor: pointer;
  }

  input[type="checkbox"].c-checkbox:focus + span {
    outline: 1px solid #4c8dca;
    outline: 5px auto -webkit-focus-ring-color;
  }

  input[type="checkbox"].c-checkbox + span::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 2px;
    left: 0;
    border: 1px solid #999;
    background: #fff;
    width: 12px;
    height: 12px;
  }

  input[type="checkbox"].c-checkbox:checked + span::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 5px;
    left: 3px;
    background: #666;
    width: 6px;
    height: 6px;
  }

input[type="checkbox"].c-checkbox-filter {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  overflow: hidden;
  padding: 0;
  clip: rect(0, 0, 0, 0);
}

  input[type="checkbox"].c-checkbox-filter + span {
    display: inline-block;
    position: relative;
    height: 1.5em;
    cursor: pointer;
  }

    input[type="checkbox"].c-checkbox-filter + span::before {
      content: '・';
      display: inline-block;
      width: 17px;
    }

.c-list-radio-contact input[type="radio"] + span {
  opacity: 0.8;
}

.c-list-radio-contact input[type="radio"]:checked + span {
  opacity: 1;
}

input[type="checkbox"].c-checkbox.c-checkbox-contact + span {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  height: 1.5em;
  cursor: pointer;
}

  input[type="checkbox"].c-checkbox.c-checkbox-contact + span::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #fff;
    background: none;
    width: 16px;
    height: 16px;
  }

input[type="checkbox"].c-checkbox.c-checkbox-contact:checked + span::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 5px;
  background: #fff;
  width: 6px;
  height: 6px;
}
/* テキストフィールド */
.c-input-text-contact {
  position: relative;
  z-index: 2;
  border: none;
  border-bottom: 1px solid #8298be;
  padding: 1px 0;
  background: none;
  width: 100%;
  color: #fff;
  font-size: 2.6rem;
}

  .c-input-text-contact:focus {
    border-bottom: 1px solid #fff;
    outline: none;
  }

/* テキストエリア */
.c-textarea-contact {
  overflow: auto;
  border: none;
  background: none;
  width: 100%;
  color: #fff;
  font-size: 2.6rem;
  line-height: 1.3;
}

  .c-textarea-contact:focus {
    outline: 1px solid #4c8dca;
    outline: 5px auto -webkit-focus-ring-color;
  }

  .c-textarea-contact::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: #8298be;
  }

  .c-textarea-contact:-ms-input-placeholder { /* IE11 */
    color: #8298be;
  }

  .c-textarea-contact::placeholder {
    color: #8298be;
  }

/* リンク
-----------------------*/
/* キャレット付き*/
.c-link-caret {
  padding-left: 10px;
  text-indent: -10px;
}

  .c-link-caret::before {
    font-family: 'FontAwesome';
    content: "\f105";
    position: relative;
    top: 1px;
    margin-right: 5px;
    font-size: 2rem;
    line-height: 0;
  }

a.c-link-caret:hover {
  text-decoration: none;
}

  a.c-link-caret:hover span {
    text-decoration: underline;
  }

.c-link-caret.is-active {
  color: #005B96;
}

/* SNSシェア */
.c-link-share {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  height: 1em;
  cursor: pointer;
}

.c-link-share-text:hover span {
  text-decoration: underline;
}

.c-link-share-button {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 8px 8px 15px 1px rgba(0,0,0,0.5);
  width: 50px;
  height: 50px;
  color: #005B96;
  font-size: 1.6rem;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
}

.is-open .c-link-share-button {
  opacity: 1;
  pointer-events: auto;
}

  .is-open .c-link-share-button:hover {
    color: #fff;
    background: #005B96;
  }

  .is-open .c-link-share-button:nth-child(2) {
    top: -110px;
    left: -25px;
  }

  .is-open .c-link-share-button:nth-child(3) {
    top: -70px;
    left: -67px;
  }

  .is-open .c-link-share-button:nth-child(4) {
    top: -15px;
    left: -85px;
  }

/* 外部リンク */
.c-link-external::after {
  font-family: FontAwesome;
  content: '\f24d';
  margin-left: 10px;
}

a.c-link-external:hover {
  /*  text-decoration: none;*/
}

  a.c-link-external:hover span {
    text-decoration: underline;
  }

/* マーカーアイコン */
.c-link-icon {
  text-indent: -22px;
  padding-left: 22px;
}

  .c-link-icon::before {
    font-family: FontAwesome;
    margin-right: 10px;
  }

a.c-link-icon:hover {
  text-decoration: none;
}

  a.c-link-icon:hover span {
    text-decoration: underline;
  }

.c-link-icon.is-pdf::before {
  content: '\f1c1';
}

.c-link-icon.is-excel::before {
  content: '\f1c3';
}

/* 開閉（アップダウン）アイコン */
.c-link-down {
  cursor: pointer;
}

  .c-link-down::after {
    content: "\f107";
    font-family: 'FontAwesome';
    display: inline-block;
    margin-left: 10px;
    font-size: 2rem;
  }

  .c-link-up::after,
  .c-link-down.is-open::after {
    content: "\f106";
    font-family: 'FontAwesome';
    display: inline-block;
    margin-left: 10px;
    font-size: 2rem;
  }

/* 通常リンクと同じ装飾用（主にJSで使用） */
.c-link-decoration {
  color: #005B96;
  cursor: pointer;
}

  .c-link-decoration:hover {
    text-decoration: underline;
  }

/* カードエリア用 */
.c-link-card {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
}

  .c-link-card:hover {
    color: inherit;
    text-decoration: none;
  }

/* テキスト
-----------------------*/
.c-text-img-over {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  padding-left: calc(42/2800*100vw);
  padding-right: calc(42/2800*100vw);
  padding-bottom: calc(54/2800*100vw);
  color: #fff;
  font-size: calc(32/2800*100vw);
  line-height: calc(44/32);
}

.c-text-img-over-title {
  font-size: calc(40/2800*100vw);
  font-weight: bold;
  line-height: calc(60/40);
}

/* フレックス
-----------------------*/
.c-flex-justify-start {
  display: flex;
  justify-content: flex-start;
}

.c-flex-justify-center {
  display: flex;
  justify-content: center;
}

.c-flex-justify-end {
  display: flex;
  justify-content: flex-end;
}

.c-flex-justify-between {
  display: flex;
  justify-content: space-between;
}

.c-flex-align-start {
  display: flex;
  align-items: flex-start;
}

.c-flex-align-center {
  display: flex;
  align-items: center;
}

.c-flex-align-end {
  display: flex;
  align-items: flex-end;
}

.c-flex-between-start {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.c-flex-between-center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-flex-between-end {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.c-flex-center-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 2カラム用フレックス */
.c-flex-2column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

  .c-flex-2column + .c-flex-2column {
    margin-top: 40px;
  }

  .c-flex-2column > * {
    margin-top: 40px;
  }

    .c-flex-2column > *:nth-child(-n+2) {
      margin-top: 0;
    }

  .c-flex-2column.is-20 > * {
    width: calc((100% - 20px) / 2 - 0.1px);
  }

  .c-flex-2column.is-30 > * {
    width: calc((100% - 30px) / 2 - 0.1px);
  }

  .c-flex-2column.is-40 > * {
    width: calc((100% - 40px) / 2 - 0.1px);
  }

  .c-flex-2column.is-50 > * {
    width: calc((100% - 50px) / 2 - 0.1px);
    margin-top: 60px;
  }

  .c-flex-2column.is-60 > * {
    width: calc((100% - 60px) / 2 - 0.1px);
    margin-top: 60px;
  }

    .c-flex-2column.is-50 > *:nth-child(-n+2),
    .c-flex-2column.is-60 > *:nth-child(-n+2) {
      margin-top: 0;
    }

  .c-flex-2column.is-left-image {
    flex-direction: row-reverse;
  }

    .c-flex-2column.is-left-image > *:nth-child(1),
    .c-flex-2column.is-right-image > *:nth-child(1) {
      width: calc((((100% / 12) * 7) - 20px) - 0.1px);
    }

    .c-flex-2column.is-left-image > *:nth-child(2),
    .c-flex-2column.is-right-image > *:nth-child(2) {
      width: calc((((100% / 12) * 5) - 20px) - 0.1px);
    }

      .c-flex-2column.is-left-image > *:nth-child(2) > *,
      .c-flex-2column.is-right-image > *:nth-child(2) > * {
        width: 100%;
        max-width: 380px;
        margin: 0 auto;
      }

/* 左右比率変更用 */
.c-col-0 {
  display: none !important;
}

.c-col-12 {
  width: 100% !important;
}

.c-flex-2column.is-20 .c-col-1 {
  width: calc((100% - 20px) * (1 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-2 {
  width: calc((100% - 20px) * (2 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-3 {
  width: calc((100% - 20px) * (3 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-4 {
  width: calc((100% - 20px) * (4 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-5 {
  width: calc((100% - 20px) * (5 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-6 {
  width: calc((100% - 20px) * (6 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-7 {
  width: calc((100% - 20px) * (7 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-8 {
  width: calc((100% - 20px) * (8 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-9 {
  width: calc((100% - 20px) * (9 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-10 {
  width: calc((100% - 20px) * (10 /12) - 0.1px);
}

.c-flex-2column.is-20 .c-col-12 {
  width: calc((100% - 20px) * (11 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-1 {
  width: calc((100% - 30px) * (1 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-2 {
  width: calc((100% - 30px) * (2 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-3 {
  width: calc((100% - 30px) * (3 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-4 {
  width: calc((100% - 30px) * (4 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-5 {
  width: calc((100% - 30px) * (5 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-6 {
  width: calc((100% - 30px) * (6 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-7 {
  width: calc((100% - 30px) * (7 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-8 {
  width: calc((100% - 30px) * (8 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-9 {
  width: calc((100% - 30px) * (9 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-10 {
  width: calc((100% - 30px) * (10 /12) - 0.1px);
}

.c-flex-2column.is-30 .c-col-11 {
  width: calc((100% - 30px) * (11 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-1 {
  width: calc((100% - 40px) * (1 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-2 {
  width: calc((100% - 40px) * (2 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-3 {
  width: calc((100% - 40px) * (3 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-4 {
  width: calc((100% - 40px) * (4 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-5 {
  width: calc((100% - 40px) * (5 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-6 {
  width: calc((100% - 40px) * (6 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-7 {
  width: calc((100% - 40px) * (7 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-8 {
  width: calc((100% - 40px) * (8 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-9 {
  width: calc((100% - 40px) * (9 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-10 {
  width: calc((100% - 40px) * (10 /12) - 0.1px);
}

.c-flex-2column.is-40 .c-col-11 {
  width: calc((100% - 40px) * (11 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-1 {
  width: calc((100% - 50px) * (1 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-2 {
  width: calc((100% - 50px) * (2 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-3 {
  width: calc((100% - 50px) * (3 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-4 {
  width: calc((100% - 50px) * (4 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-5 {
  width: calc((100% - 50px) * (5 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-6 {
  width: calc((100% - 50px) * (6 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-7 {
  width: calc((100% - 50px) * (7 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-8 {
  width: calc((100% - 50px) * (8 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-9 {
  width: calc((100% - 50px) * (9 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-10 {
  width: calc((100% - 50px) * (10 /12) - 0.1px);
}

.c-flex-2column.is-50 .c-col-11 {
  width: calc((100% - 50px) * (11 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-1 {
  width: calc((100% - 60px) * (1 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-2 {
  width: calc((100% - 60px) * (2 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-3 {
  width: calc((100% - 60px) * (3 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-4 {
  width: calc((100% - 60px) * (4 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-5 {
  width: calc((100% - 60px) * (5 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-6 {
  width: calc((100% - 60px) * (6 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-7 {
  width: calc((100% - 60px) * (7 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-8 {
  width: calc((100% - 60px) * (8 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-9 {
  width: calc((100% - 60px) * (9 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-10 {
  width: calc((100% - 60px) * (10 /12) - 0.1px);
}

.c-flex-2column.is-60 .c-col-11 {
  width: calc((100% - 60px) * (11 /12) - 0.1px);
}

@media (min-width: 768px) {
  .c-flex-justify-start-pc {
    display: flex;
    justify-content: flex-start;
  }

  .c-flex-justify-center-pc {
    display: flex;
    justify-content: center;
  }

  .c-flex-justify-end-pc {
    display: flex;
    justify-content: flex-end;
  }

  .c-flex-justify-between-pc {
    display: flex;
    justify-content: space-between;
  }

  .c-flex-align-start-pc {
    display: flex;
    align-items: flex-start;
  }

  .c-flex-align-center-pc {
    display: flex;
    align-items: center;
  }

  .c-flex-align-end-pc {
    display: flex;
    align-items: flex-end;
  }

  .c-flex-between-start-pc {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .c-flex-between-center-pc {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .c-flex-between-end-pc {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }

  .c-flex-center-center-pc {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* 2カラム用フレックスPC */
  .c-flex-2column-pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

    .c-flex-2column-pc + .c-flex-2column-pc {
      margin-top: 40px;
    }

    .c-flex-2column-pc > * {
      margin-top: 40px;
    }

      .c-flex-2column-pc > *:nth-child(-n+2) {
        margin-top: 0;
      }

    .c-flex-2column-pc.is-20 > * {
      width: calc((100% - 20px) / 2 - 0.1px);
    }

    .c-flex-2column-pc.is-30 > * {
      width: calc((100% - 30px) / 2 - 0.1px);
    }

    .c-flex-2column-pc.is-40 > * {
      width: calc((100% - 40px) / 2 - 0.1px);
    }

    .c-flex-2column-pc.is-50 > * {
      width: calc((100% - 50px) / 2 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-2column-pc.is-60 > * {
      width: calc((100% - 60px) / 2 - 0.1px);
      margin-top: 60px;
    }

      .c-flex-2column-pc.is-50 > *:nth-child(-n+2),
      .c-flex-2column-pc.is-60 > *:nth-child(-n+2) {
        margin-top: 0;
      }

    .c-flex-2column-pc.is-left-image {
      flex-direction: row-reverse;
    }

      .c-flex-2column-pc.is-left-image > *:nth-child(1),
      .c-flex-2column-pc.is-right-image > *:nth-child(1) {
        width: calc((((100% / 12) * 7) - 20px) - 0.1px);
      }

      .c-flex-2column-pc.is-left-image > *:nth-child(2),
      .c-flex-2column-pc.is-right-image > *:nth-child(2) {
        width: calc((((100% / 12) * 5) - 20px) - 0.1px);
      }

        .c-flex-2column-pc.is-left-image > *:nth-child(2) > *,
        .c-flex-2column-pc.is-right-image > *:nth-child(2) > * {
          width: 100%;
          max-width: 380px;
          margin: 0 auto;
        }

  /* 左右比率変更用 */
  .c-col-0-pc {
    display: none !important;
  }

  .c-col-12-pc {
    width: 100% !important;
  }

    .c-col-12-pc + .c-col-12-pc {
      margin-top: 40px;
    }

  .c-flex-2column.is-20 .c-col-1-pc,
  .c-flex-2column-pc.is-20 .c-col-1-pc {
    width: calc((100% - 20px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-2-pc,
  .c-flex-2column-pc.is-20 .c-col-2-pc {
    width: calc((100% - 20px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-3-pc,
  .c-flex-2column-pc.is-20 .c-col-3-pc {
    width: calc((100% - 20px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-4-pc,
  .c-flex-2column-pc.is-20 .c-col-4-pc {
    width: calc((100% - 20px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-5-pc,
  .c-flex-2column-pc.is-20 .c-col-5-pc {
    width: calc((100% - 20px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-6-pc,
  .c-flex-2column-pc.is-20 .c-col-6-pc {
    width: calc((100% - 20px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-7-pc,
  .c-flex-2column-pc.is-20 .c-col-7-pc {
    width: calc((100% - 20px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-8-pc,
  .c-flex-2column-pc.is-20 .c-col-8-pc {
    width: calc((100% - 20px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-9-pc,
  .c-flex-2column-pc.is-20 .c-col-9-pc {
    width: calc((100% - 20px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-10-pc,
  .c-flex-2column-pc.is-20 .c-col-10-pc {
    width: calc((100% - 20px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-11-pc,
  .c-flex-2column-pc.is-20 .c-col-12-pc {
    width: calc((100% - 20px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-1-pc,
  .c-flex-2column-pc.is-30 .c-col-1-pc {
    width: calc((100% - 30px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-2-pc,
  .c-flex-2column-pc.is-30 .c-col-2-pc {
    width: calc((100% - 30px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-3-pc,
  .c-flex-2column-pc.is-30 .c-col-3-pc {
    width: calc((100% - 30px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-4-pc,
  .c-flex-2column-pc.is-30 .c-col-4-pc {
    width: calc((100% - 30px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-5-pc,
  .c-flex-2column-pc.is-30 .c-col-5-pc {
    width: calc((100% - 30px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-6-pc,
  .c-flex-2column-pc.is-30 .c-col-6-pc {
    width: calc((100% - 30px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-7-pc,
  .c-flex-2column-pc.is-30 .c-col-7-pc {
    width: calc((100% - 30px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-8-pc,
  .c-flex-2column-pc.is-30 .c-col-8-pc {
    width: calc((100% - 30px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-9-pc,
  .c-flex-2column-pc.is-30 .c-col-9-pc {
    width: calc((100% - 30px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-10-pc,
  .c-flex-2column-pc.is-30 .c-col-10-pc {
    width: calc((100% - 30px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-11-pc,
  .c-flex-2column-pc.is-30 .c-col-11-pc {
    width: calc((100% - 30px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-1-pc,
  .c-flex-2column-pc.is-40 .c-col-1-pc {
    width: calc((100% - 40px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-2-pc,
  .c-flex-2column-pc.is-40 .c-col-2-pc {
    width: calc((100% - 40px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-3-pc,
  .c-flex-2column-pc.is-40 .c-col-3-pc {
    width: calc((100% - 40px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-4-pc,
  .c-flex-2column-pc.is-40 .c-col-4-pc {
    width: calc((100% - 40px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-5-pc,
  .c-flex-2column-pc.is-40 .c-col-5-pc {
    width: calc((100% - 40px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-6-pc,
  .c-flex-2column-pc.is-40 .c-col-6-pc {
    width: calc((100% - 40px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-7-pc,
  .c-flex-2column-pc.is-40 .c-col-7-pc {
    width: calc((100% - 40px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-8-pc,
  .c-flex-2column-pc.is-40 .c-col-8-pc {
    width: calc((100% - 40px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-9-pc,
  .c-flex-2column-pc.is-40 .c-col-9-pc {
    width: calc((100% - 40px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-10-pc,
  .c-flex-2column-pc.is-40 .c-col-10-pc {
    width: calc((100% - 40px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-11-pc,
  .c-flex-2column-pc.is-40 .c-col-11-pc {
    width: calc((100% - 40px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-1-pc,
  .c-flex-2column-pc.is-50 .c-col-1-pc {
    width: calc((100% - 50px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-2-pc,
  .c-flex-2column-pc.is-50 .c-col-2-pc {
    width: calc((100% - 50px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-3-pc,
  .c-flex-2column-pc.is-50 .c-col-3-pc {
    width: calc((100% - 50px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-4-pc,
  .c-flex-2column-pc.is-50 .c-col-4-pc {
    width: calc((100% - 50px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-5-pc,
  .c-flex-2column-pc.is-50 .c-col-5-pc {
    width: calc((100% - 50px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-6-pc,
  .c-flex-2column-pc.is-50 .c-col-6-pc {
    width: calc((100% - 50px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-7-pc,
  .c-flex-2column-pc.is-50 .c-col-7-pc {
    width: calc((100% - 50px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-8-pc,
  .c-flex-2column-pc.is-50 .c-col-8-pc {
    width: calc((100% - 50px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-9-pc,
  .c-flex-2column-pc.is-50 .c-col-9-pc {
    width: calc((100% - 50px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-10-pc,
  .c-flex-2column-pc.is-50 .c-col-10-pc {
    width: calc((100% - 50px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-11-pc,
  .c-flex-2column-pc.is-50 .c-col-11-pc {
    width: calc((100% - 50px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-1-pc,
  .c-flex-2column-pc.is-60 .c-col-1-pc {
    width: calc((100% - 60px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-2-pc,
  .c-flex-2column-pc.is-60 .c-col-2-pc {
    width: calc((100% - 60px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-3-pc,
  .c-flex-2column-pc.is-60 .c-col-3-pc {
    width: calc((100% - 60px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-4-pc,
  .c-flex-2column-pc.is-60 .c-col-4-pc {
    width: calc((100% - 60px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-5-pc,
  .c-flex-2column-pc.is-60 .c-col-5-pc {
    width: calc((100% - 60px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-6-pc,
  .c-flex-2column-pc.is-60 .c-col-6-pc {
    width: calc((100% - 60px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-7-pc,
  .c-flex-2column-pc.is-60 .c-col-7-pc {
    width: calc((100% - 60px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-8-pc,
  .c-flex-2column-pc.is-60 .c-col-8-pc {
    width: calc((100% - 60px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-9-pc,
  .c-flex-2column-pc.is-60 .c-col-9-pc {
    width: calc((100% - 60px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-10-pc,
  .c-flex-2column-pc.is-60 .c-col-10-pc {
    width: calc((100% - 60px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-11-pc,
  .c-flex-2column-pc.is-60 .c-col-11-pc {
    width: calc((100% - 60px) * (11 /12) - 0.1px);
  }

  /* 3カラム用フレックスPC */
  .c-flex-3column-pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .c-flex-3column-pc {
    line-height: 1.75;
  }

    .c-flex-3column-pc > * {
      margin-top: 40px;
    }

      .c-flex-3column-pc > *:nth-child(-n+3) {
        margin-top: 0;
      }

      .c-flex-3column-pc > *:last-child:nth-child(3n-1) {
        margin-right: auto;
      }

    .c-flex-3column-pc.is-20 > * {
      width: calc((100% - 40px) / 3 - 0.1px);
    }

    .c-flex-3column-pc.is-30 > * {
      width: calc((100% - 60px) / 3 - 0.1px);
    }

    .c-flex-3column-pc.is-40 > * {
      width: calc((100% - 80px) / 3 - 0.1px);
    }

    .c-flex-3column-pc.is-50 > * {
      width: calc((100% - 100px) / 3 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-3column-pc.is-60 > * {
      width: calc((100% - 120px) / 3 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-3column-pc.is-20 > *:last-child:nth-child(3n-1) {
      margin-left: 20px;
    }

    .c-flex-3column-pc.is-30 > *:last-child:nth-child(3n-1) {
      margin-left: 30px;
    }

    .c-flex-3column-pc.is-40 > *:last-child:nth-child(3n-1) {
      margin-left: 40px;
    }

    .c-flex-3column-pc.is-50 > *:last-child:nth-child(3n-1) {
      margin-left: 50px;
    }

    .c-flex-3column-pc.is-60 > *:last-child:nth-child(3n-1) {
      margin-left: 60px;
    }

    .c-flex-3column-pc.is-50 > *:nth-child(-n+3),
    .c-flex-3column-pc.is-60 > *:nth-child(-n+3) {
      margin-top: 0;
    }

  /* 4カラム用フレックスPC */
  .c-flex-4column-pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

    .c-flex-4column-pc > * {
      margin-top: 40px;
    }

      .c-flex-4column-pc > *:nth-child(-n+4) {
        margin-top: 0;
      }

      .c-flex-4column-pc > *:last-child:nth-child(4n-1),
      .c-flex-4column-pc > *:last-child:nth-child(4n-2) {
        margin-right: auto;
      }

    .c-flex-4column-pc.is-20 > * {
      width: calc((100% - 60px) / 4 - 0.1px);
    }

    .c-flex-4column-pc.is-30 > * {
      width: calc((100% - 90px) / 4 - 0.1px);
    }

    .c-flex-4column-pc.is-40 > * {
      width: calc((100% - 120px) / 4 - 0.1px);
    }

    .c-flex-4column-pc.is-50 > * {
      width: calc((100% - 150px) / 4 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-4column-pc.is-60 > * {
      width: calc((100% - 180px) / 4 - 0.1px);
      margin-top: 60px;
    }

      .c-flex-4column-pc.is-50 > *:nth-child(-n+4),
      .c-flex-4column-pc.is-60 > *:nth-child(-n+4) {
        margin-top: 0;
      }

    .c-flex-4column-pc.is-20 > *:last-child:nth-child(4n-1),
    .c-flex-4column-pc.is-20 > *:last-child:nth-child(4n-2) {
      margin-left: 20px;
    }

    .c-flex-4column-pc.is-30 > *:last-child:nth-child(4n-1),
    .c-flex-4column-pc.is-30 > *:last-child:nth-child(4n-2) {
      margin-left: 30px;
    }

    .c-flex-4column-pc.is-40 > *:last-child:nth-child(4n-1),
    .c-flex-4column-pc.is-40 > *:last-child:nth-child(4n-2) {
      margin-left: 40px;
    }

    .c-flex-4column-pc.is-50 > *:last-child:nth-child(4n-1),
    .c-flex-4column-pc.is-50 > *:last-child:nth-child(4n-2) {
      margin-left: 50px;
    }

    .c-flex-4column-pc.is-60 > *:last-child:nth-child(4n-1),
    .c-flex-4column-pc.is-60 > *:last-child:nth-child(4n-2) {
      margin-left: 60px;
    }

  /* nカラム用フレックスPC（カラム数可変） */
  .c-flex-n-column-pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

    .c-flex-n-column-pc > * {
      margin-top: 40px;
      flex-grow: 1;
    }

    .c-flex-n-column-pc.is-20 {
      margin-left: -10px;
      margin-right: -10px;
    }

    .c-flex-n-column-pc.is-30 {
      margin-left: -15px;
      margin-right: -15px;
    }

    .c-flex-n-column-pc.is-40 {
      margin-left: -20px;
      margin-right: -20px;
    }

    .c-flex-n-column-pc.is-50 {
      margin-left: -25px;
      margin-right: -25px;
    }

    .c-flex-n-column-pc.is-60 {
      margin-left: -30px;
      margin-right: -30px;
    }

    .c-flex-n-column-pc.is-20 > * {
      padding-left: 10px;
      padding-right: 10px;
    }

    .c-flex-n-column-pc.is-30 > * {
      padding-left: 15px;
      padding-right: 15px;
    }

    .c-flex-n-column-pc.is-40 > * {
      padding-left: 20px;
      padding-right: 20px;
    }

    .c-flex-n-column-pc.is-50 > * {
      padding-left: 25px;
      padding-right: 25px;
    }

    .c-flex-n-column-pc.is-60 > * {
      padding-left: 30px;
      padding-right: 30px;
    }

    .c-flex-n-column-pc.is-max-3-column > *:nth-child(-n+3) {
      margin-top: 0;
    }

    .c-flex-n-column-pc.is-max-4-column > *:nth-child(-n+4) {
      margin-top: 0;
    }

    .c-flex-n-column-pc.is-max-3-column > *:last-child:nth-child(3n-1) {
      margin-right: auto;
    }

    .c-flex-n-column-pc.is-max-4-column > *:last-child:nth-child(4n-1),
    .c-flex-n-column-pc.is-max-4-column > *:last-child:nth-child(4n-2) {
      margin-right: auto;
    }

    .c-flex-n-column-pc.is-min-2-column.is-20 > * {
      max-width: calc((100% - 20px) / 2 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-2-column.is-30 > * {
      max-width: calc((100% - 30px) / 2 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-2-column.is-40 > * {
      max-width: calc((100% - 40px) / 2 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-2-column.is-50 > * {
      max-width: calc((100% - 50px) / 2 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-2-column.is-60 > * {
      max-width: calc((100% - 60px) / 2 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-3-column.is-20 > * {
      max-width: calc((100% - 40px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-3-column.is-30 > * {
      max-width: calc((100% - 60px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-3-column.is-40 > * {
      max-width: calc((100% - 80px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-3-column.is-50 > * {
      max-width: calc((100% - 100px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-min-3-column.is-60 > * {
      max-width: calc((100% - 120px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-20 > * {
      min-width: calc((100% - 40px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-30 > * {
      min-width: calc((100% - 60px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-40 > * {
      min-width: calc((100% - 80px) / 3 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-50 > * {
      min-width: calc((100% - 100px) / 3 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-n-column-pc.is-max-3-column.is-60 > * {
      min-width: calc((100% - 120px) / 3 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-n-column-pc.is-max-4-column.is-20 > * {
      min-width: calc((100% - 60px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-30 > * {
      width: calc((100% - 90px) / 4 - 0.1px);
      min-width: calc((100% - 90px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-40 > * {
      min-width: calc((100% - 120px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-50 > * {
      min-width: calc((100% - 150px) / 4 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-n-column-pc.is-max-4-column.is-60 > * {
      min-width: calc((100% - 180px) / 4 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-n-column-pc.is-max-3-column.is-20 > *:nth-child(n+3) {
      max-width: calc((100% - 40px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-30 > *:nth-child(n+3) {
      max-width: calc((100% - 60px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-40 > *:nth-child(n+3) {
      max-width: calc((100% - 80px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-50 > *:nth-child(n+3) {
      max-width: calc((100% - 100px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-60 > *:nth-child(n+3) {
      max-width: calc((100% - 120px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-20 > *:nth-child(n+4) {
      max-width: calc((100% - 60px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-30 > *:nth-child(n+4) {
      max-width: calc((100% - 90px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-40 > *:nth-child(n+4) {
      max-width: calc((100% - 120px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-50 > *:nth-child(n+4) {
      max-width: calc((100% - 150px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-4-column.is-60 > *:nth-child(n+4) {
      max-width: calc((100% - 160px) / 4 - 0.1px);
    }

    .c-flex-n-column-pc.is-max-3-column.is-50 > *:nth-child(-n+3),
    .c-flex-n-column-pc.is-max-3-column.is-60 > *:nth-child(-n+3) {
      margin-top: 0;
    }

    .c-flex-n-column-pc.is-max-4-column.is-50 > *:nth-child(-n+4),
    .c-flex-n-column-pc.is-max-4-column.is-60 > *:nth-child(-n+4) {
      margin-top: 0;
    }
}

@media screen and (max-width: 991px) {
  /* 2カラム用フレックスTAB */
  .c-flex-2column-tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

    .c-flex-2column-tab + .c-flex-2column-tab {
      margin-top: 40px;
    }

    .c-flex-2column-tab > * {
      margin-top: 40px;
    }

      .c-flex-2column-tab > *:nth-child(-n+2) {
        margin-top: 0;
      }

    .c-flex-2column-tab.is-20 > * {
      width: calc((100% - 20px) / 2 - 0.1px);
    }

    .c-flex-2column-tab.is-30 > * {
      width: calc((100% - 30px) / 2 - 0.1px);
    }

    .c-flex-2column-tab.is-40 > * {
      width: calc((100% - 40px) / 2 - 0.1px);
    }

    .c-flex-2column-tab.is-50 > * {
      width: calc((100% - 50px) / 2 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-2column-tab.is-60 > * {
      width: calc((100% - 60px) / 2 - 0.1px);
      margin-top: 60px;
    }

      .c-flex-2column-tab.is-50 > *:nth-child(-n+2),
      .c-flex-2column-tab.is-60 > *:nth-child(-n+2) {
        margin-top: 0;
      }

    .c-flex-2column-tab.is-left-image {
      flex-direction: row-reverse;
    }

      .c-flex-2column-tab.is-left-image > *:nth-child(1),
      .c-flex-2column-tab.is-right-image > *:nth-child(1) {
        width: calc((((100% / 12) * 7) - 20px) - 0.1px);
      }

      .c-flex-2column-tab.is-left-image > *:nth-child(2),
      .c-flex-2column-tab.is-right-image > *:nth-child(2) {
        width: calc((((100% / 12) * 5) - 20px) - 0.1px);
      }

        .c-flex-2column-tab.is-left-image > *:nth-child(2) > *,
        .c-flex-2column-tab.is-right-image > *:nth-child(2) > * {
          width: 100%;
          max-width: 380px;
          margin: 0 auto;
        }

  /* 左右比率変更用 */
  .c-col-0-tab {
    display: none !important;
  }

  .c-col-12-tab {
    width: 100% !important;
  }

    .c-col-12-tab + .c-col-12-tab {
      margin-top: 40px;
    }

  .c-flex-2column.is-20 .c-col-1-tab,
  .c-flex-2column-tab.is-20 .c-col-1-tab {
    width: calc((100% - 20px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-2-tab,
  .c-flex-2column-tab.is-20 .c-col-2-tab {
    width: calc((100% - 20px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-3-tab,
  .c-flex-2column-tab.is-20 .c-col-3-tab {
    width: calc((100% - 20px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-4-tab,
  .c-flex-2column-tab.is-20 .c-col-4-tab {
    width: calc((100% - 20px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-5-tab,
  .c-flex-2column-tab.is-20 .c-col-5-tab {
    width: calc((100% - 20px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-6-tab,
  .c-flex-2column-tab.is-20 .c-col-6-tab {
    width: calc((100% - 20px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-7-tab,
  .c-flex-2column-tab.is-20 .c-col-7-tab {
    width: calc((100% - 20px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-8-tab,
  .c-flex-2column-tab.is-20 .c-col-8-tab {
    width: calc((100% - 20px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-9-tab,
  .c-flex-2column-tab.is-20 .c-col-9-tab {
    width: calc((100% - 20px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-10-tab,
  .c-flex-2column-tab.is-20 .c-col-10-tab {
    width: calc((100% - 20px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-11-tab,
  .c-flex-2column-tab.is-20 .c-col-12-tab {
    width: calc((100% - 20px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-1-tab,
  .c-flex-2column-tab.is-30 .c-col-1-tab {
    width: calc((100% - 30px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-2-tab,
  .c-flex-2column-tab.is-30 .c-col-2-tab {
    width: calc((100% - 30px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-3-tab,
  .c-flex-2column-tab.is-30 .c-col-3-tab {
    width: calc((100% - 30px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-4-tab,
  .c-flex-2column-tab.is-30 .c-col-4-tab {
    width: calc((100% - 30px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-5-tab,
  .c-flex-2column-tab.is-30 .c-col-5-tab {
    width: calc((100% - 30px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-6-tab,
  .c-flex-2column-tab.is-30 .c-col-6-tab {
    width: calc((100% - 30px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-7-tab,
  .c-flex-2column-tab.is-30 .c-col-7-tab {
    width: calc((100% - 30px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-8-tab,
  .c-flex-2column-tab.is-30 .c-col-8-tab {
    width: calc((100% - 30px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-9-tab,
  .c-flex-2column-tab.is-30 .c-col-9-tab {
    width: calc((100% - 30px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-10-tab,
  .c-flex-2column-tab.is-30 .c-col-10-tab {
    width: calc((100% - 30px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-11-tab,
  .c-flex-2column-tab.is-30 .c-col-11-tab {
    width: calc((100% - 30px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-1-tab,
  .c-flex-2column-tab.is-40 .c-col-1-tab {
    width: calc((100% - 40px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-2-tab,
  .c-flex-2column-tab.is-40 .c-col-2-tab {
    width: calc((100% - 40px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-3-tab,
  .c-flex-2column-tab.is-40 .c-col-3-tab {
    width: calc((100% - 40px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-4-tab,
  .c-flex-2column-tab.is-40 .c-col-4-tab {
    width: calc((100% - 40px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-5-tab,
  .c-flex-2column-tab.is-40 .c-col-5-tab {
    width: calc((100% - 40px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-6-tab,
  .c-flex-2column-tab.is-40 .c-col-6-tab {
    width: calc((100% - 40px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-7-tab,
  .c-flex-2column-tab.is-40 .c-col-7-tab {
    width: calc((100% - 40px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-8-tab,
  .c-flex-2column-tab.is-40 .c-col-8-tab {
    width: calc((100% - 40px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-9-tab,
  .c-flex-2column-tab.is-40 .c-col-9-tab {
    width: calc((100% - 40px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-10-tab,
  .c-flex-2column-tab.is-40 .c-col-10-tab {
    width: calc((100% - 40px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-11-tab,
  .c-flex-2column-tab.is-40 .c-col-11-tab {
    width: calc((100% - 40px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-1-tab,
  .c-flex-2column-tab.is-50 .c-col-1-tab {
    width: calc((100% - 50px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-2-tab,
  .c-flex-2column-tab.is-50 .c-col-2-tab {
    width: calc((100% - 50px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-3-tab,
  .c-flex-2column-tab.is-50 .c-col-3-tab {
    width: calc((100% - 50px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-4-tab,
  .c-flex-2column-tab.is-50 .c-col-4-tab {
    width: calc((100% - 50px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-5-tab,
  .c-flex-2column-tab.is-50 .c-col-5-tab {
    width: calc((100% - 50px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-6-tab,
  .c-flex-2column-tab.is-50 .c-col-6-tab {
    width: calc((100% - 50px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-7-tab,
  .c-flex-2column-tab.is-50 .c-col-7-tab {
    width: calc((100% - 50px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-8-tab,
  .c-flex-2column-tab.is-50 .c-col-8-tab {
    width: calc((100% - 50px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-9-tab,
  .c-flex-2column-tab.is-50 .c-col-9-tab {
    width: calc((100% - 50px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-10-tab,
  .c-flex-2column-tab.is-50 .c-col-10-tab {
    width: calc((100% - 50px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-11-tab,
  .c-flex-2column-tab.is-50 .c-col-11-tab {
    width: calc((100% - 50px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-1-tab,
  .c-flex-2column-tab.is-60 .c-col-1-tab {
    width: calc((100% - 60px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-2-tab,
  .c-flex-2column-tab.is-60 .c-col-2-tab {
    width: calc((100% - 60px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-3-tab,
  .c-flex-2column-tab.is-60 .c-col-3-tab {
    width: calc((100% - 60px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-4-tab,
  .c-flex-2column-tab.is-60 .c-col-4-tab {
    width: calc((100% - 60px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-5-tab,
  .c-flex-2column-tab.is-60 .c-col-5-tab {
    width: calc((100% - 60px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-6-tab,
  .c-flex-2column-tab.is-60 .c-col-6-tab {
    width: calc((100% - 60px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-7-tab,
  .c-flex-2column-tab.is-60 .c-col-7-tab {
    width: calc((100% - 60px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-8-tab,
  .c-flex-2column-tab.is-60 .c-col-8-tab {
    width: calc((100% - 60px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-9-tab,
  .c-flex-2column-tab.is-60 .c-col-9-tab {
    width: calc((100% - 60px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-10-tab,
  .c-flex-2column-tab.is-60 .c-col-10-tab {
    width: calc((100% - 60px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-11-tab,
  .c-flex-2column-tab.is-60 .c-col-11-tab {
    width: calc((100% - 60px) * (11 /12) - 0.1px);
  }

  /* 3カラム用フレックスTAB */
  .c-flex-3column-tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }

    .c-flex-3column-tab > *,
    .c-flex-3column-tab > *:nth-child(4) {
      margin-top: 40px;
    }

      .c-flex-3column-tab > *:nth-child(-n+3) {
        margin-top: 0;
      }

      .c-flex-3column-tab > *:last-child:nth-child(3n-1) {
        margin-right: auto;
      }

    .c-flex-3column-tab.is-20 > * {
      width: calc((100% - 40px) / 3 - 0.1px);
    }

    .c-flex-3column-tab.is-30 > * {
      width: calc((100% - 60px) / 3 - 0.1px);
    }

    .c-flex-3column-tab.is-40 > * {
      width: calc((100% - 80px) / 3 - 0.1px);
    }

    .c-flex-3column-tab.is-50 > * {
      width: calc((100% - 100px) / 3 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-3column-tab.is-60 > * {
      width: calc((100% - 120px) / 3 - 0.1px);
      margin-top: 60px;
    }

    .c-flex-3column-tab.is-20-tab > *:last-child:nth-child(3n-1) {
      margin-left: 20px;
    }

    .c-flex-3column-tab.is-30-tab > *:last-child:nth-child(3n-1) {
      margin-left: 30px;
    }

    .c-flex-3column-tab.is-40-tab > *:last-child:nth-child(3n-1) {
      margin-left: 40px;
    }

    .c-flex-3column-tab.is-50-tab > *:last-child:nth-child(3n-1) {
      margin-left: 50px;
    }

    .c-flex-3column-tab.is-60-tab > *:last-child:nth-child(3n-1) {
      margin-left: 60px;
    }
}

@media screen and (max-width: 767px) {
  /* 2カラム用フレックスPC */
  .c-flex-2column-pc + .c-flex-2column-pc {
    margin-top: 40px;
  }

  .c-flex-2column-pc > * {
    margin-top: 20px;
  }

    .c-flex-2column-pc > *:first-child {
      margin-top: 0;
    }

  /* 3カラム用フレックスPC */
  .c-flex-3column-pc > * {
    margin-top: 40px;
  }

    .c-flex-3column-pc > *:first-child {
      margin-top: 0;
    }

  /* 4カラム用フレックスPC */
  .c-flex-4column-pc > * {
    margin-top: 40px;
  }

    .c-flex-4column-pc > *:first-child {
      margin-top: 0;
    }

  /* 3カラム用フレックスTAB */
  .c-flex-3column-tab > * {
    margin-top: 40px;
  }

    .c-flex-3column-tab > *:first-child {
      margin-top: 0;
    }

  /* 2カラム用フレックスSP */
  .c-flex-2column-sp {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }

    .c-flex-2column-sp + .c-flex-2column-sp {
      margin-top: 40px;
    }

    .c-flex-2column-sp > *:nth-child(-n+2) {
      margin-top: 0 !important;
    }

    .c-flex-2column-sp.is-20-sp > * {
      width: calc((100% - 20px) / 2 - 0.1px);
      margin-top: 20px;
    }

    .c-flex-2column-sp.is-30-sp > * {
      width: calc((100% - 30px) / 2 - 0.1px);
      margin-top: 30px;
    }

    .c-flex-2column-sp.is-40-sp > * {
      width: calc((100% - 40px) / 2 - 0.1px);
      margin-top: 40px;
    }

  /* 左右比率変更用 */
  .c-col-0-sp {
    display: none !important;
  }

  .c-col-12-sp {
    width: 100% !important;
  }

    .c-col-12-sp + .c-col-12-sp {
      margin-top: 20px;
    }

  .c-flex-2column.is-20 .c-col-1-sp,
  .c-flex-2column-sp.is-20 .c-col-1-sp {
    width: calc((100% - 20px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-2-sp,
  .c-flex-2column-sp.is-20 .c-col-2-sp {
    width: calc((100% - 20px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-3-sp,
  .c-flex-2column-sp.is-20 .c-col-3-sp {
    width: calc((100% - 20px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-4-sp,
  .c-flex-2column-sp.is-20 .c-col-4-sp {
    width: calc((100% - 20px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-5-sp,
  .c-flex-2column-sp.is-20 .c-col-5-sp {
    width: calc((100% - 20px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-6-sp,
  .c-flex-2column-sp.is-20 .c-col-6-sp {
    width: calc((100% - 20px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-7-sp,
  .c-flex-2column-sp.is-20 .c-col-7-sp {
    width: calc((100% - 20px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-8-sp,
  .c-flex-2column-sp.is-20 .c-col-8-sp {
    width: calc((100% - 20px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-9-sp,
  .c-flex-2column-sp.is-20 .c-col-9-sp {
    width: calc((100% - 20px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-10-sp,
  .c-flex-2column-sp.is-20 .c-col-10-sp {
    width: calc((100% - 20px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-20 .c-col-11-sp,
  .c-flex-2column-sp.is-20 .c-col-12-sp {
    width: calc((100% - 20px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-1-sp,
  .c-flex-2column-sp.is-30 .c-col-1-sp {
    width: calc((100% - 30px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-2-sp,
  .c-flex-2column-sp.is-30 .c-col-2-sp {
    width: calc((100% - 30px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-3-sp,
  .c-flex-2column-sp.is-30 .c-col-3-sp {
    width: calc((100% - 30px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-4-sp,
  .c-flex-2column-sp.is-30 .c-col-4-sp {
    width: calc((100% - 30px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-5-sp,
  .c-flex-2column-sp.is-30 .c-col-5-sp {
    width: calc((100% - 30px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-6-sp,
  .c-flex-2column-sp.is-30 .c-col-6-sp {
    width: calc((100% - 30px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-7-sp,
  .c-flex-2column-sp.is-30 .c-col-7-sp {
    width: calc((100% - 30px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-8-sp,
  .c-flex-2column-sp.is-30 .c-col-8-sp {
    width: calc((100% - 30px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-9-sp,
  .c-flex-2column-sp.is-30 .c-col-9-sp {
    width: calc((100% - 30px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-10-sp,
  .c-flex-2column-sp.is-30 .c-col-10-sp {
    width: calc((100% - 30px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-30 .c-col-11-sp,
  .c-flex-2column-sp.is-30 .c-col-11-sp {
    width: calc((100% - 30px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-1-sp,
  .c-flex-2column-sp.is-40 .c-col-1-sp {
    width: calc((100% - 40px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-2-sp,
  .c-flex-2column-sp.is-40 .c-col-2-sp {
    width: calc((100% - 40px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-3-sp,
  .c-flex-2column-sp.is-40 .c-col-3-sp {
    width: calc((100% - 40px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-4-sp,
  .c-flex-2column-sp.is-40 .c-col-4-sp {
    width: calc((100% - 40px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-5-sp,
  .c-flex-2column-sp.is-40 .c-col-5-sp {
    width: calc((100% - 40px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-6-sp,
  .c-flex-2column-sp.is-40 .c-col-6-sp {
    width: calc((100% - 40px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-7-sp,
  .c-flex-2column-sp.is-40 .c-col-7-sp {
    width: calc((100% - 40px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-8-sp,
  .c-flex-2column-sp.is-40 .c-col-8-sp {
    width: calc((100% - 40px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-9-sp,
  .c-flex-2column-sp.is-40 .c-col-9-sp {
    width: calc((100% - 40px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-10-sp,
  .c-flex-2column-sp.is-40 .c-col-10-sp {
    width: calc((100% - 40px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-40 .c-col-11-sp,
  .c-flex-2column-sp.is-40 .c-col-11-sp {
    width: calc((100% - 40px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-1-sp,
  .c-flex-2column-sp.is-50 .c-col-1-sp {
    width: calc((100% - 50px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-2-sp,
  .c-flex-2column-sp.is-50 .c-col-2-sp {
    width: calc((100% - 50px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-3-sp,
  .c-flex-2column-sp.is-50 .c-col-3-sp {
    width: calc((100% - 50px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-4-sp,
  .c-flex-2column-sp.is-50 .c-col-4-sp {
    width: calc((100% - 50px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-5-sp,
  .c-flex-2column-sp.is-50 .c-col-5-sp {
    width: calc((100% - 50px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-6-sp,
  .c-flex-2column-sp.is-50 .c-col-6-sp {
    width: calc((100% - 50px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-7-sp,
  .c-flex-2column-sp.is-50 .c-col-7-sp {
    width: calc((100% - 50px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-8-sp,
  .c-flex-2column-sp.is-50 .c-col-8-sp {
    width: calc((100% - 50px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-9-sp,
  .c-flex-2column-sp.is-50 .c-col-9-sp {
    width: calc((100% - 50px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-10-sp,
  .c-flex-2column-sp.is-50 .c-col-10-sp {
    width: calc((100% - 50px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-50 .c-col-11-sp,
  .c-flex-2column-sp.is-50 .c-col-11-sp {
    width: calc((100% - 50px) * (11 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-1-sp,
  .c-flex-2column-sp.is-60 .c-col-1-sp {
    width: calc((100% - 60px) * (1 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-2-sp,
  .c-flex-2column-sp.is-60 .c-col-2-sp {
    width: calc((100% - 60px) * (2 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-3-sp,
  .c-flex-2column-sp.is-60 .c-col-3-sp {
    width: calc((100% - 60px) * (3 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-4-sp,
  .c-flex-2column-sp.is-60 .c-col-4-sp {
    width: calc((100% - 60px) * (4 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-5-sp,
  .c-flex-2column-sp.is-60 .c-col-5-sp {
    width: calc((100% - 60px) * (5 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-6-sp,
  .c-flex-2column-sp.is-60 .c-col-6-sp {
    width: calc((100% - 60px) * (6 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-7-sp,
  .c-flex-2column-sp.is-60 .c-col-7-sp {
    width: calc((100% - 60px) * (7 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-8-sp,
  .c-flex-2column-sp.is-60 .c-col-8-sp {
    width: calc((100% - 60px) * (8 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-9-sp,
  .c-flex-2column-sp.is-60 .c-col-9-sp {
    width: calc((100% - 60px) * (9 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-10-sp,
  .c-flex-2column-sp.is-60 .c-col-10-sp {
    width: calc((100% - 60px) * (10 /12) - 0.1px);
  }

  .c-flex-2column.is-60 .c-col-11-sp,
  .c-flex-2column-sp.is-60 .c-col-11-sp {
    width: calc((100% - 60px) * (11 /12) - 0.1px);
  }
}

@media print {
  .c-flex-2column-pc + .c-flex-2column-pc {
    margin-top: 15px;
  }

  .c-flex-2column-pc > * {
    margin-top: 15px;
  }

  .c-flex-2column-pc.is-20 > * {
    width: calc((100% - 15px) / 2 - 0.1px);
  }

  .c-flex-2column-pc.is-30 > * {
    width: calc((100% - 15px) / 2 - 0.1px);
  }

  .c-flex-2column-pc.is-40 > * {
    width: calc((100% - 15px) / 2 - 0.1px);
  }

  .c-flex-2column-pc.is-50 > * {
    width: calc((100% - 15px) / 2 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-2column-pc.is-60 > * {
    width: calc((100% - 15px) / 2 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-2column-pc.is-left-image > *:nth-child(1),
  .c-flex-2column-pc.is-right-image > *:nth-child(1) {
    width: calc(100% - 380px - 15px);
  }

  .c-flex-2column-pc.is-left-image > *:nth-child(2),
  .c-flex-2column-pc.is-right-image > *:nth-child(2) {
    width: 380px;
  }
  /* .c-flex-2column-pc.is-left-image > *:nth-child(2) > *,
  .c-flex-2column-pc.is-right-image > *:nth-child(2) > * {
    width: 380px;
    max-width: 380px;
    margin: 0 auto;
  } */

  /* 左右比率変更用 */
  .c-flex-2column-pc.is-20 .c-col-1 {
    width: calc((100% - 15px) * (1 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-2 {
    width: calc((100% - 15px) * (2 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-3 {
    width: calc((100% - 15px) * (3 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-4 {
    width: calc((100% - 15px) * (4 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-5 {
    width: calc((100% - 15px) * (5 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-6 {
    width: calc((100% - 15px) * (6 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-7 {
    width: calc((100% - 15px) * (7 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-8 {
    width: calc((100% - 15px) * (8 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-9 {
    width: calc((100% - 15px) * (9 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-10 {
    width: calc((100% - 15px) * (10 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-20 .c-col-11 {
    width: calc((100% - 15px) * (11 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-1 {
    width: calc((100% - 15px) * (1 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-2 {
    width: calc((100% - 15px) * (2 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-3 {
    width: calc((100% - 15px) * (3 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-4 {
    width: calc((100% - 15px) * (4 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-5 {
    width: calc((100% - 15px) * (5 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-6 {
    width: calc((100% - 15px) * (6 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-7 {
    width: calc((100% - 15px) * (7 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-8 {
    width: calc((100% - 15px) * (8 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-9 {
    width: calc((100% - 15px) * (9 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-10 {
    width: calc((100% - 15px) * (10 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-30 .c-col-11 {
    width: calc((100% - 15px) * (11 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-1 {
    width: calc((100% - 15px) * (1 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-2 {
    width: calc((100% - 15px) * (2 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-3 {
    width: calc((100% - 15px) * (3 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-4 {
    width: calc((100% - 15px) * (4 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-5 {
    width: calc((100% - 15px) * (5 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-6 {
    width: calc((100% - 15px) * (6 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-7 {
    width: calc((100% - 15px) * (7 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-8 {
    width: calc((100% - 15px) * (8 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-9 {
    width: calc((100% - 15px) * (9 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-10 {
    width: calc((100% - 15px) * (10 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-40 .c-col-11 {
    width: calc((100% - 15px) * (11 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-1 {
    width: calc((100% - 15px) * (1 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-2 {
    width: calc((100% - 15px) * (2 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-3 {
    width: calc((100% - 15px) * (3 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-4 {
    width: calc((100% - 15px) * (4 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-5 {
    width: calc((100% - 15px) * (5 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-6 {
    width: calc((100% - 15px) * (6 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-7 {
    width: calc((100% - 15px) * (7 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-8 {
    width: calc((100% - 15px) * (8 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-9 {
    width: calc((100% - 15px) * (9 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-10 {
    width: calc((100% - 15px) * (10 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-50 .c-col-11 {
    width: calc((100% - 15px) * (11 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-1 {
    width: calc((100% - 15px) * (1 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-2 {
    width: calc((100% - 15px) * (2 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-3 {
    width: calc((100% - 15px) * (3 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-4 {
    width: calc((100% - 15px) * (4 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-5 {
    width: calc((100% - 15px) * (5 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-6 {
    width: calc((100% - 15px) * (6 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-7 {
    width: calc((100% - 15px) * (7 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-8 {
    width: calc((100% - 15px) * (8 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-9 {
    width: calc((100% - 15px) * (9 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-10 {
    width: calc((100% - 15px) * (10 /12) - 0.1px);
  }

  .c-flex-2column-pc.is-60 .c-col-11 {
    width: calc((100% - 15px) * (11 /12) - 0.1px);
  }

  /* 3カラム用フレックスPC */
  .c-flex-3column-pc > * {
    margin-top: 15px;
  }

  .c-flex-3column-pc.is-20 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
  }

  .c-flex-3column-pc.is-30 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
  }

  .c-flex-3column-pc.is-40 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
  }

  .c-flex-3column-pc.is-50 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-3column-pc.is-60 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-3column-pc.is-20 > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-pc.is-30 > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-pc.is-40 > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-pc.is-50 > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-pc.is-60 > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  /* 4カラム用フレックスPC */
  .c-flex-4column-pc > * {
    margin-top: 15px;
  }

  .c-flex-4column-pc.is-20 > * {
    width: calc((100% - 45px) / 4 - 0.1px);
  }

  .c-flex-4column-pc.is-30 > * {
    width: calc((100% - 45px) / 4 - 0.1px);
  }

  .c-flex-4column-pc.is-40 > * {
    width: calc((100% - 45px) / 4 - 0.1px);
  }

  .c-flex-4column-pc.is-50 > * {
    width: calc((100% - 45px) / 4 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-4column-pc.is-60 > * {
    width: calc((100% - 45px) / 4 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-4column-pc.is-20 > *:last-child:nth-child(4n-1),
  .c-flex-4column-pc.is-20 > *:last-child:nth-child(4n-2) {
    margin-left: 15px;
  }

  .c-flex-4column-pc.is-30 > *:last-child:nth-child(4n-1),
  .c-flex-4column-pc.is-30 > *:last-child:nth-child(4n-2) {
    margin-left: 15px;
  }

  .c-flex-4column-pc.is-40 > *:last-child:nth-child(4n-1),
  .c-flex-4column-pc.is-40 > *:last-child:nth-child(4n-2) {
    margin-left: 15px;
  }

  .c-flex-4column-pc.is-50 > *:last-child:nth-child(4n-1),
  .c-flex-4column-pc.is-50 > *:last-child:nth-child(4n-2) {
    margin-left: 15px;
  }

  .c-flex-4column-pc.is-60 > *:last-child:nth-child(4n-1),
  .c-flex-4column-pc.is-60 > *:last-child:nth-child(4n-2) {
    margin-left: 15px;
  }
  /* 3カラム用フレックスTAB */
  .c-flex-3column-tab.is-20 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
  }

  .c-flex-3column-tab.is-30 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
  }

  .c-flex-3column-tab.is-40 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
  }

  .c-flex-3column-tab.is-50 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-3column-tab.is-60 > * {
    width: calc((100% - 30px) / 3 - 0.1px);
    margin-top: 15px;
  }

  .c-flex-3column-tab.is-20-tab > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-tab.is-30-tab > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-tab.is-40-tab > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-tab.is-50-tab > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }

  .c-flex-3column-tab.is-60-tab > *:last-child:nth-child(3n-1) {
    margin-left: 15px;
  }
  /* 2カラム用フレックスPC */
  .c-flex-2column-pc + .c-flex-2column-pc {
    margin-top: 15px;
  }

  .c-flex-2column-pc > * {
    margin-top: 15px;
  }
  /* 3カラム用フレックスPC */
  .c-flex-3column-pc > * {
    margin-top: 15px;
  }

  /* 4カラム用フレックスPC */
  .c-flex-4column-pc > * {
    margin-top: 15px;
  }

  /* 3カラム用フレックスTAB */
  .c-flex-3column-tab > * {
    margin-top: 15px;
  }
}

/* 中寄せ＋左右寄せ用 */
.c-flex-center-absolute {
  display: flex;
  justify-content: space-between;
}

  .c-flex-center-absolute.is-right::before {
    content: '';
    margin-right: auto;
  }

  .c-flex-center-absolute.is-left::after {
    content: '';
    margin-left: auto;
  }

  .c-flex-center-absolute.is-right > *:last-child {
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
  }

  .c-flex-center-absolute.is-left > *:first-child {
    margin-right: auto;
  }

  .c-flex-center-absolute.is-w-50::before,
  .c-flex-center-absolute.is-w-50::after,
  .c-flex-center-absolute.is-w-50.is-right > *:last-child,
  .c-flex-center-absolute.is-w-50.is-left > *:first-child {
    width: 50px;
  }

  .c-flex-center-absolute.is-w-100::before,
  .c-flex-center-absolute.is-w-100::after,
  .c-flex-center-absolute.is-w-100.is-right > *:last-child,
  .c-flex-center-absolute.is-w-100.is-left > *:first-child {
    width: 100px;
  }

  .c-flex-center-absolute.is-w-150::before,
  .c-flex-center-absolute.is-w-150::after,
  .c-flex-center-absolute.is-w-150.is-right > *:last-child,
  .c-flex-center-absolute.is-w-150.is-left > *:first-child {
    width: 150px;
  }

  .c-flex-center-absolute.is-w-200::before,
  .c-flex-center-absolute.is-w-200::after,
  .c-flex-center-absolute.is-w-200.is-right > *:last-child,
  .c-flex-center-absolute.is-w-200.is-left > *:first-child {
    width: 200px;
  }

  .c-flex-center-absolute.is-w-250::before,
  .c-flex-center-absolute.is-w-250::after,
  .c-flex-center-absolute.is-w-250.is-right > *:last-child,
  .c-flex-center-absolute.is-w-250.is-left > *:first-child {
    width: 250px;
  }

  .c-flex-center-absolute.is-w-300::before,
  .c-flex-center-absolute.is-w-300::after,
  .c-flex-center-absolute.is-w-300.is-right > *:last-child,
  .c-flex-center-absolute.is-w-300.is-left > *:first-child {
    width: 300px;
  }

@media screen and (max-width: 767px) {
  .c-flex-center-absolute {
    display: block;
  }

    .c-flex-center-absolute.is-right::before {
      display: none;
    }

    .c-flex-center-absolute.is-left::after {
      display: none;
    }

    .c-flex-center-absolute.is-right > *:first-child {
      display: flex;
      justify-content: center;
    }

    .c-flex-center-absolute.is-right > *:last-child {
      display: flex;
      justify-content: center;
      margin-left: 0;
      margin-top: 20px;
      width: auto !important;
    }

    .c-flex-center-absolute.is-left > *:first-child {
      display: flex;
      justify-content: center;
      margin-right: 0;
      width: auto !important;
    }

    .c-flex-center-absolute.is-left > *:last-child {
      display: flex;
      justify-content: center;
      margin-top: 20px;
    }
}

/* ボーダー
-----------------------*/
.c-border-publication {
  border: 1px solid #eaeaea;
}

/* 背景
-----------------------*/
.c-bg-human-blue {
  background: #005B96;
  color: #fff !important;
}

.c-bg-smart-blue {
  background: #005B96;
  color: #fff !important;
}

.c-bg-thin-blue {
  background: #c2cee6;
}

.c-bg-thinner-blue {
  background: #e1e7f3;
}

.c-bg-blue {
  background: #19A3FC;
}

.c-bg-smart-navy {
  background: #070F26;
  color: #fff !important;
}

.c-bg-dynamic-red {
  background: #B22000;
  color: #fff !important;
}

.c-bg-delightful-yellow {
  background: #FFC400;
  color: #fff !important;
}

.c-bg-light-grey {
  background: #f3f3f3;
  color: #2E404D !important;
}

.c-bg-white {
  background: #fff;
  color: #2E404D !important;
}

.c-bg-off-white {
  background-color: #E7E7E7;
  color: #000 !important;
}

.c-bg-black {
  background: #000;
  color: #fff !important;
}

.c-bg-dark {
  background: #1d1d1f;
  color: #fff !important;
}

.c-bg-dark-grey {
  background: #222;
  color: #fff !important;
}

  .c-bg-human-blue a, .c-bg-human-blue a:hover,
  .c-bg-smart-blue a, .c-bg-smart-blue a:hover,
  .c-bg-smart-navy a, .c-bg-smart-navy a:hover,
  .c-bg-dynamic-red a, .c-bg-dynamic-red a:hover,
  .c-bg-delightful-yellow a, .c-bg-delightful-yellow a:hover,
  .c-bg-black a, .c-bg-black a:hover,
  .c-bg-dark a, .c-bg-dark a:hover,
  .c-bg-dark-grey a, .c-bg-dark-grey a:hover {
    color: #fff;
  }

.c-bg-smart-navy .is-active,
.c-bg-smart-navy .is-active a {
  color: #005B96;
}

/* Digital用 */
.c-bg-smart-blue-digital {
  background: #005B96;
  color: #fff !important;
}

.c-bg-smart-navy-digital {
  background: #070F26;
  color: #fff !important;
}

.c-bg-dynamic-red-digital {
  background: #B22000;
  color: #fff !important;
}

.c-bg-delightful-yellow-digital {
  background: #E6B600;
  color: #fff !important;
}

.c-bg-green-digital {
  background: #00CB5D;
  color: #fff !important;
}

.c-bg-purple-accent-digital {
  background: #7F2D60;
  color: #fff !important;
}

  .c-bg-smart-blue-digital a, .c-bg-smart-blue-digital a:hover,
  .c-bg-smart-navy-digital a, .c-bg-smart-navy-digital a:hover,
  .c-bg-dynamic-red-digital a, .c-bg-dynamic-red-digital a:hover,
  .c-bg-delightful-yellow-digital a, .c-bg-delightful-yellow-digital a:hover,
  .c-bg-green-digital a, .c-bg-green-digital a:hover,
  .c-bg-purple-accent-digital a, .c-bg-purple-accent-digital a:hover {
    color: #fff;
  }

/* 文字色
-----------------------*/
.c-color-inherit {
  color: inherit !important;
}

  .c-color-inherit.c-block-content-header a, .c-color-inherit.c-block-content-header a:hover {
    color: inherit !important;
  }

.c-color-normal {
  color: #333 !important;
}

  .c-color-normal.c-block-content-header a, .c-color-normal.c-block-content-header a:hover {
    color: #333 !important;
  }

.c-color-grey {
  color: #949494 !important;
}

.c-color-human-blue {
  color: #005B96 !important;
}

.c-color-smart-blue {
  color: #005B96 !important;
}

.c-color-thin-blue {
  color: #c2cee6 !important;
}

.c-color-thinner-blue {
  color: #e1e7f3 !important;
}

.c-color-blue {
  color: #19A3FC !important;
}

.c-color-smart-navy {
  color: #070F26 !important;
}

.c-color-dynamic-red {
  color: #B22000 !important;
}

.c-color-delightful-yellow {
  color: #FFC400 !important;
}

.c-color-light-grey {
  color: #E8E8E8 !important;
}

.c-color-medium-grey {
  color: #949494 !important;
}

.c-color-white {
  color: #fff !important;
}

.c-color-off-white {
  color: #eaeaea !important;
}

.c-color-black {
  color: #000 !important;
}

.c-color-dark {
  color: #1d1d1f !important;
}

.c-color-dark-grey {
  color: #222 !important;
}

.c-color-sitemap,
.c-color-sitemap a {
  color: #2E404D;
}

/* Digital用 */
.c-color-dynamic-red-digital {
  color: #B22000 !important;
}

.c-color-delightful-yellow-digital {
  color: #E6B600 !important;
}

.c-color-smart-navy-digital {
  color: #0F1C50 !important;
}

.c-color-green-digital {
  color: #00CB5D !important;
}

.c-color-purple-accent-digital {
  color: #7F2D60 !important;
}

.c-color-smart-blue-digital {
  color: #005B96 !important;
}

/* インデント
-----------------------*/
.c-indent-1em {
  text-indent: -1em;
  padding-left: 1em;
}

.c-indent-2em {
  text-indent: -2em;
  padding-left: 2em;
}

.c-indent-fa-file {
  text-indent: -13px;
  padding-left: 27px;
}

.c-indent-caret {
  text-indent: -0.35em;
  padding-left: 0.7em;
}

/* iframe
-----------------------*/
/* 株価情報 */
.c-iframe-spi {
  padding: 0;
  border: 0;
  width: 100%;
  height: 200px;
}

@media (min-width: 768px) and (max-width: 888px) { /* スクロールバー対応 */
  .c-iframe-spi {
    height: 260px;
  }
}

/* モーダル
-----------------------*/
.js-modal {
  cursor: pointer;
}

.c-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.9);
  z-index: 10000;
  cursor: pointer;
}

.c-bg-dark-grey .c-modal,
.c-bg-black .c-modal {
  background-color: rgba(256,256,256,0.3);
}

.c-modal.is-open {
  display: flex;
  justify-content: center;
  align-items: center;
  animation: modal-open 0.3s;
}

@-webkit-keyframes modal-open {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.c-modal.is-close {
  opacity: 0;
  animation: modal-close 0.3s;
}

@-webkit-keyframes modal-close {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.c-modal-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  max-width: 980px;
  width: 100%;
  height: 100%
}

.is-video .c-modal-inner {
  max-width: 980px;
}

.c-block-innovation-gallery .c-modal-inner {
  max-width: 730px;
}

.c-block-grid-menu .c-modal-inner {
  max-width: 815px;
  box-sizing: content-box;
}

.c-modal-wrapper {
  position: relative;
  background: #333;
  width: 100%;
  transform: translate(0, 0);
  transition: transform 0.3s;
}

.is-video .c-modal-wrapper {
  padding-bottom: 56.25%;
}

.is-open .c-modal-wrapper {
  animation: modal-wrapper-open 0.3s;
}

@-webkit-keyframes modal-wrapper-open {
  from {
    transform: translate(0, 100px);
  }

  to {
    transform: translate(0, 0);
  }
}

.is-close .c-modal-wrapper {
  animation: modal-wrapper-close 0.3s;
}

@-webkit-keyframes modal-wrapper-close {
  from {
    transform: translate(0, 0);
  }

  to {
    transform: translate(0, 100px);
  }
}

.c-modal-wrapper-inner {
  cursor: auto;
  width: 100%;
}

.c-modal-close {
  overflow: hidden;
  display: inline-block;
  position: absolute;
  top: -35px;
  right: 0;
  border: none;
  background: transparent;
  z-index: 2;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

  .c-modal-close::before,
  .c-modal-close::after {
    content: '';
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background: #fff;
  }

  .c-modal-close::before {
    transform: rotate(45deg);
  }

  .c-modal-close::after {
    transform: rotate(-45deg);
  }

.c-bg-dark-grey .c-modal-close::before,
.c-bg-dark-grey .c-modal-close::after,
.c-bg-black .c-modal-close::before,
.c-bg-black .c-modal-close::after {
  background: #000;
}

/* その他
-----------------------*/
/* hover時に別レイヤーが出現 */
.c-hover-show {
  position: relative;
  cursor: pointer;
}

  .c-hover-show > *:first-child {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.2s;
  }

  .c-hover-show:hover > *:first-child {
    opacity: 1;
  }

/* 3行目以降省略 */
.c-ellipsis-3 {
  overflow: hidden;
  max-height: 6em;
  line-height: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* リッチテキスト用
-----------------------*/
.c-richtext {
  line-height: 2;
}

  .c-richtext h2 {
    margin-bottom: 40px;
    font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
    font-size: 3rem;
    line-height: 1.3;
    text-align: center;
    font-weight: 700;
  }

  .c-richtext h3 {
    margin-bottom: 40px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.3;
  }

  .c-richtext h4 {
    margin-bottom: 20px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.7;
  }

  .c-richtext h5 {
    margin-bottom: 20px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.7;
  }

  .c-richtext h6 {
    margin-bottom: 20px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.7;
  }

  .c-richtext p {
    margin-bottom: 20px;
    line-height: 2.0;
  }

  .c-richtext ul,
  .c-richtext ol {
    margin: 20px 0;
    line-height: 2;
    padding-left: 40px;
  }

  .c-richtext ul {
    list-style-type: disc;
  }

  .c-richtext ol {
    list-style-type: decimal;
  }

    .c-richtext ul ul,
    .c-richtext ul ol,
    .c-richtext ol ol,
    .c-richtext ol ol {
      margin: 10px 0 0 0;
    }

  .c-richtext li + li {
    margin-top: 10px;
  }

  .c-richtext a {
    color: #005B96;
  }

  .c-richtext img {
    vertical-align: bottom;
  }

  .c-richtext sup {
    position: relative;
    top: -0.5em;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
  }

  .c-richtext sub {
    position: relative;
    bottom: -0.25em;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
  }

  .c-richtext table th,
  .c-richtext table td {
    border: 1px solid #dbdbdb;
    padding: 20px 15px;
  }

@media screen and (max-width: 767px) {
  .c-richtext h2 {
    font-size: 2.6rem;
  }
}

/* ニュース記事リッチテキスト用
-----------------------*/
/* 見出し */
.c-news-richtext h2 {
  font-size: 2.8rem;
  font-weight: bold;
}

.c-news-richtext h3 {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: bold;
}

.c-news-richtext h4 {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: bold;
}

.c-news-richtext h5 {
  margin-bottom: 10px;
  font-weight: bold;
}

.c-news-richtext h6 {
  margin-bottom: 10px;
  font-weight: bold;
}

/* 装飾文字 */
.c-news-richtext sup {
  position: relative;
  top: -0.5em;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

.c-news-richtext sub {
  position: relative;
  bottom: -0.25em;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

/* ブロック */
.c-news-richtext section + section {
  margin-top: 30px;
}

/* リスト */
.c-news-richtext ul,
.c-news-richtext ol {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 20px;
}

  .c-news-richtext ul ul,
  .c-news-richtext ul ol,
  .c-news-richtext ol ul,
  .c-news-richtext ol ol {
    margin: 0;
  }

.c-news-richtext li {
  display: table;
}

  .c-news-richtext li + li {
    margin-top: 10px;
  }

.c-news-richtext .list-a li::before {
  content: "・";
  display: table-cell;
  text-align: center;
  width: 25px;
}

.c-news-richtext .list-b .num {
  display: table-cell;
  text-align: center;
  min-width: 25px;
  padding-right: 5px;
  white-space: nowrap;
}

.c-news-richtext .list-a .list-b li::before {
  content: none;
}

/* テーブル */
/* 共通 */
.c-news-richtext table {
  border-collapse: collapse;
  width: 100%;
  margin: 20px auto;
  line-height: 1.75;
  word-break: break-all;
}

  .c-news-richtext table th {
    font-weight: bold;
    padding: 1.5rem 2rem;
  }

  .c-news-richtext table td {
    padding: 1.5rem 2rem;
  }

    .c-news-richtext table th > *:last-of-type,
    .c-news-richtext table td > *:last-of-type {
      margin-bottom: 0;
    }
/* 通常 */
.c-news-richtext .table-basic th,
.c-news-richtext .table-basic td {
  border-top: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb;
}
/* 格子 */
.c-news-richtext .table-basic.lattice th,
.c-news-richtext .table-basic.lattice td {
  border: 1px solid #dbdbdb;
}
/* 幅指定 */
.c-news-richtext table .w05 {
  width: 5%;
}

.c-news-richtext table .w10 {
  width: 10%;
}

.c-news-richtext table .w15 {
  width: 15%;
}

.c-news-richtext table .w20 {
  width: 20%;
}

.c-news-richtext table .w25 {
  width: 25%;
}

.c-news-richtext table .w30 {
  width: 30%;
}

.c-news-richtext table .w35 {
  width: 35%;
}

.c-news-richtext table .w40 {
  width: 40%;
}

.c-news-richtext table .w45 {
  width: 45%;
}

.c-news-richtext table .w50 {
  width: 50%;
}

.c-news-richtext table .w55 {
  width: 55%;
}

.c-news-richtext table .w60 {
  width: 60%;
}

.c-news-richtext table .w65 {
  width: 65%;
}

.c-news-richtext table .w70 {
  width: 70%;
}

.c-news-richtext table .w75 {
  width: 75%;
}

.c-news-richtext table .w80 {
  width: 80%;
}

.c-news-richtext table .w85 {
  width: 85%;
}

.c-news-richtext table .w90 {
  width: 90%;
}

.c-news-richtext table .w95 {
  width: 95%;
}
/* 縦方向の行揃え */
/* 上揃え */
.c-news-richtext table .v-top {
  vertical-align: top;
}
/* 中央揃え ※デフォルト*/
.c-news-richtext table .v-middle {
  vertical-align: middle;
}
/* 下揃え */
.c-news-richtext table .v-bottom {
  vertical-align: bottom;
}
/* 横方向の行揃え */
/* 中央揃え */
.c-news-richtext table .t-center {
  text-align: center;
}

@media (max-width: 767px) {
  .c-news-richtext .table-basic {
    overflow-x: scroll;
  }

  .c-news-richtext table .w05 {
    min-width: calc(5 * 7px);
  }

  .c-news-richtext table .w10 {
    min-width: calc(10 * 7px);
  }

  .c-news-richtext table .w15 {
    min-width: calc(15 * 7px);
  }

  .c-news-richtext table .w20 {
    min-width: calc(20 * 7px);
  }

  .c-news-richtext table .w25 {
    min-width: calc(25 * 7px);
  }

  .c-news-richtext table .w30 {
    min-width: calc(30 * 7px);
  }

  .c-news-richtext table .w35 {
    min-width: calc(35 * 7px);
  }

  .c-news-richtext table .w40 {
    min-width: calc(40 * 7px);
  }

  .c-news-richtext table .w45 {
    min-width: calc(45 * 7px);
  }

  .c-news-richtext table .w50 {
    min-width: calc(50 * 7px);
  }

  .c-news-richtext table .w55 {
    min-width: calc(55 * 7px);
  }

  .c-news-richtext table .w60 {
    min-width: calc(60 * 7px);
  }

  .c-news-richtext table .w65 {
    min-width: calc(65 * 7px);
  }

  .c-news-richtext table .w70 {
    min-width: calc(70 * 7px);
  }

  .c-news-richtext table .w75 {
    min-width: calc(75 * 7px);
  }

  .c-news-richtext table .w80 {
    min-width: calc(80 * 7px);
  }

  .c-news-richtext table .w85 {
    min-width: calc(85 * 7px);
  }

  .c-news-richtext table .w90 {
    min-width: calc(90 * 7px);
  }

  .c-news-richtext table .w95 {
    min-width: calc(95 * 7px);
  }
}

/* 画像 */
.c-news-richtext img {
  max-width: 100%;
  width: auto !important;
  vertical-align: bottom;
}

/* 注釈 */
.c-news-richtext .notes-title,
.c-news-richtext .notes {
  color: #7f7f7f;
}

/* YouTube埋込動画 */
.c-news-richtext .youtube-responsive {
  position: relative;
  max-width: 720px;
  margin: 0 auto 2.4rem;
}

  .c-news-richtext .youtube-responsive::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }

  .c-news-richtext .youtube-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

/* その他 */
/* 署名 */
.c-news-richtext .signature {
  text-align: right;
}

/* 2カラム */
.c-news-richtext .news_col2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

  .c-news-richtext .news_col2 .col_item {
    width: calc((100% - 20px)/ 2 - 0.1px);
  }

@media (max-width: 767px) {
  .c-news-richtext .news_col2 {
    display: block;
  }

    .c-news-richtext .news_col2 .col_item {
      width: 100%;
    }

      .c-news-richtext .news_col2 .col_item + .col_item {
        margin-top: 20px;
      }
}

/* JS用
-----------------------*/
/* object-fit-images */
.js-object-fit-images {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

  .js-object-fit-images.is-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    font-family: 'object-fit: cover; object-position: top;';
  }

  .js-object-fit-images.is-bottom {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
    font-family: 'object-fit: cover; object-position: bottom;';
  }

  .js-object-fit-images.is-left {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
    font-family: 'object-fit: cover; object-position: left;';
  }

  .js-object-fit-images.is-right {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
    font-family: 'object-fit: cover; object-position: right;';
  }

/* slick */
.js-slick.c-block-carousel-grid.slick-dotted.slick-slider {
  margin-bottom: 70px;
}

.js-slick.c-block-carousel-grid .slick-prev,
.js-slick.c-block-carousel-grid .slick-next {
  width: 30px;
  height: 20px;
}

.js-slick.c-block-carousel-grid .slick-prev {
  left: -30px;
}

.js-slick.c-block-carousel-grid .slick-next {
  right: -30px;
}

  .js-slick.c-block-carousel-grid .slick-prev:before,
  .js-slick.c-block-carousel-grid .slick-next:before {
    font-family: 'nttd-icons';
    font-size: 6.6rem;
  }

.c-bg-white .js-slick.c-block-carousel-grid .slick-prev:before,
.c-bg-white .js-slick.c-block-carousel-grid .slick-next:before {
  color: #333;
}

.js-slick.c-block-carousel-grid .slick-prev:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 14px;
  height: 14px;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  transform-origin: 12px 5px;
  transform: rotate(-45deg);
}

.c-bg-white .js-slick.c-block-carousel-grid .slick-prev:before {
  border-left: 2px solid #333;
  border-top: 2px solid #333;
}

.js-slick.c-block-carousel-grid .slick-next:before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform-origin: 2px 5px;
  transform: rotate(45deg);
}

.c-bg-white .js-slick.c-block-carousel-grid .slick-next:before {
  border-right: 2px solid #333;
  border-top: 2px solid #333;
}

.js-slick.c-block-carousel-grid .slick-prev:after {
  content: '';
  position: absolute;
  left: 1px;
  top: 50%;
  background: #fff;
  width: 100%;
  height: 2px;
  transform: translate(0, -50%);
}

.c-bg-white .js-slick.c-block-carousel-grid .slick-prev:after {
  background: #333;
}

.js-slick.c-block-carousel-grid .slick-next:after {
  content: '';
  position: absolute;
  right: 1px;
  top: 50%;
  background: #fff;
  width: 100%;
  height: 2px;
  transform: translate(0, -50%);
}

.c-bg-white .js-slick.c-block-carousel-grid .slick-next:after {
  background: #333;
}

.js-slick.c-block-carousel-grid .slick-dots {
  bottom: -65px;
  left: 0;
}

  .js-slick.c-block-carousel-grid .slick-dots li {
    display: none;
    width: auto;
    height: auto;
  }

    .js-slick.c-block-carousel-grid .slick-dots li.slick-active {
      display: inline-block;
    }

    .js-slick.c-block-carousel-grid .slick-dots li span {
      font-size: 2.4rem;
      vertical-align: middle;
    }

@media screen and (max-width: 767px) {
  .js-slick.c-block-carousel-grid.slick-dotted.slick-slider {
    margin-bottom: 50px;
  }

  .js-slick.c-block-carousel-grid {
    padding-left: 30px;
    padding-right: 30px;
  }

    .js-slick.c-block-carousel-grid .slick-prev {
      left: 0px;
    }

    .js-slick.c-block-carousel-grid .slick-next {
      right: 0px;
    }

    .js-slick.c-block-carousel-grid .slick-dots {
      bottom: -45px;
    }
}

/* サービス3rdページピックアップ用 */
.js-slick.c-block-pickup-carousel-grid .slick-prev,
.js-slick.c-block-pickup-carousel-grid .slick-next {
  width: 30px;
  height: 20px;
  z-index: 10;
}

.js-slick.c-block-pickup-carousel-grid .slick-prev {
  left: -30px;
}

.js-slick.c-block-pickup-carousel-grid .slick-next {
  right: -30px;
}

  .js-slick.c-block-pickup-carousel-grid .slick-prev:before,
  .js-slick.c-block-pickup-carousel-grid .slick-next:before {
    font-family: 'nttd-icons';
    font-size: 6.6rem;
  }

.js-slick.c-block-pickup-carousel-grid .slick-prev:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 14px;
  height: 14px;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  transform-origin: 12px 5px;
  transform: rotate(-45deg);
}

.c-bg-white .js-slick.c-block-pickup-carousel-grid .slick-prev:before {
  border-left: 2px solid #333;
  border-top: 2px solid #333;
}

.js-slick.c-block-pickup-carousel-grid .slick-next:before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform-origin: 2px 5px;
  transform: rotate(45deg);
}

.c-bg-white .js-slick.c-block-pickup-carousel-grid .slick-next:before {
  border-right: 2px solid #333;
  border-top: 2px solid #333;
}

.js-slick.c-block-pickup-carousel-grid .slick-prev:after {
  content: '';
  position: absolute;
  left: 1px;
  top: 50%;
  background: #fff;
  width: 100%;
  height: 2px;
  transform: translate(0, -50%);
}

.c-bg-white .js-slick.c-block-pickup-carousel-grid .slick-prev:after {
  background: #333;
}

.js-slick.c-block-pickup-carousel-grid .slick-next:after {
  content: '';
  position: absolute;
  right: 1px;
  top: 50%;
  background: #fff;
  width: 100%;
  height: 2px;
  transform: translate(0, -50%);
}

.c-bg-white .js-slick.c-block-pickup-carousel-grid .slick-next:after {
  background: #333;
}

@media screen and (max-width: 767px) {
  .js-slick.c-block-pickup-carousel-grid .slick-prev {
    left: -10px;
  }

  .js-slick.c-block-pickup-carousel-grid .slick-next {
    right: -10px;
  }

  .js-slick.c-block-pickup-carousel-grid .slick-dots {
    bottom: -45px;
  }
}

/* フィルター */
[data-filter].is-active {
  color: #005B96;
}

.js-filter-items-displayed + .chosen-container {
  min-width: 0;
}

.js-filter-items-displayed + .chosen-container-single .chosen-single {
  font-size: 2rem;
}

/* アコーディオン */
.js-accordion-open {
  display: none;
}

.js-accordion-label {
  position: relative;
}

  .js-accordion-label input[type="checkbox"] {
    overflow: hidden;
    position: absolute;
    width: 0;
    height: 0
  }

  .js-accordion-label span::before {
    content: '';
    display: block;
    position: absolute;
    right: -20px;
    bottom: 3px;
    background: #005B96;
    width: 2px;
    height: 16px
  }

  .js-accordion-label input[type="checkbox"]:checked + span::before {
    display: none;
  }

  .js-accordion-label span::after {
    content: '';
    display: block;
    position: absolute;
    right: -27px;
    bottom: 10px;
    background: #005B96;
    width: 16px;
    height: 2px
  }

  .js-accordion-label input[type="checkbox"]:checked + span::after {
    bottom: 9px;
  }

/* お問い合わせのplaceholder */
.js-placeholder-contact {
  position: absolute;
  left: 0;
  bottom: 8px;
  z-index: 1;
  color: #8298be;
  font-size: 2.6rem;
  transition: all 0.2s;
}

  .js-placeholder-contact.is-focus {
    bottom: 41px;
    font-size: 1.4rem;
  }

/* お問い合わせのエラー表示 */
.js-contact-error {
  display: none;
}


/*========================================
Utility（接頭辞 u-）
==========================================*/
/* ディスプレイ
-----------------------*/
/* PCのみ表示 */
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
/* SPのみ表示 */
@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

.u-d-none {
  display: none !important;
}

.u-d-none-before::before {
  display: none !important;
}

.u-d-none-after::after {
  display: none !important;
}

.u-d-block {
  display: block !important;
}

.u-d-inline-block {
  display: inline-block !important;
}

.u-d-inline {
  display: inline !important;
}

.u-d-flex {
  display: flex !important;
}

@media (min-width: 768px) {
  .u-d-none-pc {
    display: none !important;
  }

  .u-d-none-before-pc::before {
    display: none !important;
  }

  .u-d-none-after-pc::after {
    display: none !important;
  }

  .u-d-block-pc {
    display: block !important;
  }

  .u-d-flex-pc {
    display: flex !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-d-none-tab {
    display: none !important;
  }

  .u-d-none-before-tab::before {
    display: none !important;
  }

  .u-d-none-after-tab::after {
    display: none !important;
  }

  .u-d-block-tab {
    display: block !important;
  }

  .u-d-flex-tab {
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .u-d-none-sp {
    display: none !important;
  }

  .u-d-none-before-sp::before {
    display: none !important;
  }

  .u-d-none-after-sp::after {
    display: none !important;
  }

  .u-d-block-sp {
    display: block !important;
  }
}

/* フレックス系
-----------------------*/
.u-flex-flow-column,
.u-flex-direction-column {
  flex-direction: column !important;
}

.u-flex-flow-column-reverse,
.u-flex-direction-column-reverse {
  flex-direction: column-reverse !important;
}

.u-flex-flow-row-reverse,
.u-flex-direction-row-reverse {
  flex-direction: row-reverse !important;
}

.u-flex-flow-wrap,
.u-flex-wrap-wrap {
  flex-wrap: wrap !important;
}

.u-flex-flow-nowrap,
.u-flex-wrap-nowrap {
  flex-wrap: nowrap !important;
}

@media (min-width: 768px) {
  .u-flex-flow-column-pc,
  .u-flex-direction-column-pc {
    flex-direction: column !important;
  }

  .u-flex-flow-column-reverse-pc,
  .u-flex-direction-column-reverse-pc {
    flex-direction: column-reverse !important;
  }

  .u-flex-flow-row-reverse-pc,
  .u-flex-direction-row-reverse-pc {
    flex-direction: row-reverse !important;
  }

  .u-flex-flow-wrap-pc,
  .u-flex-wrap-wrap-pc {
    flex-wrap: wrap !important;
  }

  .u-flex-flow-nowrap-pc,
  .u-flex-wrap-nowrap-pc {
    flex-wrap: nowrap !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-flex-flow-column-tab,
  .u-flex-direction-column-tab {
    flex-direction: column !important;
  }

  .u-flex-flow-column-reverse-tab,
  .u-flex-direction-column-reverse-tab {
    flex-direction: column-reverse !important;
  }

  .u-flex-flow-row-reverse-tab,
  .u-flex-direction-row-reverse-tab {
    flex-direction: row-reverse !important;
  }

  .u-flex-flow-wrap-tab,
  .u-flex-wrap-wrap-tab {
    flex-wrap: wrap !important;
  }

  .u-flex-flow-nowrap-tab,
  .u-flex-wrap-nowrap-tab {
    flex-wrap: nowrap !important;
  }
}

@media screen and (max-width: 767px) {
  .u-flex-flow-column-sp,
  .u-flex-direction-column-sp {
    flex-direction: column !important;
  }

  .u-flex-flow-column-reverse-sp,
  .u-flex-direction-column-reverse-sp {
    flex-direction: column-reverse !important;
  }

  .u-flex-flow-row-reverse-sp,
  .u-flex-direction-row-reverse-sp {
    flex-direction: row-reverse !important;
  }

  .u-flex-flow-wrap-sp,
  .u-flex-wrap-wrap-sp {
    flex-wrap: wrap !important;
  }

  .u-flex-flow-nowrap-sp,
  .u-flex-wrap-nowrap-sp {
    flex-wrap: nowrap !important;
  }
}

.u-flex-shrink-0 {
  flex-shrink: 0 !important;
}

.u-flex-basis-auto {
  flex-basis: auto !important;
}

.u-justify-content-start {
  justify-content: flex-start !important;
}

.u-justify-content-center {
  justify-content: center !important;
}

.u-justify-content-end {
  justify-content: flex-end !important;
}

.u-justify-content-between {
  justify-content: space-between !important;
}

.u-align-items-start {
  align-items: flex-start !important;
}

.u-align-items-center {
  align-items: center !important;
}

.u-align-items-end {
  align-items: flex-end !important;
}

.u-align-items-stretch {
  align-items: stretch !important;
}

.u-align-content-start {
  align-content: flex-start !important;
}

.u-align-content-center {
  align-content: center !important;
}

.u-align-content-end {
  align-content: flex-end !important;
}

.u-align-content-between {
  align-content: space-between !important;
}

.u-align-content-stretch {
  align-content: stretch !important;
}

.u-align-self-start {
  align-self: flex-start;
}

.u-align-self-center {
  align-self: center;
}

.u-align-self-end {
  align-self: flex-end;
}

.u-align-self-stretch {
  align-self: stretch;
}


/* オーバーフロー
-----------------------*/
.u-overflow-hidden {
  overflow: hidden !important;
}

.u-overflow-scroll {
  overflow: scroll !important;
}

.u-overflow-x-scroll {
  overflow-x: scroll !important;
}

.u-overflow-y-scroll {
  overflow-y: scroll !important;
}

/* ポジション
-----------------------*/
.u-pos-relative {
  position: relative !important;
}

.u-pos-absolute {
  position: absolute !important;
}

.u-z-index-9999 {
  z-index: 9999 !important;
}

.u-top-0 {
  top: 0 !important;
}

.u-bottom-0 {
  bottom: 0 !important;
}

.u-left-0 {
  left: 0 !important;
}

.u-right-0 {
  right: 0 !important;
}

/* マージン
-----------------------*/
@media (min-width: 0px) {
  .u-mt-0 {
    margin-top: 0px !important;
  }

  .u-mt-5 {
    margin-top: 5px !important;
  }

  .u-mt-10 {
    margin-top: 10px !important;
  }

  .u-mt-15 {
    margin-top: 15px !important;
  }

  .u-mt-20 {
    margin-top: 20px !important;
  }

  .u-mt-25 {
    margin-top: 25px !important;
  }

  .u-mt-30 {
    margin-top: 30px !important;
  }

  .u-mt-40 {
    margin-top: 40px !important;
  }

  .u-mt-50 {
    margin-top: 50px !important;
  }

  .u-mt-60 {
    margin-top: 60px !important;
  }

  .u-mt-70 {
    margin-top: 70px !important;
  }

  .u-mt-80 {
    margin-top: 80px !important;
  }

  .u-mt-90 {
    margin-top: 90px !important;
  }

  .u-mt-100 {
    margin-top: 100px !important;
  }

  .u-mt-auto {
    margin-top: auto !important;
  }
}

@media (min-width: 768px) {
  .u-mt-0-pc {
    margin-top: 0px !important;
  }

  .u-mt-5-pc {
    margin-top: 5px !important;
  }

  .u-mt-10-pc {
    margin-top: 10px !important;
  }

  .u-mt-15-pc {
    margin-top: 15px !important;
  }

  .u-mt-20-pc {
    margin-top: 20px !important;
  }

  .u-mt-25-pc {
    margin-top: 25px !important;
  }

  .u-mt-30-pc {
    margin-top: 30px !important;
  }

  .u-mt-40-pc {
    margin-top: 40px !important;
  }

  .u-mt-50-pc {
    margin-top: 50px !important;
  }

  .u-mt-60-pc {
    margin-top: 60px !important;
  }

  .u-mt-70-pc {
    margin-top: 70px !important;
  }

  .u-mt-80-pc {
    margin-top: 80px !important;
  }

  .u-mt-90-pc {
    margin-top: 90px !important;
  }

  .u-mt-100-pc {
    margin-top: 100px !important;
  }

  .u-mt-auto-pc {
    margin-top: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mt-0-tab {
    margin-top: 0px !important;
  }

  .u-mt-5-tab {
    margin-top: 5px !important;
  }

  .u-mt-10-tab {
    margin-top: 10px !important;
  }

  .u-mt-15-tab {
    margin-top: 15px !important;
  }

  .u-mt-20-tab {
    margin-top: 20px !important;
  }

  .u-mt-25-tab {
    margin-top: 25px !important;
  }

  .u-mt-30-tab {
    margin-top: 30px !important;
  }

  .u-mt-40-tab {
    margin-top: 40px !important;
  }

  .u-mt-50-tab {
    margin-top: 50px !important;
  }

  .u-mt-60-tab {
    margin-top: 60px !important;
  }

  .u-mt-70-tab {
    margin-top: 70px !important;
  }

  .u-mt-80-tab {
    margin-top: 80px !important;
  }

  .u-mt-90-tab {
    margin-top: 90px !important;
  }

  .u-mt-100-tab {
    margin-top: 100px !important;
  }

  .u-mt-auto-tab {
    margin-top: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-0-sp {
    margin-top: 0px !important;
  }

  .u-mt-5-sp {
    margin-top: 5px !important;
  }

  .u-mt-10-sp {
    margin-top: 10px !important;
  }

  .u-mt-15-sp {
    margin-top: 15px !important;
  }

  .u-mt-20-sp {
    margin-top: 20px !important;
  }

  .u-mt-25-sp {
    margin-top: 25px !important;
  }

  .u-mt-30-sp {
    margin-top: 30px !important;
  }

  .u-mt-40-sp {
    margin-top: 40px !important;
  }

  .u-mt-50-sp {
    margin-top: 50px !important;
  }

  .u-mt-60-sp {
    margin-top: 60px !important;
  }

  .u-mt-70-sp {
    margin-top: 70px !important;
  }

  .u-mt-80-sp {
    margin-top: 80px !important;
  }

  .u-mt-90-sp {
    margin-top: 90px !important;
  }

  .u-mt-100-sp {
    margin-top: 100px !important;
  }

  .u-mt-auto-sp {
    margin-top: auto !important;
  }
}

@media (min-width: 0px) {
  .u-mb-0 {
    margin-bottom: 0px !important;
  }

  .u-mb-5 {
    margin-bottom: 5px !important;
  }

  .u-mb-10 {
    margin-bottom: 10px !important;
  }

  .u-mb-15 {
    margin-bottom: 15px !important;
  }

  .u-mb-20 {
    margin-bottom: 20px !important;
  }

  .u-mb-25 {
    margin-bottom: 25px !important;
  }

  .u-mb-30 {
    margin-bottom: 30px !important;
  }

  .u-mb-40 {
    margin-bottom: 40px !important;
  }

  .u-mb-50 {
    margin-bottom: 50px !important;
  }

  .u-mb-60 {
    margin-bottom: 60px !important;
  }

  .u-mb-70 {
    margin-bottom: 70px !important;
  }

  .u-mb-80 {
    margin-bottom: 80px !important;
  }

  .u-mb-90 {
    margin-bottom: 90px !important;
  }

  .u-mb-100 {
    margin-bottom: 100px !important;
  }

  .u-mb-auto {
    margin-bottom: auto !important;
  }
}

@media (min-width: 768px) {
  .u-mb-0-pc {
    margin-bottom: 0px !important;
  }

  .u-mb-5-pc {
    margin-bottom: 5px !important;
  }

  .u-mb-10-pc {
    margin-bottom: 10px !important;
  }

  .u-mb-15-pc {
    margin-bottom: 15px !important;
  }

  .u-mb-20-pc {
    margin-bottom: 20px !important;
  }

  .u-mb-25-pc {
    margin-bottom: 25px !important;
  }

  .u-mb-30-pc {
    margin-bottom: 30px !important;
  }

  .u-mb-40-pc {
    margin-bottom: 40px !important;
  }

  .u-mb-50-pc {
    margin-bottom: 50px !important;
  }

  .u-mb-60-pc {
    margin-bottom: 60px !important;
  }

  .u-mb-70-pc {
    margin-bottom: 70px !important;
  }

  .u-mb-80-pc {
    margin-bottom: 80px !important;
  }

  .u-mb-90-pc {
    margin-bottom: 90px !important;
  }

  .u-mb-100-pc {
    margin-bottom: 100px !important;
  }

  .u-mb-auto-pc {
    margin-bottom: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mb-0-tab {
    margin-bottom: 0px !important;
  }

  .u-mb-5-tab {
    margin-bottom: 5px !important;
  }

  .u-mb-10-tab {
    margin-bottom: 10px !important;
  }

  .u-mb-15-tab {
    margin-bottom: 15px !important;
  }

  .u-mb-20-tab {
    margin-bottom: 20px !important;
  }

  .u-mb-25-tab {
    margin-bottom: 25px !important;
  }

  .u-mb-30-tab {
    margin-bottom: 30px !important;
  }

  .u-mb-40-tab {
    margin-bottom: 40px !important;
  }

  .u-mb-50-tab {
    margin-bottom: 50px !important;
  }

  .u-mb-60-tab {
    margin-bottom: 60px !important;
  }

  .u-mb-70-tab {
    margin-bottom: 70px !important;
  }

  .u-mb-80-tab {
    margin-bottom: 80px !important;
  }

  .u-mb-90-tab {
    margin-bottom: 90px !important;
  }

  .u-mb-100-tab {
    margin-bottom: 100px !important;
  }

  .u-mb-auto-tab {
    margin-bottom: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb-0-sp {
    margin-bottom: 0px !important;
  }

  .u-mb-5-sp {
    margin-bottom: 5px !important;
  }

  .u-mb-10-sp {
    margin-bottom: 10px !important;
  }

  .u-mb-15-sp {
    margin-bottom: 15px !important;
  }

  .u-mb-20-sp {
    margin-bottom: 20px !important;
  }

  .u-mb-25-sp {
    margin-bottom: 25px !important;
  }

  .u-mb-30-sp {
    margin-bottom: 30px !important;
  }

  .u-mb-40-sp {
    margin-bottom: 40px !important;
  }

  .u-mb-50-sp {
    margin-bottom: 50px !important;
  }

  .u-mb-60-sp {
    margin-bottom: 60px !important;
  }

  .u-mb-70-sp {
    margin-bottom: 70px !important;
  }

  .u-mb-80-sp {
    margin-bottom: 80px !important;
  }

  .u-mb-90-sp {
    margin-bottom: 90px !important;
  }

  .u-mb-100-sp {
    margin-bottom: 100px !important;
  }

  .u-mb-auto-sp {
    margin-bottom: auto !important;
  }
}

@media (min-width: 0px) {
  .u-my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  .u-my-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }

  .u-my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .u-my-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }

  .u-my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .u-my-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .u-my-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .u-my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  .u-my-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }

  .u-my-60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }

  .u-my-70 {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }

  .u-my-80 {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }

  .u-my-90 {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }

  .u-my-100 {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }

  .u-my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media (min-width: 768px) {
  .u-my-0-pc {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  .u-my-5-pc {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }

  .u-my-10-pc {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .u-my-15-pc {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }

  .u-my-20-pc {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .u-my-25-pc {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .u-my-30-pc {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .u-my-40-pc {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  .u-my-50-pc {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }

  .u-my-60-pc {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }

  .u-my-70-pc {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }

  .u-my-80-pc {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }

  .u-my-90-pc {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }

  .u-my-100-pc {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }

  .u-my-auto-pc {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-my-0-tab {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  .u-my-5-tab {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }

  .u-my-10-tab {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .u-my-15-tab {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }

  .u-my-20-tab {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .u-my-25-tab {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .u-my-30-tab {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .u-my-40-tab {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  .u-my-50-tab {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }

  .u-my-60-tab {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }

  .u-my-70-tab {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }

  .u-my-80-tab {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }

  .u-my-90-tab {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }

  .u-my-100-tab {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }

  .u-my-auto-tab {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-my-0-sp {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  .u-my-5-sp {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }

  .u-my-10-sp {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .u-my-15-sp {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }

  .u-my-20-sp {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .u-my-25-sp {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .u-my-30-sp {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .u-my-40-sp {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  .u-my-50-sp {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }

  .u-my-60-sp {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }

  .u-my-70-sp {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }

  .u-my-80-sp {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }

  .u-my-90-sp {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }

  .u-my-100-sp {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }

  .u-my-auto-sp {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media (min-width: 0px) {
  .u-ml-0 {
    margin-left: 0px !important;
  }

  .u-ml-5 {
    margin-left: 5px !important;
  }

  .u-ml-10 {
    margin-left: 10px !important;
  }

  .u-ml-15 {
    margin-left: 15px !important;
  }

  .u-ml-20 {
    margin-left: 20px !important;
  }

  .u-ml-25 {
    margin-left: 25px !important;
  }

  .u-ml-30 {
    margin-left: 30px !important;
  }

  .u-ml-40 {
    margin-left: 40px !important;
  }

  .u-ml-50 {
    margin-left: 50px !important;
  }

  .u-ml-60 {
    margin-left: 60px !important;
  }

  .u-ml-70 {
    margin-left: 70px !important;
  }

  .u-ml-80 {
    margin-left: 80px !important;
  }

  .u-ml-90 {
    margin-left: 90px !important;
  }

  .u-ml-100 {
    margin-left: 100px !important;
  }

  .u-ml-auto {
    margin-left: auto !important;
  }

  .u-ml-1em {
    margin-left: 1em !important;
  }

  .u-ml-2em {
    margin-left: 2em !important;
  }
}

@media (min-width: 768px) {
  .u-ml-0-pc {
    margin-left: 0px !important;
  }

  .u-ml-5-pc {
    margin-left: 5px !important;
  }

  .u-ml-10-pc {
    margin-left: 10px !important;
  }

  .u-ml-15-pc {
    margin-left: 15px !important;
  }

  .u-ml-20-pc {
    margin-left: 20px !important;
  }

  .u-ml-25-pc {
    margin-left: 25px !important;
  }

  .u-ml-30-pc {
    margin-left: 30px !important;
  }

  .u-ml-40-pc {
    margin-left: 40px !important;
  }

  .u-ml-50-pc {
    margin-left: 50px !important;
  }

  .u-ml-60-pc {
    margin-left: 60px !important;
  }

  .u-ml-70-pc {
    margin-left: 70px !important;
  }

  .u-ml-80-pc {
    margin-left: 80px !important;
  }

  .u-ml-90-pc {
    margin-left: 90px !important;
  }

  .u-ml-100-pc {
    margin-left: 100px !important;
  }

  .u-ml-auto-pc {
    margin-left: auto !important;
  }

  .u-ml-1em-pc {
    margin-left: 1em !important;
  }

  .u-ml-2em-pc {
    margin-left: 2em !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-ml-0-tab {
    margin-left: 0px !important;
  }

  .u-ml-5-tab {
    margin-left: 5px !important;
  }

  .u-ml-10-tab {
    margin-left: 10px !important;
  }

  .u-ml-15-tab {
    margin-left: 15px !important;
  }

  .u-ml-20-tab {
    margin-left: 20px !important;
  }

  .u-ml-25-tab {
    margin-left: 25px !important;
  }

  .u-ml-30-tab {
    margin-left: 30px !important;
  }

  .u-ml-40-tab {
    margin-left: 40px !important;
  }

  .u-ml-50-tab {
    margin-left: 50px !important;
  }

  .u-ml-60-tab {
    margin-left: 60px !important;
  }

  .u-ml-70-tab {
    margin-left: 70px !important;
  }

  .u-ml-80-tab {
    margin-left: 80px !important;
  }

  .u-ml-90-tab {
    margin-left: 90px !important;
  }

  .u-ml-100-tab {
    margin-left: 100px !important;
  }

  .u-ml-auto-tab {
    margin-left: auto !important;
  }

  .u-ml-1em-tab {
    margin-left: 1em !important;
  }

  .u-ml-2em-tab {
    margin-left: 2em !important;
  }
}

@media screen and (max-width: 767px) {
  .u-ml-0-sp {
    margin-left: 0px !important;
  }

  .u-ml-5-sp {
    margin-left: 5px !important;
  }

  .u-ml-10-sp {
    margin-left: 10px !important;
  }

  .u-ml-15-sp {
    margin-left: 15px !important;
  }

  .u-ml-20-sp {
    margin-left: 20px !important;
  }

  .u-ml-25-sp {
    margin-left: 25px !important;
  }

  .u-ml-30-sp {
    margin-left: 30px !important;
  }

  .u-ml-40-sp {
    margin-left: 40px !important;
  }

  .u-ml-50-sp {
    margin-left: 50px !important;
  }

  .u-ml-60-sp {
    margin-left: 60px !important;
  }

  .u-ml-70-sp {
    margin-left: 70px !important;
  }

  .u-ml-80-sp {
    margin-left: 80px !important;
  }

  .u-ml-90-sp {
    margin-left: 90px !important;
  }

  .u-ml-100-sp {
    margin-left: 100px !important;
  }

  .u-ml-auto-sp {
    margin-left: auto !important;
  }

  .u-ml-1em-sp {
    margin-left: 1em !important;
  }

  .u-ml-2em-sp {
    margin-left: 2em !important;
  }
}

@media (min-width: 0px) {
  .u-mr-0 {
    margin-right: 0px !important;
  }

  .u-mr-5 {
    margin-right: 5px !important;
  }

  .u-mr-10 {
    margin-right: 10px !important;
  }

  .u-mr-15 {
    margin-right: 15px !important;
  }

  .u-mr-20 {
    margin-right: 20px !important;
  }

  .u-mr-25 {
    margin-right: 25px !important;
  }

  .u-mr-30 {
    margin-right: 30px !important;
  }

  .u-mr-40 {
    margin-right: 40px !important;
  }

  .u-mr-50 {
    margin-right: 50px !important;
  }

  .u-mr-60 {
    margin-right: 60px !important;
  }

  .u-mr-70 {
    margin-right: 70px !important;
  }

  .u-mr-80 {
    margin-right: 80px !important;
  }

  .u-mr-90 {
    margin-right: 90px !important;
  }

  .u-mr-100 {
    margin-right: 100px !important;
  }

  .u-mr-auto {
    margin-right: auto !important;
  }

  .u-mr-1em {
    margin-right: 1em !important;
  }

  .u-mr-2em {
    margin-right: 2em !important;
  }
}

@media (min-width: 768px) {
  .u-mr-0-pc {
    margin-right: 0px !important;
  }

  .u-mr-5-pc {
    margin-right: 5px !important;
  }

  .u-mr-10-pc {
    margin-right: 10px !important;
  }

  .u-mr-15-pc {
    margin-right: 15px !important;
  }

  .u-mr-20-pc {
    margin-right: 20px !important;
  }

  .u-mr-25-pc {
    margin-right: 25px !important;
  }

  .u-mr-30-pc {
    margin-right: 30px !important;
  }

  .u-mr-40-pc {
    margin-right: 40px !important;
  }

  .u-mr-50-pc {
    margin-right: 50px !important;
  }

  .u-mr-60-pc {
    margin-right: 60px !important;
  }

  .u-mr-70-pc {
    margin-right: 70px !important;
  }

  .u-mr-80-pc {
    margin-right: 80px !important;
  }

  .u-mr-90-pc {
    margin-right: 90px !important;
  }

  .u-mr-100-pc {
    margin-right: 100px !important;
  }

  .u-mr-auto-pc {
    margin-right: auto !important;
  }

  .u-mr-1em-pc {
    margin-right: 1em !important;
  }

  .u-mr-2em-pc {
    margin-right: 2em !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mr-0-tab {
    margin-right: 0px !important;
  }

  .u-mr-5-tab {
    margin-right: 5px !important;
  }

  .u-mr-10-tab {
    margin-right: 10px !important;
  }

  .u-mr-15-tab {
    margin-right: 15px !important;
  }

  .u-mr-20-tab {
    margin-right: 20px !important;
  }

  .u-mr-25-tab {
    margin-right: 25px !important;
  }

  .u-mr-30-tab {
    margin-right: 30px !important;
  }

  .u-mr-40-tab {
    margin-right: 40px !important;
  }

  .u-mr-50-tab {
    margin-right: 50px !important;
  }

  .u-mr-60-tab {
    margin-right: 60px !important;
  }

  .u-mr-70-tab {
    margin-right: 70px !important;
  }

  .u-mr-80-tab {
    margin-right: 80px !important;
  }

  .u-mr-90-tab {
    margin-right: 90px !important;
  }

  .u-mr-100-tab {
    margin-right: 100px !important;
  }

  .u-mr-auto-tab {
    margin-right: auto !important;
  }

  .u-mr-1em-tab {
    margin-right: 1em !important;
  }

  .u-mr-2em-tab {
    margin-right: 2em !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr-0-sp {
    margin-right: 0px !important;
  }

  .u-mr-5-sp {
    margin-right: 5px !important;
  }

  .u-mr-10-sp {
    margin-right: 10px !important;
  }

  .u-mr-15-sp {
    margin-right: 15px !important;
  }

  .u-mr-20-sp {
    margin-right: 20px !important;
  }

  .u-mr-25-sp {
    margin-right: 25px !important;
  }

  .u-mr-30-sp {
    margin-right: 30px !important;
  }

  .u-mr-40-sp {
    margin-right: 40px !important;
  }

  .u-mr-50-sp {
    margin-right: 50px !important;
  }

  .u-mr-60-sp {
    margin-right: 60px !important;
  }

  .u-mr-70-sp {
    margin-right: 70px !important;
  }

  .u-mr-80-sp {
    margin-right: 80px !important;
  }

  .u-mr-90-sp {
    margin-right: 90px !important;
  }

  .u-mr-100-sp {
    margin-right: 100px !important;
  }

  .u-mr-auto-sp {
    margin-right: auto !important;
  }

  .u-mr-1em-sp {
    margin-right: 1em !important;
  }

  .u-mr-2em-sp {
    margin-right: 2em !important;
  }
}

@media (min-width: 0px) {
  .u-mx-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  .u-mx-2 {
    margin-left: 2px !important;
    margin-right: 2px !important;
  }

  .u-mx-5 {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  .u-mx-10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .u-mx-15 {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }

  .u-mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .u-mx-25 {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }

  .u-mx-30 {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }

  .u-mx-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }

  .u-mx-50 {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }

  .u-mx-60 {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }

  .u-mx-70 {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }

  .u-mx-80 {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }

  .u-mx-90 {
    margin-left: 90px !important;
    margin-right: 90px !important;
  }

  .u-mx-100 {
    margin-left: 100px !important;
    margin-right: 100px !important;
  }

  .u-mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 768px) {
  .u-mx-0-pc {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  .u-mx-2-pc {
    margin-left: 2px !important;
    margin-right: 2px !important;
  }

  .u-mx-5-pc {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  .u-mx-10-pc {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .u-mx-15-pc {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }

  .u-mx-20-pc {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .u-mx-25-pc {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }

  .u-mx-30-pc {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }

  .u-mx-40-pc {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }

  .u-mx-50-pc {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }

  .u-mx-60-pc {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }

  .u-mx-70-pc {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }

  .u-mx-80-pc {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }

  .u-mx-90-pc {
    margin-left: 90px !important;
    margin-right: 90px !important;
  }

  .u-mx-100-pc {
    margin-left: 100px !important;
    margin-right: 100px !important;
  }

  .u-mx-auto-pc {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mx-0-tab {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  .u-mx-2-tab {
    margin-left: 2px !important;
    margin-right: 2px !important;
  }

  .u-mx-5-tab {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  .u-mx-10-tab {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .u-mx-15-tab {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }

  .u-mx-20-tab {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .u-mx-25-tab {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }

  .u-mx-30-tab {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }

  .u-mx-40-tab {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }

  .u-mx-50-tab {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }

  .u-mx-60-tab {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }

  .u-mx-70-tab {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }

  .u-mx-80-tab {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }

  .u-mx-90-tab {
    margin-left: 90px !important;
    margin-right: 90px !important;
  }

  .u-mx-100-tab {
    margin-left: 100px !important;
    margin-right: 100px !important;
  }

  .u-mx-auto-tab {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mx-0-sp {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  .u-mx-2-sp {
    margin-left: 2px !important;
    margin-right: 2px !important;
  }

  .u-mx-5-sp {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  .u-mx-10-sp {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .u-mx-15-sp {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }

  .u-mx-20-sp {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .u-mx-25-sp {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }

  .u-mx-30-sp {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }

  .u-mx-40-sp {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }

  .u-mx-50-sp {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }

  .u-mx-60-sp {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }

  .u-mx-70-sp {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }

  .u-mx-80-sp {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }

  .u-mx-90-sp {
    margin-left: 90px !important;
    margin-right: 90px !important;
  }

  .u-mx-100-sp {
    margin-left: 100px !important;
    margin-right: 100px !important;
  }

  .u-mx-auto-sp {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* パディング
-----------------------*/
@media (min-width: 0px) {
  .u-pt-0 {
    padding-top: 0px !important;
  }

  .u-pt-5 {
    padding-top: 5px !important;
  }

  .u-pt-10 {
    padding-top: 10px !important;
  }

  .u-pt-15 {
    padding-top: 15px !important;
  }

  .u-pt-20 {
    padding-top: 20px !important;
  }

  .u-pt-25 {
    padding-top: 25px !important;
  }

  .u-pt-30 {
    padding-top: 30px !important;
  }

  .u-pt-40 {
    padding-top: 40px !important;
  }

  .u-pt-50 {
    padding-top: 50px !important;
  }

  .u-pt-60 {
    padding-top: 60px !important;
  }

  .u-pt-70 {
    padding-top: 70px !important;
  }

  .u-pt-80 {
    padding-top: 80px !important;
  }

  .u-pt-90 {
    padding-top: 90px !important;
  }

  .u-pt-100 {
    padding-top: 100px !important;
  }
}

@media (min-width: 768px) {
  .u-pt-0-pc {
    padding-top: 0px !important;
  }

  .u-pt-5-pc {
    padding-top: 5px !important;
  }

  .u-pt-10-pc {
    padding-top: 10px !important;
  }

  .u-pt-15-pc {
    padding-top: 15px !important;
  }

  .u-pt-20-pc {
    padding-top: 20px !important;
  }

  .u-pt-25-pc {
    padding-top: 25px !important;
  }

  .u-pt-30-pc {
    padding-top: 30px !important;
  }

  .u-pt-40-pc {
    padding-top: 40px !important;
  }

  .u-pt-50-pc {
    padding-top: 50px !important;
  }

  .u-pt-60-pc {
    padding-top: 60px !important;
  }

  .u-pt-70-pc {
    padding-top: 70px !important;
  }

  .u-pt-80-pc {
    padding-top: 80px !important;
  }

  .u-pt-90-pc {
    padding-top: 90px !important;
  }

  .u-pt-100-pc {
    padding-top: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-pt-0-tab {
    padding-top: 0px !important;
  }

  .u-pt-5-tab {
    padding-top: 5px !important;
  }

  .u-pt-10-tab {
    padding-top: 10px !important;
  }

  .u-pt-15-tab {
    padding-top: 15px !important;
  }

  .u-pt-20-tab {
    padding-top: 20px !important;
  }

  .u-pt-25-tab {
    padding-top: 25px !important;
  }

  .u-pt-30-tab {
    padding-top: 30px !important;
  }

  .u-pt-40-tab {
    padding-top: 40px !important;
  }

  .u-pt-50-tab {
    padding-top: 50px !important;
  }

  .u-pt-60-tab {
    padding-top: 60px !important;
  }

  .u-pt-70-tab {
    padding-top: 70px !important;
  }

  .u-pt-80-tab {
    padding-top: 80px !important;
  }

  .u-pt-90-tab {
    padding-top: 90px !important;
  }

  .u-pt-100-tab {
    padding-top: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt-0-sp {
    padding-top: 0px !important;
  }

  .u-pt-5-sp {
    padding-top: 5px !important;
  }

  .u-pt-10-sp {
    padding-top: 10px !important;
  }

  .u-pt-15-sp {
    padding-top: 15px !important;
  }

  .u-pt-20-sp {
    padding-top: 20px !important;
  }

  .u-pt-25-sp {
    padding-top: 25px !important;
  }

  .u-pt-30-sp {
    padding-top: 30px !important;
  }

  .u-pt-40-sp {
    padding-top: 40px !important;
  }

  .u-pt-50-sp {
    padding-top: 50px !important;
  }

  .u-pt-60-sp {
    padding-top: 60px !important;
  }

  .u-pt-70-sp {
    padding-top: 70px !important;
  }

  .u-pt-80-sp {
    padding-top: 80px !important;
  }

  .u-pt-90-sp {
    padding-top: 90px !important;
  }

  .u-pt-100-sp {
    padding-top: 100px !important;
  }
}

@media (min-width: 0px) {
  .u-pb-0 {
    padding-bottom: 0px !important;
  }

  .u-pb-5 {
    padding-bottom: 5px !important;
  }

  .u-pb-10 {
    padding-bottom: 10px !important;
  }

  .u-pb-15 {
    padding-bottom: 15px !important;
  }

  .u-pb-20 {
    padding-bottom: 20px !important;
  }

  .u-pb-25 {
    padding-bottom: 25px !important;
  }

  .u-pb-30 {
    padding-bottom: 30px !important;
  }

  .u-pb-40 {
    padding-bottom: 40px !important;
  }

  .u-pb-50 {
    padding-bottom: 50px !important;
  }

  .u-pb-60 {
    padding-bottom: 60px !important;
  }

  .u-pb-70 {
    padding-bottom: 70px !important;
  }

  .u-pb-80 {
    padding-bottom: 80px !important;
  }

  .u-pb-90 {
    padding-bottom: 90px !important;
  }

  .u-pb-100 {
    padding-bottom: 100px !important;
  }
}

@media (min-width: 768px) {
  .u-pb-0-pc {
    padding-bottom: 0px !important;
  }

  .u-pb-5-pc {
    padding-bottom: 5px !important;
  }

  .u-pb-10-pc {
    padding-bottom: 10px !important;
  }

  .u-pb-15-pc {
    padding-bottom: 15px !important;
  }

  .u-pb-20-pc {
    padding-bottom: 20px !important;
  }

  .u-pb-25-pc {
    padding-bottom: 25px !important;
  }

  .u-pb-30-pc {
    padding-bottom: 30px !important;
  }

  .u-pb-40-pc {
    padding-bottom: 40px !important;
  }

  .u-pb-50-pc {
    padding-bottom: 50px !important;
  }

  .u-pb-60-pc {
    padding-bottom: 60px !important;
  }

  .u-pb-70-pc {
    padding-bottom: 70px !important;
  }

  .u-pb-80-pc {
    padding-bottom: 80px !important;
  }

  .u-pb-90-pc {
    padding-bottom: 90px !important;
  }

  .u-pb-100-pc {
    padding-bottom: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-pb-0-tab {
    padding-bottom: 0px !important;
  }

  .u-pb-5-tab {
    padding-bottom: 5px !important;
  }

  .u-pb-10-tab {
    padding-bottom: 10px !important;
  }

  .u-pb-15-tab {
    padding-bottom: 15px !important;
  }

  .u-pb-20-tab {
    padding-bottom: 20px !important;
  }

  .u-pb-25-tab {
    padding-bottom: 25px !important;
  }

  .u-pb-30-tab {
    padding-bottom: 30px !important;
  }

  .u-pb-40-tab {
    padding-bottom: 40px !important;
  }

  .u-pb-50-tab {
    padding-bottom: 50px !important;
  }

  .u-pb-60-tab {
    padding-bottom: 60px !important;
  }

  .u-pb-70-tab {
    padding-bottom: 70px !important;
  }

  .u-pb-80-tab {
    padding-bottom: 80px !important;
  }

  .u-pb-90-sp {
    padding-bottom: 90px !important;
  }

  .u-pb-100-tab {
    padding-bottom: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb-0-sp {
    padding-bottom: 0px !important;
  }

  .u-pb-5-sp {
    padding-bottom: 5px !important;
  }

  .u-pb-10-sp {
    padding-bottom: 10px !important;
  }

  .u-pb-15-sp {
    padding-bottom: 15px !important;
  }

  .u-pb-20-sp {
    padding-bottom: 20px !important;
  }

  .u-pb-25-sp {
    padding-bottom: 25px !important;
  }

  .u-pb-30-sp {
    padding-bottom: 30px !important;
  }

  .u-pb-40-sp {
    padding-bottom: 40px !important;
  }

  .u-pb-50-sp {
    padding-bottom: 50px !important;
  }

  .u-pb-60-sp {
    padding-bottom: 60px !important;
  }

  .u-pb-70-sp {
    padding-bottom: 70px !important;
  }

  .u-pb-80-sp {
    padding-bottom: 80px !important;
  }

  .u-pb-90-sp {
    padding-bottom: 90px !important;
  }

  .u-pb-100-sp {
    padding-bottom: 100px !important;
  }
}

@media (min-width: 0px) {
  .u-py-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .u-py-5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .u-py-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .u-py-15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  .u-py-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .u-py-25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }

  .u-py-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .u-py-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .u-py-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .u-py-60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .u-py-70 {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  .u-py-80 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .u-py-90 {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }

  .u-py-100 {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
}

@media (min-width: 768px) {
  .u-py-0-pc {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .u-py-5-pc {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .u-py-10-pc {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .u-py-15-pc {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  .u-py-20-pc {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .u-py-25-pc {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }

  .u-py-30-pc {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .u-py-40-pc {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .u-py-50-pc {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .u-py-60-pc {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .u-py-70-pc {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  .u-py-80-pc {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .u-py-90-pc {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }

  .u-py-100-pc {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-py-0-tab {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .u-py-5-tab {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .u-py-10-tab {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .u-py-15-tab {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  .u-py-20-tab {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .u-py-25-tab {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }

  .u-py-30-tab {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .u-py-40-tab {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .u-py-50-tab {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .u-py-60-tab {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .u-py-70-tab {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  .u-py-80-tab {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .u-py-90-tab {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }

  .u-py-100-tab {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-py-0-sp {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .u-py-5-sp {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .u-py-10-sp {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .u-py-15-sp {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  .u-py-20-sp {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .u-py-25-sp {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }

  .u-py-30-sp {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .u-py-40-sp {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .u-py-50-sp {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .u-py-60-sp {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .u-py-70-sp {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  .u-py-80-sp {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .u-py-90-sp {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }

  .u-py-100-sp {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
}

@media (min-width: 0px) {
  .u-pl-0 {
    padding-left: 0px !important;
  }

  .u-pl-5 {
    padding-left: 5px !important;
  }

  .u-pl-10 {
    padding-left: 10px !important;
  }

  .u-pl-15 {
    padding-left: 15px !important;
  }

  .u-pl-20 {
    padding-left: 20px !important;
  }

  .u-pl-22 {
    padding-left: 22px !important;
  }

  .u-pl-25 {
    padding-left: 25px !important;
  }

  .u-pl-30 {
    padding-left: 30px !important;
  }

  .u-pl-40 {
    padding-left: 40px !important;
  }

  .u-pl-50 {
    padding-left: 50px !important;
  }

  .u-pl-60 {
    padding-left: 60px !important;
  }

  .u-pl-70 {
    padding-left: 70px !important;
  }

  .u-pl-80 {
    padding-left: 80px !important;
  }

  .u-pl-90 {
    padding-left: 90px !important;
  }

  .u-pl-100 {
    padding-left: 100px !important;
  }
}

@media (min-width: 768px) {
  .u-pl-0-pc {
    padding-left: 0px !important;
  }

  .u-pl-5-pc {
    padding-left: 5px !important;
  }

  .u-pl-10-pc {
    padding-left: 10px !important;
  }

  .u-pl-15-pc {
    padding-left: 15px !important;
  }

  .u-pl-20-pc {
    padding-left: 20px !important;
  }

  .u-pl-22-pc {
    padding-left: 22px !important;
  }

  .u-pl-25-pc {
    padding-left: 25px !important;
  }

  .u-pl-30-pc {
    padding-left: 30px !important;
  }

  .u-pl-40-pc {
    padding-left: 40px !important;
  }

  .u-pl-50-pc {
    padding-left: 50px !important;
  }

  .u-pl-60-pc {
    padding-left: 60px !important;
  }

  .u-pl-70-pc {
    padding-left: 70px !important;
  }

  .u-pl-80-pc {
    padding-left: 80px !important;
  }

  .u-pl-90-pc {
    padding-left: 90px !important;
  }

  .u-pl-100-pc {
    padding-left: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-pl-0-tab {
    padding-left: 0px !important;
  }

  .u-pl-5-tab {
    padding-left: 5px !important;
  }

  .u-pl-10-tab {
    padding-left: 10px !important;
  }

  .u-pl-15-tab {
    padding-left: 15px !important;
  }

  .u-pl-20-tab {
    padding-left: 20px !important;
  }

  .u-pl-22-tab {
    padding-left: 22px !important;
  }

  .u-pl-25-tab {
    padding-left: 25px !important;
  }

  .u-pl-30-tab {
    padding-left: 30px !important;
  }

  .u-pl-40-tab {
    padding-left: 40px !important;
  }

  .u-pl-50-tab {
    padding-left: 50px !important;
  }

  .u-pl-60-tab {
    padding-left: 60px !important;
  }

  .u-pl-70-tab {
    padding-left: 70px !important;
  }

  .u-pl-80-tab {
    padding-left: 80px !important;
  }

  .u-pl-90-tab {
    padding-left: 90px !important;
  }

  .u-pl-100-tab {
    padding-left: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pl-0-sp {
    padding-left: 0px !important;
  }

  .u-pl-5-sp {
    padding-left: 5px !important;
  }

  .u-pl-10-sp {
    padding-left: 10px !important;
  }

  .u-pl-15-sp {
    padding-left: 15px !important;
  }

  .u-pl-20-sp {
    padding-left: 20px !important;
  }

  .u-pl-22-sp {
    padding-left: 22px !important;
  }

  .u-pl-25-sp {
    padding-left: 25px !important;
  }

  .u-pl-30-sp {
    padding-left: 30px !important;
  }

  .u-pl-40-sp {
    padding-left: 40px !important;
  }

  .u-pl-50-sp {
    padding-left: 50px !important;
  }

  .u-pl-60-sp {
    padding-left: 60px !important;
  }

  .u-pl-70-sp {
    padding-left: 70px !important;
  }

  .u-pl-80-sp {
    padding-left: 80px !important;
  }

  .u-pl-90-sp {
    padding-left: 90px !important;
  }

  .u-pl-100-sp {
    padding-left: 100px !important;
  }
}

@media (min-width: 0px) {
  .u-pr-0 {
    padding-right: 0px !important;
  }

  .u-pr-5 {
    padding-right: 5px !important;
  }

  .u-pr-10 {
    padding-right: 10px !important;
  }

  .u-pr-15 {
    padding-right: 15px !important;
  }

  .u-pr-20 {
    padding-right: 20px !important;
  }

  .u-pr-22 {
    padding-right: 22px !important;
  }

  .u-pr-25 {
    padding-right: 25px !important;
  }

  .u-pr-30 {
    padding-right: 30px !important;
  }

  .u-pr-40 {
    padding-right: 40px !important;
  }

  .u-pr-50 {
    padding-right: 50px !important;
  }

  .u-pr-60 {
    padding-right: 60px !important;
  }

  .u-pr-70 {
    padding-right: 70px !important;
  }

  .u-pr-80 {
    padding-right: 80px !important;
  }

  .u-pr-90 {
    padding-right: 90px !important;
  }

  .u-pr-100 {
    padding-right: 100px !important;
  }
}

@media (min-width: 768px) {
  .u-pr-0-pc {
    padding-right: 0px !important;
  }

  .u-pr-5-pc {
    padding-right: 5px !important;
  }

  .u-pr-10-pc {
    padding-right: 10px !important;
  }

  .u-pr-15-pc {
    padding-right: 15px !important;
  }

  .u-pr-20-pc {
    padding-right: 20px !important;
  }

  .u-pr-22-pc {
    padding-right: 22px !important;
  }

  .u-pr-25-pc {
    padding-right: 25px !important;
  }

  .u-pr-30-pc {
    padding-right: 30px !important;
  }

  .u-pr-40-pc {
    padding-right: 40px !important;
  }

  .u-pr-50-pc {
    padding-right: 50px !important;
  }

  .u-pr-60-pc {
    padding-right: 60px !important;
  }

  .u-pr-70-pc {
    padding-right: 70px !important;
  }

  .u-pr-80-pc {
    padding-right: 80px !important;
  }

  .u-pr-90-pc {
    padding-right: 90px !important;
  }

  .u-pr-100-pc {
    padding-right: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-pr-0-tab {
    padding-right: 0px !important;
  }

  .u-pr-5-tab {
    padding-right: 5px !important;
  }

  .u-pr-10-tab {
    padding-right: 10px !important;
  }

  .u-pr-15-tab {
    padding-right: 15px !important;
  }

  .u-pr-20-tab {
    padding-right: 20px !important;
  }

  .u-pr-22-tab {
    padding-right: 22px !important;
  }

  .u-pr-25-tab {
    padding-right: 25px !important;
  }

  .u-pr-30-tab {
    padding-right: 30px !important;
  }

  .u-pr-40-tab {
    padding-right: 40px !important;
  }

  .u-pr-50-tab {
    padding-right: 50px !important;
  }

  .u-pr-60-tab {
    padding-right: 60px !important;
  }

  .u-pr-70-tab {
    padding-right: 70px !important;
  }

  .u-pr-80-tab {
    padding-right: 80px !important;
  }

  .u-pr-90-tab {
    padding-right: 90px !important;
  }

  .u-pr-100-tab {
    padding-right: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pr-0-sp {
    padding-right: 0px !important;
  }

  .u-pr-5-sp {
    padding-right: 5px !important;
  }

  .u-pr-10-sp {
    padding-right: 10px !important;
  }

  .u-pr-15-sp {
    padding-right: 15px !important;
  }

  .u-pr-20-sp {
    padding-right: 20px !important;
  }

  .u-pr-22-sp {
    padding-right: 22px !important;
  }

  .u-pr-25-sp {
    padding-right: 25px !important;
  }

  .u-pr-30-sp {
    padding-right: 30px !important;
  }

  .u-pr-40-sp {
    padding-right: 40px !important;
  }

  .u-pr-50-sp {
    padding-right: 50px !important;
  }

  .u-pr-60-sp {
    padding-right: 60px !important;
  }

  .u-pr-70-sp {
    padding-right: 70px !important;
  }

  .u-pr-80-sp {
    padding-right: 80px !important;
  }

  .u-pr-90-sp {
    padding-right: 90px !important;
  }

  .u-pr-100-sp {
    padding-right: 100px !important;
  }
}

@media (min-width: 0px) {
  .u-px-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .u-px-5 {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .u-px-10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .u-px-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .u-px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .u-px-25 {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }

  .u-px-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .u-px-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .u-px-50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .u-px-60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  .u-px-70 {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }

  .u-px-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }

  .u-px-90 {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }

  .u-px-100 {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
}

@media (min-width: 768px) {
  .u-px-0-pc {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .u-px-5-pc {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .u-px-10-pc {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .u-px-15-pc {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .u-px-20-pc {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .u-px-25-pc {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }

  .u-px-30-pc {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .u-px-40-pc {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .u-px-50-pc {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .u-px-60-pc {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  .u-px-70-pc {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }

  .u-px-80-pc {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }

  .u-px-90-pc {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }

  .u-px-100-pc {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-px-0-tab {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .u-px-5-tab {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .u-px-10-tab {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .u-px-15-tab {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .u-px-20-tab {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .u-px-25-tab {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }

  .u-px-30-tab {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .u-px-40-tab {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .u-px-50-tab {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .u-px-60-tab {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  .u-px-70-tab {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }

  .u-px-80-tab {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }

  .u-px-90-tab {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }

  .u-px-100-tab {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-px-0-sp {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .u-px-5-sp {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .u-px-10-sp {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .u-px-15-sp {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .u-px-20-sp {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .u-px-25-sp {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }

  .u-px-30-sp {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .u-px-40-sp {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .u-px-50-sp {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .u-px-60-sp {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  .u-px-70-sp {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }

  .u-px-80-sp {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }

  .u-px-90-sp {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }

  .u-px-100-sp {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
}

/* ボーダー
-----------------------*/
.u-br-50p {
  border-radius: 50% !important;
}

/* 横幅
-----------------------*/
@media (min-width: 0px) {
  .u-w-auto {
    width: auto !important;
  }

  .u-w-5p {
    width: 5% !important;
  }

  .u-w-10p {
    width: 10% !important;
  }

  .u-w-15p {
    width: 15% !important;
  }

  .u-w-20p {
    width: 20% !important;
  }

  .u-w-25p {
    width: 25% !important;
  }

  .u-w-30p {
    width: 30% !important;
  }

  .u-w-35p {
    width: 35% !important;
  }

  .u-w-40p {
    width: 40% !important;
  }

  .u-w-45p {
    width: 45% !important;
  }

  .u-w-50p {
    width: 50% !important;
  }

  .u-w-55p {
    width: 55% !important;
  }

  .u-w-60p {
    width: 60% !important;
  }

  .u-w-65p {
    width: 65% !important;
  }

  .u-w-70p {
    width: 70% !important;
  }

  .u-w-75p {
    width: 75% !important;
  }

  .u-w-80p {
    width: 80% !important;
  }

  .u-w-85p {
    width: 85% !important;
  }

  .u-w-90p {
    width: 90% !important;
  }

  .u-w-95p {
    width: 95% !important;
  }

  .u-w-100p {
    width: 100% !important;
  }

  .u-w-1 {
    width: 1px !important;
  }

  .u-w-5 {
    width: 5px !important;
  }

  .u-w-10 {
    width: 10px !important;
  }

  .u-w-15 {
    width: 15px !important;
  }

  .u-w-20 {
    width: 20px !important;
  }

  .u-w-25 {
    width: 25px !important;
  }

  .u-w-30 {
    width: 30px !important;
  }

  .u-w-35 {
    width: 35px !important;
  }

  .u-w-40 {
    width: 40px !important;
  }

  .u-w-45 {
    width: 45px !important;
  }

  .u-w-50 {
    width: 50px !important;
  }

  .u-w-55 {
    width: 55px !important;
  }

  .u-w-60 {
    width: 60px !important;
  }

  .u-w-65 {
    width: 65px !important;
  }

  .u-w-70 {
    width: 70px !important;
  }

  .u-w-75 {
    width: 75px !important;
  }

  .u-w-80 {
    width: 80px !important;
  }

  .u-w-85 {
    width: 85px !important;
  }

  .u-w-90 {
    width: 90px !important;
  }

  .u-w-95 {
    width: 95px !important;
  }

  .u-w-100 {
    width: 100px !important;
  }

  .u-w-110 {
    width: 110px !important;
  }

  .u-w-120 {
    width: 120px !important;
  }

  .u-w-130 {
    width: 130px !important;
  }

  .u-w-140 {
    width: 140px !important;
  }

  .u-w-150 {
    width: 150px !important;
  }

  .u-w-160 {
    width: 160px !important;
  }

  .u-w-170 {
    width: 170px !important;
  }

  .u-w-180 {
    width: 180px !important;
  }

  .u-w-190 {
    width: 190px !important;
  }

  .u-w-200 {
    width: 200px !important;
  }

  .u-w-210 {
    width: 210px !important;
  }

  .u-w-220 {
    width: 220px !important;
  }

  .u-w-230 {
    width: 230px !important;
  }

  .u-w-240 {
    width: 240px !important;
  }

  .u-w-250 {
    width: 250px !important;
  }

  .u-w-260 {
    width: 260px !important;
  }

  .u-w-270 {
    width: 270px !important;
  }

  .u-w-280 {
    width: 280px !important;
  }

  .u-w-290 {
    width: 290px !important;
  }

  .u-w-300 {
    width: 300px !important;
  }

  .u-w-350 {
    width: 350px !important;
  }

  .u-w-400 {
    width: 400px !important;
  }

  .u-w-450 {
    width: 450px !important;
  }

  .u-w-500 {
    width: 500px !important;
  }

  .u-w-550 {
    width: 550px !important;
  }

  .u-w-600 {
    width: 600px !important;
  }

  .u-w-650 {
    width: 650px !important;
  }

  .u-w-700 {
    width: 700px !important;
  }

  .u-w-750 {
    width: 750px !important;
  }

  .u-w-800 {
    width: 800px !important;
  }

  .u-w-850 {
    width: 850px !important;
  }

  .u-w-900 {
    width: 900px !important;
  }

  .u-w-950 {
    width: 950px !important;
  }

  .u-w-980 {
    width: 980px !important;
  }

  .u-w-1000 {
    width: 1000px !important;
  }
}

@media (min-width: 768px) {
  .u-w-auto-pc {
    width: auto !important;
  }

  .u-w-5p-pc {
    width: 5% !important;
  }

  .u-w-10p-pc {
    width: 10% !important;
  }

  .u-w-15p-pc {
    width: 15% !important;
  }

  .u-w-20p-pc {
    width: 20% !important;
  }

  .u-w-25p-pc {
    width: 25% !important;
  }

  .u-w-30p-pc {
    width: 30% !important;
  }

  .u-w-35p-pc {
    width: 35% !important;
  }

  .u-w-40p-pc {
    width: 40% !important;
  }

  .u-w-45p-pc {
    width: 45% !important;
  }

  .u-w-50p-pc {
    width: 50% !important;
  }

  .u-w-55p-pc {
    width: 55% !important;
  }

  .u-w-60p-pc {
    width: 60% !important;
  }

  .u-w-65p-pc {
    width: 65% !important;
  }

  .u-w-70p-pc {
    width: 70% !important;
  }

  .u-w-75p-pc {
    width: 75% !important;
  }

  .u-w-80p-pc {
    width: 80% !important;
  }

  .u-w-85p-pc {
    width: 85% !important;
  }

  .u-w-90p-pc {
    width: 90% !important;
  }

  .u-w-95p-pc {
    width: 90% !important;
  }

  .u-w-100p-pc {
    width: 100% !important;
  }

  .u-w-1-pc {
    width: 1px !important;
  }

  .u-w-10-pc {
    width: 10px !important;
  }

  .u-w-20-pc {
    width: 20px !important;
  }

  .u-w-30-pc {
    width: 30px !important;
  }

  .u-w-40-pc {
    width: 40px !important;
  }

  .u-w-50-pc {
    width: 50px !important;
  }

  .u-w-60-pc {
    width: 60px !important;
  }

  .u-w-70-pc {
    width: 70px !important;
  }

  .u-w-80-pc {
    width: 80px !important;
  }

  .u-w-90-pc {
    width: 90px !important;
  }

  .u-w-100-pc {
    width: 100px !important;
  }

  .u-w-110-pc {
    width: 110px !important;
  }

  .u-w-120-pc {
    width: 120px !important;
  }

  .u-w-130-pc {
    width: 130px !important;
  }

  .u-w-140-pc {
    width: 140px !important;
  }

  .u-w-150-pc {
    width: 150px !important;
  }

  .u-w-160-pc {
    width: 160px !important;
  }

  .u-w-170-pc {
    width: 170px !important;
  }

  .u-w-180-pc {
    width: 180px !important;
  }

  .u-w-190-pc {
    width: 190px !important;
  }

  .u-w-200-pc {
    width: 200px !important;
  }

  .u-w-210-pc {
    width: 210px !important;
  }

  .u-w-220-pc {
    width: 220px !important;
  }

  .u-w-230-pc {
    width: 230px !important;
  }

  .u-w-240-pc {
    width: 240px !important;
  }

  .u-w-250-pc {
    width: 250px !important;
  }

  .u-w-260-pc {
    width: 260px !important;
  }

  .u-w-270-pc {
    width: 270px !important;
  }

  .u-w-280-pc {
    width: 280px !important;
  }

  .u-w-290-pc {
    width: 290px !important;
  }

  .u-w-300-pc {
    width: 300px !important;
  }

  .u-w-350-pc {
    width: 350px !important;
  }

  .u-w-400-pc {
    width: 400px !important;
  }

  .u-w-450-pc {
    width: 450px !important;
  }

  .u-w-500-pc {
    width: 500px !important;
  }

  .u-w-550-pc {
    width: 550px !important;
  }

  .u-w-600-pc {
    width: 600px !important;
  }

  .u-w-650-pc {
    width: 650px !important;
  }

  .u-w-700-pc {
    width: 700px !important;
  }

  .u-w-750-pc {
    width: 750px !important;
  }

  .u-w-800-pc {
    width: 800px !important;
  }

  .u-w-850-pc {
    width: 850px !important;
  }

  .u-w-900-pc {
    width: 900px !important;
  }

  .u-w-950-pc {
    width: 950px !important;
  }

  .u-w-980-pc {
    width: 980px !important;
  }

  .u-w-1000-pc {
    width: 1000px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-w-auto-tab {
    width: auto !important;
  }

  .u-w-5p-tab {
    width: 5% !important;
  }

  .u-w-10p-tab {
    width: 10% !important;
  }

  .u-w-15p-tab {
    width: 15% !important;
  }

  .u-w-20p-tab {
    width: 20% !important;
  }

  .u-w-25p-tab {
    width: 25% !important;
  }

  .u-w-30p-tab {
    width: 30% !important;
  }

  .u-w-35p-tab {
    width: 35% !important;
  }

  .u-w-40p-tab {
    width: 40% !important;
  }

  .u-w-45p-tab {
    width: 45% !important;
  }

  .u-w-50p-tab {
    width: 50% !important;
  }

  .u-w-55p-tab {
    width: 55% !important;
  }

  .u-w-60p-tab {
    width: 60% !important;
  }

  .u-w-65p-tab {
    width: 65% !important;
  }

  .u-w-70p-tab {
    width: 70% !important;
  }

  .u-w-75p-tab {
    width: 75% !important;
  }

  .u-w-80p-tab {
    width: 80% !important;
  }

  .u-w-85p-tab {
    width: 85% !important;
  }

  .u-w-90p-tab {
    width: 90% !important;
  }

  .u-w-95p-tab {
    width: 90% !important;
  }

  .u-w-100p-tab {
    width: 100% !important;
  }

  .u-w-1-tab {
    width: 1px !important;
  }

  .u-w-10-tab {
    width: 10px !important;
  }

  .u-w-20-tab {
    width: 20px !important;
  }

  .u-w-30-tab {
    width: 30px !important;
  }

  .u-w-40-tab {
    width: 40px !important;
  }

  .u-w-50-tab {
    width: 50px !important;
  }

  .u-w-60-tab {
    width: 60px !important;
  }

  .u-w-70-tab {
    width: 70px !important;
  }

  .u-w-80-tab {
    width: 80px !important;
  }

  .u-w-90-tab {
    width: 90px !important;
  }

  .u-w-100-tab {
    width: 100px !important;
  }

  .u-w-110-tab {
    width: 110px !important;
  }

  .u-w-120-tab {
    width: 120px !important;
  }

  .u-w-130-tab {
    width: 130px !important;
  }

  .u-w-140-tab {
    width: 140px !important;
  }

  .u-w-150-tab {
    width: 150px !important;
  }

  .u-w-160-tab {
    width: 160px !important;
  }

  .u-w-170-tab {
    width: 170px !important;
  }

  .u-w-180-tab {
    width: 180px !important;
  }

  .u-w-190-tab {
    width: 190px !important;
  }

  .u-w-200-tab {
    width: 200px !important;
  }

  .u-w-210-tab {
    width: 210px !important;
  }

  .u-w-220-tab {
    width: 220px !important;
  }

  .u-w-230-tab {
    width: 230px !important;
  }

  .u-w-240-tab {
    width: 240px !important;
  }

  .u-w-250-tab {
    width: 250px !important;
  }

  .u-w-260-tab {
    width: 260px !important;
  }

  .u-w-270-tab {
    width: 270px !important;
  }

  .u-w-280-tab {
    width: 280px !important;
  }

  .u-w-290-tab {
    width: 290px !important;
  }

  .u-w-300-tab {
    width: 300px !important;
  }

  .u-w-350-tab {
    width: 350px !important;
  }

  .u-w-400-tab {
    width: 400px !important;
  }

  .u-w-450-tab {
    width: 450px !important;
  }

  .u-w-500-tab {
    width: 500px !important;
  }

  .u-w-550-tab {
    width: 550px !important;
  }

  .u-w-600-tab {
    width: 600px !important;
  }

  .u-w-650-tab {
    width: 650px !important;
  }

  .u-w-700-tab {
    width: 700px !important;
  }

  .u-w-750-tab {
    width: 750px !important;
  }

  .u-w-800-tab {
    width: 800px !important;
  }

  .u-w-850-tab {
    width: 850px !important;
  }

  .u-w-900-tab {
    width: 900px !important;
  }

  .u-w-950-tab {
    width: 950px !important;
  }

  .u-w-980-tab {
    width: 980px !important;
  }

  .u-w-1000-tab {
    width: 1000px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-w-auto-sp {
    width: auto !important;
  }

  .u-w-5p-sp {
    width: 5% !important;
  }

  .u-w-10p-sp {
    width: 10% !important;
  }

  .u-w-15p-sp {
    width: 15% !important;
  }

  .u-w-20p-sp {
    width: 20% !important;
  }

  .u-w-25p-sp {
    width: 25% !important;
  }

  .u-w-30p-sp {
    width: 30% !important;
  }

  .u-w-35p-sp {
    width: 35% !important;
  }

  .u-w-40p-sp {
    width: 40% !important;
  }

  .u-w-45p-sp {
    width: 45% !important;
  }

  .u-w-50p-sp {
    width: 50% !important;
  }

  .u-w-55p-sp {
    width: 55% !important;
  }

  .u-w-60p-sp {
    width: 60% !important;
  }

  .u-w-65p-sp {
    width: 65% !important;
  }

  .u-w-70p-sp {
    width: 70% !important;
  }

  .u-w-75p-sp {
    width: 75% !important;
  }

  .u-w-80p-sp {
    width: 80% !important;
  }

  .u-w-85p-sp {
    width: 85% !important;
  }

  .u-w-90p-sp {
    width: 90% !important;
  }

  .u-w-95p-sp {
    width: 90% !important;
  }

  .u-w-100p-sp {
    width: 100% !important;
  }

  .u-w-1-sp {
    width: 1px !important;
  }

  .u-w-10-sp {
    width: 10px !important;
  }

  .u-w-20-sp {
    width: 20px !important;
  }

  .u-w-30-sp {
    width: 30px !important;
  }

  .u-w-40-sp {
    width: 40px !important;
  }

  .u-w-50-sp {
    width: 50px !important;
  }

  .u-w-60-sp {
    width: 60px !important;
  }

  .u-w-70-sp {
    width: 70px !important;
  }

  .u-w-80-sp {
    width: 80px !important;
  }

  .u-w-90-sp {
    width: 90px !important;
  }

  .u-w-100-sp {
    width: 100px !important;
  }

  .u-w-110-sp {
    width: 110px !important;
  }

  .u-w-120-sp {
    width: 120px !important;
  }

  .u-w-130-sp {
    width: 130px !important;
  }

  .u-w-140-sp {
    width: 140px !important;
  }

  .u-w-150-sp {
    width: 150px !important;
  }

  .u-w-160-sp {
    width: 160px !important;
  }

  .u-w-170-sp {
    width: 170px !important;
  }

  .u-w-180-sp {
    width: 180px !important;
  }

  .u-w-190-sp {
    width: 190px !important;
  }

  .u-w-200-sp {
    width: 200px !important;
  }

  .u-w-210-sp {
    width: 210px !important;
  }

  .u-w-220-sp {
    width: 220px !important;
  }

  .u-w-230-sp {
    width: 230px !important;
  }

  .u-w-240-sp {
    width: 240px !important;
  }

  .u-w-250-sp {
    width: 250px !important;
  }

  .u-w-260-sp {
    width: 260px !important;
  }

  .u-w-270-sp {
    width: 270px !important;
  }

  .u-w-280-sp {
    width: 280px !important;
  }

  .u-w-290-sp {
    width: 290px !important;
  }

  .u-w-300-sp {
    width: 300px !important;
  }

  .u-w-350-sp {
    width: 350px !important;
  }

  .u-w-400-sp {
    width: 400px !important;
  }

  .u-w-450-sp {
    width: 450px !important;
  }

  .u-w-500-sp {
    width: 500px !important;
  }

  .u-w-550-sp {
    width: 550px !important;
  }

  .u-w-600-sp {
    width: 600px !important;
  }

  .u-w-650-sp {
    width: 650px !important;
  }

  .u-w-700-sp {
    width: 700px !important;
  }

  .u-w-750-sp {
    width: 750px !important;
  }

  .u-w-800-sp {
    width: 800px !important;
  }

  .u-w-850-sp {
    width: 850px !important;
  }

  .u-w-900-sp {
    width: 900px !important;
  }

  .u-w-950-sp {
    width: 950px !important;
  }

  .u-w-980-sp {
    width: 980px !important;
  }

  .u-w-1000-sp {
    width: 1000px !important;
  }
}

.u-min-w-0 {
  min-width: 0 !important;
}

@media (min-width: 768px) {
  .u-min-w-0-pc {
    min-width: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-min-w-0-sp {
    min-width: 0 !important;
  }
}

@media (min-width: 0px) {
  .u-max-w-none {
    max-width: none !important;
  }

  .u-max-w-100 {
    max-width: 100px !important;
  }

  .u-max-w-150 {
    max-width: 150px !important;
  }

  .u-max-w-200 {
    max-width: 200px !important;
  }

  .u-max-w-250 {
    max-width: 250px !important;
  }

  .u-max-w-300 {
    max-width: 300px !important;
  }

  .u-max-w-350 {
    max-width: 350px !important;
  }

  .u-max-w-400 {
    max-width: 400px !important;
  }

  .u-max-w-450 {
    max-width: 450px !important;
  }

  .u-max-w-500 {
    max-width: 500px !important;
  }
}

@media (min-width: 768px) {
  .u-max-w-none-pc {
    max-width: none !important;
  }

  .u-max-w-100-pc {
    max-width: 100px !important;
  }

  .u-max-w-150-pc {
    max-width: 150px !important;
  }

  .u-max-w-200-pc {
    max-width: 200px !important;
  }

  .u-max-w-250-pc {
    max-width: 250px !important;
  }

  .u-max-w-300-pc {
    max-width: 300px !important;
  }

  .u-max-w-350-pc {
    max-width: 350px !important;
  }

  .u-max-w-400-pc {
    max-width: 400px !important;
  }

  .u-max-w-450-pc {
    max-width: 450px !important;
  }

  .u-max-w-500-pc {
    max-width: 500px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-max-w-none-sp {
    max-width: none !important;
  }

  .u-max-w-100-sp {
    max-width: 100px !important;
  }

  .u-max-w-150-sp {
    max-width: 150px !important;
  }

  .u-max-w-200-sp {
    max-width: 200px !important;
  }

  .u-max-w-250-sp {
    max-width: 250px !important;
  }

  .u-max-w-300-sp {
    max-width: 300px !important;
  }

  .u-max-w-350-sp {
    max-width: 350px !important;
  }

  .u-max-w-400-sp {
    max-width: 400px !important;
  }

  .u-max-w-450-sp {
    max-width: 450px !important;
  }

  .u-max-w-500-sp {
    max-width: 500px !important;
  }
}

/* 高さ
-----------------------*/
@media (min-width: 0px) {
  .u-h-auto {
    height: auto !important;
  }

  .u-h-100p {
    height: 100% !important;
  }

  .u-min-h-100vh {
    min-height: 100vh !important;
  }

  .u-h-100vh {
    height: 100vh !important;
  }

  .u-h-0 {
    height: 0px !important;
  }

  .u-h-50 {
    height: 50px !important;
  }

  .u-h-100 {
    height: 100px !important;
  }

  .u-h-150 {
    height: 150px !important;
  }

  .u-h-200 {
    height: 200px !important;
  }

  .u-h-250 {
    height: 250px !important;
  }

  .u-h-300 {
    height: 300px !important;
  }

  .u-h-350 {
    height: 350px !important;
  }

  .u-h-400 {
    height: 400px !important;
  }

  .u-h-450 {
    height: 450px !important;
  }

  .u-h-500 {
    height: 500px !important;
  }

  .u-h-1100 {
    height: 1100px !important;
  }
}

@media (min-width: 768px) {
  .u-h-auto-pc {
    height: auto !important;
  }

  .u-h-100p-pc {
    height: 100% !important;
  }

  .u-h-100vh-pc {
    height: 100vh !important;
  }

  .u-h-0-pc {
    height: 0px !important;
  }

  .u-h-50-pc {
    height: 50px !important;
  }

  .u-h-100-pc {
    height: 100px !important;
  }

  .u-h-150-pc {
    height: 150px !important;
  }

  .u-h-200-pc {
    height: 200px !important;
  }

  .u-h-250-pc {
    height: 250px !important;
  }

  .u-h-300-pc {
    height: 300px !important;
  }

  .u-h-350-pc {
    height: 350px !important;
  }

  .u-h-400-pc {
    height: 400px !important;
  }

  .u-h-450-pc {
    height: 450px !important;
  }

  .u-h-500-pc {
    height: 500px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-h-auto-sp {
    height: auto !important;
  }

  .u-h-100p-sp {
    height: 100% !important;
  }

  .u-h-100vh-sp {
    height: 100vh !important;
  }

  .u-h-0-sp {
    height: 0px !important;
  }

  .u-h-50-sp {
    height: 50px !important;
  }

  .u-h-100-sp {
    height: 100px !important;
  }

  .u-h-150-sp {
    height: 150px !important;
  }

  .u-h-200-sp {
    height: 200px !important;
  }

  .u-h-250-sp {
    height: 250px !important;
  }

  .u-h-300-sp {
    height: 300px !important;
  }

  .u-h-350-sp {
    height: 350px !important;
  }

  .u-h-400-sp {
    height: 400px !important;
  }

  .u-h-450-sp {
    height: 450px !important;
  }

  .u-h-500-sp {
    height: 500px !important;
  }
}

@media (min-width: 0px) {
  .u-min-h-100p {
    min-height: 100% !important;
  }

  .u-min-h-0 {
    min-height: 0 !important;
  }

  .u-min-h-50 {
    min-height: 50px !important;
  }

  .u-min-h-100 {
    min-height: 100px !important;
  }

  .u-min-h-150 {
    min-height: 150px !important;
  }

  .u-min-h-200 {
    min-height: 200px !important;
  }

  .u-min-h-250 {
    min-height: 250px !important;
  }

  .u-min-h-300 {
    min-height: 300px !important;
  }

  .u-min-h-350 {
    min-height: 350px !important;
  }

  .u-min-h-400 {
    min-height: 400px !important;
  }

  .u-min-h-450 {
    min-height: 450px !important;
  }

  .u-min-h-500 {
    min-height: 500px !important;
  }
}

@media (min-width: 768px) {
  .u-min-h-100p-pc {
    min-height: 100% !important;
  }

  .u-min-h-100vh-pc {
    min-height: 100vh !important;
  }

  .u-min-h-0-pc {
    min-height: 0 !important;
  }

  .u-min-h-50-pc {
    min-height: 50px !important;
  }

  .u-min-h-100-pc {
    min-height: 100px !important;
  }

  .u-min-h-150-pc {
    min-height: 150px !important;
  }

  .u-min-h-200-pc {
    min-height: 200px !important;
  }

  .u-min-h-250-pc {
    min-height: 250px !important;
  }

  .u-min-h-300-pc {
    min-height: 300px !important;
  }

  .u-min-h-350-pc {
    min-height: 350px !important;
  }

  .u-min-h-400-pc {
    min-height: 400px !important;
  }

  .u-min-h-450-pc {
    min-height: 450px !important;
  }

  .u-min-h-500-pc {
    min-height: 500px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-min-h-100p-sp {
    min-height: 100% !important;
  }

  .u-min-h-100vh-sp {
    min-height: 100vh !important;
  }

  .u-min-h-0-sp {
    min-height: 0 !important;
  }

  .u-min-h-50-sp {
    min-height: 50px !important;
  }

  .u-min-h-100-sp {
    min-height: 100px !important;
  }

  .u-min-h-150-sp {
    min-height: 150px !important;
  }

  .u-min-h-200-sp {
    min-height: 200px !important;
  }

  .u-min-h-250-sp {
    min-height: 250px !important;
  }

  .u-min-h-300-sp {
    min-height: 300px !important;
  }

  .u-min-h-350-sp {
    min-height: 350px !important;
  }

  .u-min-h-400-sp {
    min-height: 400px !important;
  }

  .u-min-h-450-sp {
    min-height: 450px !important;
  }

  .u-min-h-500-sp {
    min-height: 500px !important;
  }
}

@media (min-width: 0px) {
  .u-max-h-none {
    max-height: none !important;
  }

  .u-max-h-3em {
    max-height: 6em !important;
  }

  .u-max-h-50 {
    max-height: 50px !important;
  }

  .u-max-h-100 {
    max-height: 100px !important;
  }

  .u-max-h-150 {
    max-height: 150px !important;
  }

  .u-max-h-200 {
    max-height: 200px !important;
  }

  .u-max-h-202 {
    max-height: 202px !important;
  }

  .u-max-h-250 {
    max-height: 250px !important;
  }

  .u-max-h-300 {
    max-height: 300px !important;
  }

  .u-max-h-350 {
    max-height: 350px !important;
  }

  .u-max-h-400 {
    max-height: 400px !important;
  }

  .u-max-h-450 {
    max-height: 450px !important;
  }

  .u-max-h-500 {
    max-height: 500px !important;
  }
}

@media (min-width: 768px) {
  .u-max-h-none-pc {
    max-height: none !important;
  }

  .u-max-h-50-pc {
    max-height: 50px !important;
  }

  .u-max-h-100-pc {
    max-height: 100px !important;
  }

  .u-max-h-150-pc {
    max-height: 150px !important;
  }

  .u-max-h-200-pc {
    max-height: 200px !important;
  }

  .u-max-h-250-pc {
    max-height: 250px !important;
  }

  .u-max-h-300-pc {
    max-height: 300px !important;
  }

  .u-max-h-350-pc {
    max-height: 350px !important;
  }

  .u-max-h-400-pc {
    max-height: 400px !important;
  }

  .u-max-h-450-pc {
    max-height: 450px !important;
  }

  .u-max-h-500-pc {
    max-height: 500px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-max-h-none-sp {
    max-height: none !important;
  }

  .u-max-h-50-sp {
    max-height: 50px !important;
  }

  .u-max-h-100-sp {
    max-height: 100px !important;
  }

  .u-max-h-150-sp {
    max-height: 150px !important;
  }

  .u-max-h-200-sp {
    max-height: 200px !important;
  }

  .u-max-h-250-sp {
    max-height: 250px !important;
  }

  .u-max-h-300-sp {
    max-height: 300px !important;
  }

  .u-max-h-350-sp {
    max-height: 350px !important;
  }

  .u-max-h-400-sp {
    max-height: 400px !important;
  }

  .u-max-h-450-sp {
    max-height: 450px !important;
  }

  .u-max-h-500-sp {
    max-height: 500px !important;
  }
}

/* フォントファミリー
-----------------------*/
.u-ff-noto-sans {
  font-family: 'Noto Sans JP', 'LocalNotoSansJP', sans-serif !important;
}

.u-ff-noto-serif {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
}

.u-ff-catamaran {
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
}

/* フォントサイズ
-----------------------*/
@media (min-width: 0px) {
  .u-fs-10 {
    font-size: 1.0rem !important;
  }

  .u-fs-11 {
    font-size: 1.1rem !important;
  }

  .u-fs-12 {
    font-size: 1.2rem !important;
  }

  .u-fs-13 {
    font-size: 1.3rem !important;
  }

  .u-fs-14 {
    font-size: 1.4rem !important;
  }

  .u-fs-16 {
    font-size: 1.6rem !important;
  }

  .u-fs-18 {
    font-size: 1.8rem !important;
  }

  .u-fs-20 {
    font-size: 2.0rem !important;
  }

  .u-fs-22 {
    font-size: 2.2rem !important;
  }

  .u-fs-24 {
    font-size: 2.4rem !important;
  }

  .u-fs-26 {
    font-size: 2.6rem !important;
  }

  .u-fs-28 {
    font-size: 2.8rem !important;
  }

  .u-fs-30 {
    font-size: 3rem !important;
    line-height: 1.2;
  }

  .u-fs-32 {
    font-size: 3.2rem !important;
  }

  .u-fs-34 {
    font-size: 3.4rem !important;
  }

  .u-fs-36 {
    font-size: 3.6rem !important;
  }

  .u-fs-38 {
    font-size: 3.8rem !important;
  }

  .u-fs-40 {
    font-size: 4rem !important;
  }

  .u-fs-48 {
    font-size: 4.8rem !important;
  }

  .u-fs-120 {
    font-size: 12rem !important;
  }
}

@media (min-width: 768px) {
  .u-fs-10-pc {
    font-size: 1.0rem !important;
  }

  .u-fs-11-pc {
    font-size: 1.1rem !important;
  }

  .u-fs-12-pc {
    font-size: 1.2rem !important;
  }

  .u-fs-13-pc {
    font-size: 1.3rem !important;
  }

  .u-fs-14-pc {
    font-size: 1.4rem !important;
  }

  .u-fs-16-pc {
    font-size: 1.6rem !important;
  }

  .u-fs-18-pc {
    font-size: 1.8rem !important;
  }

  .u-fs-20-pc {
    font-size: 2.0rem !important;
  }

  .u-fs-22-pc {
    font-size: 2.2rem !important;
  }

  .u-fs-24-pc {
    font-size: 2.4rem !important;
  }

  .u-fs-26-pc {
    font-size: 2.6rem !important;
  }

  .u-fs-28-pc {
    font-size: 2.8rem !important;
  }

  .u-fs-30-pc {
    font-size: 3rem !important;
  }

  .u-fs-32-pc {
    font-size: 3.2rem !important;
  }

  .u-fs-34-pc {
    font-size: 3.4rem !important;
  }

  .u-fs-36-pc {
    font-size: 3.6rem !important;
  }

  .u-fs-38-pc {
    font-size: 3.8rem !important;
  }

  .u-fs-40-pc {
    font-size: 4rem !important;
  }

  .u-fs-48-pc {
    font-size: 4.8rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fs-10-sp {
    font-size: 1.0rem !important;
  }

  .u-fs-11-sp {
    font-size: 1.1rem !important;
  }

  .u-fs-12-sp {
    font-size: 1.2rem !important;
  }

  .u-fs-13-sp {
    font-size: 1.3rem !important;
  }

  .u-fs-14-sp {
    font-size: 1.4rem !important;
  }

  .u-fs-16-sp {
    font-size: 1.6rem !important;
  }

  .u-fs-18-sp {
    font-size: 1.8rem !important;
  }

  .u-fs-20-sp {
    font-size: 2.0rem !important;
  }

  .u-fs-22-sp {
    font-size: 2.2rem !important;
  }

  .u-fs-24-sp {
    font-size: 2.4rem !important;
  }

  .u-fs-26-sp {
    font-size: 2.6rem !important;
  }

  .u-fs-28-sp {
    font-size: 2.8rem !important;
  }

  .u-fs-30-sp {
    font-size: 3rem !important;
  }

  .u-fs-32-sp {
    font-size: 3.2rem !important;
  }

  .u-fs-34-sp {
    font-size: 3.4rem !important;
  }

  .u-fs-36-sp {
    font-size: 3.6rem !important;
  }

  .u-fs-38-sp {
    font-size: 3.8rem !important;
  }

  .u-fs-40-sp {
    font-size: 4rem !important;
  }

  .u-fs-48-sp {
    font-size: 4.8rem !important;
  }
}

/* フォントウェイト
-----------------------*/
.u-fw-normal {
  font-weight: normal !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

/* ラインハイト
-----------------------*/
.u-lh-10 {
  line-height: 1.0 !important;
}

.u-lh-13 {
  line-height: 1.3 !important;
}

.u-lh-15 {
  line-height: 1.5 !important;
}

.u-lh-17 {
  line-height: 1.7 !important;
}

.u-lh-18 {
  line-height: 1.8 !important;
}

.u-lh-20 {
  line-height: 2.0 !important;
}

/* テキストアライン
-----------------------*/
.u-ta-left {
  text-align: left !important;
}

.u-ta-center {
  text-align: center !important;
}

.u-ta-right {
  text-align: right !important;
}

@media (min-width: 768px) {
  .u-ta-left-pc {
    text-align: left !important;
  }

  .u-ta-center-pc {
    text-align: center !important;
  }

  .u-ta-right-pc {
    text-align: right !important;
  }
}

@media screen and (max-width: 767px) {
  .u-ta-left-sp {
    text-align: left !important;
  }

  .u-ta-center-sp {
    text-align: center !important;
  }

  .u-ta-right-sp {
    text-align: right !important;
  }
}

/* バーティカルアライン
-----------------------*/
.u-va-middle {
  vertical-align: middle !important;
}

/* テキストデコレーション
-----------------------*/
.u-td-none {
  text-decoration: none !important;
}

.u-td-underline {
  text-decoration: underline !important;
}

/* ホワイトスペース
-----------------------*/
.u-ws-normal {
  white-space: normal !important;
}

.u-ws-nowrap {
  white-space: nowrap !important;
}

/* ワードブレイク
-----------------------*/
.u-wb-all {
  word-break: break-all !important;
}

/* カーソル
-----------------------*/
.u-cursor-pointer {
  cursor: pointer;
}

/* 不透明度
-----------------------*/
.u-opacity-0 {
  opacity: 0;
}

.u-opacity-01 {
  opacity: 0.1;
}

.u-opacity-02 {
  opacity: 0.2;
}

.u-opacity-03 {
  opacity: 0.3;
}

.u-opacity-04 {
  opacity: 0.4;
}

.u-opacity-05 {
  opacity: 0.5;
}

.u-opacity-06 {
  opacity: 0.6;
}

.u-opacity-07 {
  opacity: 0.7;
}

.u-opacity-08 {
  opacity: 0.8;
}

.u-opacity-09 {
  opacity: 0.9;
}

.u-opacity-1 {
  opacity: 1;
}

/* 印刷用
-----------------------*/
@media print {
  .u-print-d-none {
    display: none;
  }
}

/* お客様事例 page style */
@media print {
  .case_col_2 .col_box:first-of-type {
    width: 58.3333% !important;
    margin-right: 1.5rem !important;
  }

  .case_col_2 .col_box:last-of-type {
    width: 41.66666667% !important;
    margin-left: 1.5rem !important;
  }

  .case_col_2.pict .col_box:first-of-type {
    width: 50% !important;
    margin-right: 1.5rem !important;
  }

  .case_col_2.pict .col_box:last-of-type {
    width: 50% !important;
    margin-left: 1.5rem !important;
  }

  .case_col_2.rev .col_box:last-of-type {
    width: 41.66666667% !important;
    margin-right: 1.5rem !important;
  }

  .case_col_2.rev .col_box:first-of-type {
    width: 58.3333% !important;
    margin-left: 1.5rem !important;
  }

  .case_col_2 .col_box img {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .case_col_2 .col_box.profile {
    width: calc(41.66666667% + 1.5rem) !important;
    margin: 0 auto !important;
  }
}



/* -----------------------------------------------
    Archive News style
    2010 - 2018
----------------------------------------------- */

/* リード文 */
.bass-bold-A01 {
  font-style: normal;
}

/* 見出し */
.bass-heading-A01 {
  margin: 10rem 0 2rem 0;
}

  .bass-heading-A01 h2 {
    font-size: 2rem;
    font-weight: bold;
  }

.bass-heading-A02 {
  margin: 4rem 0 2rem 0;
}

  .bass-heading-A02 h3 {
    font-size: 1.8rem;
    font-weight: bold;
  }

.bass-heading-A01 + .bass-heading-A02 {
  margin-top: 1.75rem;
}

.bass-heading-A03 {
  margin-top: 3rem;
}

  .bass-heading-A03 h4 {
    font-size: 1.6rem;
    font-weight: bold;
  }

/* 本文 */
.bass-text-A01 p + p {
  margin-top: 2rem;
}

/* 画像 */
.bass-figure-A01 {
  margin: 7rem 0;
  text-align: center;
}

  .bass-figure-A01 img {
    max-width: 100%;
    display: inline-block;
  }

  .bass-figure-A01 .bass-text-A02 {
    margin-top: 2rem;
    text-align: center;
  }

  .bass-figure-A01 img {
    width: auto;
    max-width: 100%;
  }

/* リスト */
.bass-list-A01 li::before,
.bass-list-A02 li::before {
  content: "・";
  display: table-cell;
  text-align: center;
  width: 25px;
}

.bass-list-B01 .list-num,
.bass-list-B02 .list-num,
.bass-list-B03 .list-num,
.bass-list-B04 .list-num,
.bass-list-C01 .list-num,
.bass-list-C02 .list-num {
  display: table-cell;
  padding-right: 5px;
  min-width: 25px;
  white-space: nowrap;
}

/* 注釈 */
.bass-heading-B03 {
  margin-top: 5.6rem;
}

.bass-heading-B03 {
  font-size: 1.4rem;
  color: #7f7f7f;
  font-weight: bold;
}

.bass-noteslist-A01 {
  color: #7f7f7f;
}

/* お問い合わせ欄 */
.bass-infoblock-D01 {
  margin-top: 6.5rem;
}

  .bass-infoblock-D01 .bass-heading-A02 h2 {
    font-size: 1.8rem;
    font-weight: bold;
  }

  .bass-infoblock-D01 .bass-heading-A03 {
    margin-top: 2rem;
  }

    .bass-infoblock-D01 .bass-heading-A03 h3 {
      margin-bottom: 1rem;
      font-size: 1.4rem;
      font-weight: bold;
    }

/* YouTube */
.youtube-responsive {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
}

  .youtube-responsive::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }

  .youtube-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

/* =========== definitionlist =========== */
/* A01 */
.bass-definitionlist-A01 dt {
  font-weight: bold;
}

.bass-definitionlist-A01 * + dt {
  margin-top: 1.5em;
}

.bass-definitionlist-A01 dd {
  margin-top: 1em;
}


/* =========== テーブル =========== */
/*table th,
table tfoot th,
table tfoot td,*/
table .bass-bold-A01 {
  font-weight: bold;
}

.small-font-table {
  font-size: 92.30769%;
  line-height: 1.6;
}

.bass-align-left-A01 {
  text-align: left;
}

.bass-align-center-A01 {
  text-align: center;
}

.bass-align-right-A01 {
  text-align: right;
}

.bass-valign-top-A01 {
  vertical-align: top;
}

.bass-valign-middle-A01 {
  vertical-align: middle;
}

.bass-valign-bottom-A01 {
  vertical-align: bottom;
}

.bass-datatable-A01-lattice th,
.bass-datatable-A01-lattice td,
.bass-datatable-A02-lattice th,
.bass-datatable-A02-lattice td,
.bass-datatable-A03-lattice th,
.bass-datatable-A03-lattice td,
.bass-datatable-A04-lattice th,
.bass-datatable-A04-lattice td,
.bass-datatable-A05-lattice th,
.bass-datatable-A05-lattice td,
.bass-datatable-A06-lattice th,
.bass-datatable-A06-lattice td,
.bass-datatable-B01-lattice th,
.bass-datatable-B01-lattice td,
.bass-datatable-B02-lattice th,
.bass-datatable-B02-lattice td,
.bass-datatable-B03-lattice th,
.bass-datatable-B03-lattice td,
.bass-datatable-B04-lattice th,
.bass-datatable-B04-lattice td,
.bass-datatable-B05-lattice th,
.bass-datatable-B05-lattice td,
.bass-datatable-B06-lattice th,
.bass-datatable-B06-lattice td,
.bass-datatable-C01-lattice th,
.bass-datatable-C01-lattice td,
.bass-datatable-C02-lattice th,
.bass-datatable-C02-lattice td,
.bass-datatable-C03-lattice th,
.bass-datatable-C03-lattice td,
.bass-datatable-C04-lattice th,
.bass-datatable-C04-lattice td,
.bass-datatable-C05-lattice th,
.bass-datatable-C05-lattice td,
.bass-datatable-C06-lattice th,
.bass-datatable-C06-lattice td {
  text-align-last: left;
  border: 1px solid #dbdbdb;
}

.bass-definitiontable-A01-separate th,
.bass-definitiontable-A01-separate td,
.bass-definitiontable-A01-lattice th,
.bass-definitiontable-A01-lattice td,
.bass-definitiontable-B01-separate th,
.bass-definitiontable-B01-separate td,
.bass-definitiontable-B01-lattice th,
.bass-definitiontable-B01-lattice td,
.bass-definitiontable-C01-separate th,
.bass-definitiontable-C01-separate td,
.bass-definitiontable-C01-lattice th,
.bass-definitiontable-C01-lattice td {
  vertical-align: top;
  text-align: left;
  border-top: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb;
}

.bass-definitiontable-A01-lattice table,
.bass-definitiontable-B01-lattice table,
.bass-definitiontable-C01-lattice table {
  border: 1px solid #dbdbdb;
}

.bass-datatable-A01-separate thead tr:first-child th,
.bass-datatable-A01-separate thead tr:first-child td,
.bass-datatable-A01-separate tbody tr:last-child th,
.bass-datatable-A01-separate tbody tr:last-child td,
.bass-datatable-A01-separate tfoot tr:last-child th,
.bass-datatable-A01-separate tfoot tr:last-child td,
.bass-datatable-A01-separate .pseudo-first-child th,
.bass-datatable-A01-separate .pseudo-first-child td,
.bass-datatable-A01-separate .pseudo-last-child th,
.bass-datatable-A01-separate .pseudo-last-child td,
.bass-datatable-A02-separate thead tr:first-child th,
.bass-datatable-A02-separate thead tr:first-child td,
.bass-datatable-A02-separate tbody tr:last-child th,
.bass-datatable-A02-separate tbody tr:last-child td,
.bass-datatable-A02-separate tfoot tr:last-child th,
.bass-datatable-A02-separate tfoot tr:last-child td,
.bass-datatable-A02-separate .pseudo-first-child th,
.bass-datatable-A02-separate .pseudo-first-child td,
.bass-datatable-A02-separate .pseudo-last-child th,
.bass-datatable-A02-separate .pseudo-last-child td,
.bass-datatable-A03-separate thead tr:first-child th,
.bass-datatable-A03-separate thead tr:first-child td,
.bass-datatable-A03-separate tbody tr:last-child th,
.bass-datatable-A03-separate tbody tr:last-child td,
.bass-datatable-A03-separate tfoot tr:last-child th,
.bass-datatable-A03-separate tfoot tr:last-child td,
.bass-datatable-A03-separate .pseudo-first-child th,
.bass-datatable-A03-separate .pseudo-first-child td,
.bass-datatable-A03-separate .pseudo-last-child th,
.bass-datatable-A03-separate .pseudo-last-child td,
.bass-datatable-A04-separate thead tr:first-child th,
.bass-datatable-A04-separate thead tr:first-child td,
.bass-datatable-A04-separate tbody tr:last-child th,
.bass-datatable-A04-separate tbody tr:last-child td,
.bass-datatable-A04-separate tfoot tr:last-child th,
.bass-datatable-A04-separate tfoot tr:last-child td,
.bass-datatable-A04-separate .pseudo-first-child th,
.bass-datatable-A04-separate .pseudo-first-child td,
.bass-datatable-A04-separate .pseudo-last-child th,
.bass-datatable-A04-separate .pseudo-last-child td,
.bass-datatable-A05-separate thead tr:first-child th,
.bass-datatable-A05-separate thead tr:first-child td,
.bass-datatable-A05-separate tbody tr:last-child th,
.bass-datatable-A05-separate tbody tr:last-child td,
.bass-datatable-A05-separate tfoot tr:last-child th,
.bass-datatable-A05-separate tfoot tr:last-child td,
.bass-datatable-A05-separate .pseudo-first-child th,
.bass-datatable-A05-separate .pseudo-first-child td,
.bass-datatable-A05-separate .pseudo-last-child th,
.bass-datatable-A05-separate .pseudo-last-child td,
.bass-datatable-A06-separate thead tr:first-child th,
.bass-datatable-A06-separate thead tr:first-child td,
.bass-datatable-A06-separate tbody tr:last-child th,
.bass-datatable-A06-separate tbody tr:last-child td,
.bass-datatable-A06-separate tfoot tr:last-child th,
.bass-datatable-A06-separate tfoot tr:last-child td,
.bass-datatable-A06-separate .pseudo-first-child th,
.bass-datatable-A06-separate .pseudo-first-child td,
.bass-datatable-A06-separate .pseudo-last-child th,
.bass-datatable-A06-separate .pseudo-last-child td,
.bass-datatable-B01-separate thead tr:first-child th,
.bass-datatable-B01-separate thead tr:first-child td,
.bass-datatable-B01-separate tbody tr:last-child th,
.bass-datatable-B01-separate tbody tr:last-child td,
.bass-datatable-B01-separate tfoot tr:last-child th,
.bass-datatable-B01-separate tfoot tr:last-child td,
.bass-datatable-B01-separate .pseudo-first-child th,
.bass-datatable-B01-separate .pseudo-first-child td,
.bass-datatable-B01-separate .pseudo-last-child th,
.bass-datatable-B01-separate .pseudo-last-child td,
.bass-datatable-B02-separate thead tr:first-child th,
.bass-datatable-B02-separate thead tr:first-child td,
.bass-datatable-B02-separate tbody tr:last-child th,
.bass-datatable-B02-separate tbody tr:last-child td,
.bass-datatable-B02-separate tfoot tr:last-child th,
.bass-datatable-B02-separate tfoot tr:last-child td,
.bass-datatable-B02-separate .pseudo-first-child th,
.bass-datatable-B02-separate .pseudo-first-child td,
.bass-datatable-B02-separate .pseudo-last-child th,
.bass-datatable-B02-separate .pseudo-last-child td,
.bass-datatable-B03-separate thead tr:first-child th,
.bass-datatable-B03-separate thead tr:first-child td,
.bass-datatable-B03-separate tbody tr:last-child th,
.bass-datatable-B03-separate tbody tr:last-child td,
.bass-datatable-B03-separate tfoot tr:last-child th,
.bass-datatable-B03-separate tfoot tr:last-child td,
.bass-datatable-B03-separate .pseudo-first-child th,
.bass-datatable-B03-separate .pseudo-first-child td,
.bass-datatable-B03-separate .pseudo-last-child th,
.bass-datatable-B03-separate .pseudo-last-child td,
.bass-datatable-B04-separate thead tr:first-child th,
.bass-datatable-B04-separate thead tr:first-child td,
.bass-datatable-B04-separate tbody tr:last-child th,
.bass-datatable-B04-separate tbody tr:last-child td,
.bass-datatable-B04-separate tfoot tr:last-child th,
.bass-datatable-B04-separate tfoot tr:last-child td,
.bass-datatable-B04-separate .pseudo-first-child th,
.bass-datatable-B04-separate .pseudo-first-child td,
.bass-datatable-B04-separate .pseudo-last-child th,
.bass-datatable-B04-separate .pseudo-last-child td,
.bass-datatable-B05-separate thead tr:first-child th,
.bass-datatable-B05-separate thead tr:first-child td,
.bass-datatable-B05-separate tbody tr:last-child th,
.bass-datatable-B05-separate tbody tr:last-child td,
.bass-datatable-B05-separate tfoot tr:last-child th,
.bass-datatable-B05-separate tfoot tr:last-child td,
.bass-datatable-B05-separate .pseudo-first-child th,
.bass-datatable-B05-separate .pseudo-first-child td,
.bass-datatable-B05-separate .pseudo-last-child th,
.bass-datatable-B05-separate .pseudo-last-child td,
.bass-datatable-B06-separate thead tr:first-child th,
.bass-datatable-B06-separate thead tr:first-child td,
.bass-datatable-B06-separate tbody tr:last-child th,
.bass-datatable-B06-separate tbody tr:last-child td,
.bass-datatable-B06-separate tfoot tr:last-child th,
.bass-datatable-B06-separate tfoot tr:last-child td,
.bass-datatable-B06-separate .pseudo-first-child th,
.bass-datatable-B06-separate .pseudo-first-child td,
.bass-datatable-B06-separate .pseudo-last-child th,
.bass-datatable-B06-separate .pseudo-last-child td,
.bass-datatable-C01-separate thead tr:first-child th,
.bass-datatable-C01-separate thead tr:first-child td,
.bass-datatable-C01-separate tbody tr:last-child th,
.bass-datatable-C01-separate tbody tr:last-child td,
.bass-datatable-C01-separate tfoot tr:last-child th,
.bass-datatable-C01-separate tfoot tr:last-child td,
.bass-datatable-C01-separate .pseudo-first-child th,
.bass-datatable-C01-separate .pseudo-first-child td,
.bass-datatable-C01-separate .pseudo-last-child th,
.bass-datatable-C01-separate .pseudo-last-child td,
.bass-datatable-C02-separate thead tr:first-child th,
.bass-datatable-C02-separate thead tr:first-child td,
.bass-datatable-C02-separate tbody tr:last-child th,
.bass-datatable-C02-separate tbody tr:last-child td,
.bass-datatable-C02-separate tfoot tr:last-child th,
.bass-datatable-C02-separate tfoot tr:last-child td,
.bass-datatable-C02-separate .pseudo-first-child th,
.bass-datatable-C02-separate .pseudo-first-child td,
.bass-datatable-C02-separate .pseudo-last-child th,
.bass-datatable-C02-separate .pseudo-last-child td,
.bass-datatable-C03-separate thead tr:first-child th,
.bass-datatable-C03-separate thead tr:first-child td,
.bass-datatable-C03-separate tbody tr:last-child th,
.bass-datatable-C03-separate tbody tr:last-child td,
.bass-datatable-C03-separate tfoot tr:last-child th,
.bass-datatable-C03-separate tfoot tr:last-child td,
.bass-datatable-C03-separate .pseudo-first-child th,
.bass-datatable-C03-separate .pseudo-first-child td,
.bass-datatable-C03-separate .pseudo-last-child th,
.bass-datatable-C03-separate .pseudo-last-child td,
.bass-datatable-C04-separate thead tr:first-child th,
.bass-datatable-C04-separate thead tr:first-child td,
.bass-datatable-C04-separate tbody tr:last-child th,
.bass-datatable-C04-separate tbody tr:last-child td,
.bass-datatable-C04-separate tfoot tr:last-child th,
.bass-datatable-C04-separate tfoot tr:last-child td,
.bass-datatable-C04-separate .pseudo-first-child th,
.bass-datatable-C04-separate .pseudo-first-child td,
.bass-datatable-C04-separate .pseudo-last-child th,
.bass-datatable-C04-separate .pseudo-last-child td,
.bass-datatable-C05-separate thead tr:first-child th,
.bass-datatable-C05-separate thead tr:first-child td,
.bass-datatable-C05-separate tbody tr:last-child th,
.bass-datatable-C05-separate tbody tr:last-child td,
.bass-datatable-C05-separate tfoot tr:last-child th,
.bass-datatable-C05-separate tfoot tr:last-child td,
.bass-datatable-C05-separate .pseudo-first-child th,
.bass-datatable-C05-separate .pseudo-first-child td,
.bass-datatable-C05-separate .pseudo-last-child th,
.bass-datatable-C05-separate .pseudo-last-child td,
.bass-datatable-C06-separate thead tr:first-child th,
.bass-datatable-C06-separate thead tr:first-child td,
.bass-datatable-C06-separate tbody tr:last-child th,
.bass-datatable-C06-separate tbody tr:last-child td,
.bass-datatable-C06-separate tfoot tr:last-child th,
.bass-datatable-C06-separate tfoot tr:last-child td,
.bass-datatable-C06-separate .pseudo-first-child th,
.bass-datatable-C06-separate .pseudo-first-child td,
.bass-datatable-C06-separate .pseudo-last-child th,
.bass-datatable-C06-separate .pseudo-last-child td {
  border-bottom: 1px solid #616161;
}

.bass-datatable-A01-separate .bass-tablecell-base,
.bass-datatable-A01-separate .bass-tablecell-indent,
.bass-datatable-A02-separate .bass-tablecell-base,
.bass-datatable-A02-separate .bass-tablecell-indent,
.bass-datatable-A03-separate .bass-tablecell-base,
.bass-datatable-A03-separate .bass-tablecell-indent,
.bass-datatable-A04-separate .bass-tablecell-base,
.bass-datatable-A04-separate .bass-tablecell-indent,
.bass-datatable-A05-separate .bass-tablecell-base,
.bass-datatable-A05-separate .bass-tablecell-indent,
.bass-datatable-A06-separate .bass-tablecell-base,
.bass-datatable-A06-separate .bass-tablecell-indent,
.bass-datatable-B01-separate .bass-tablecell-base,
.bass-datatable-B01-separate .bass-tablecell-indent,
.bass-datatable-B02-separate .bass-tablecell-base,
.bass-datatable-B02-separate .bass-tablecell-indent,
.bass-datatable-B03-separate .bass-tablecell-base,
.bass-datatable-B03-separate .bass-tablecell-indent,
.bass-datatable-B04-separate .bass-tablecell-base,
.bass-datatable-B04-separate .bass-tablecell-indent,
.bass-datatable-B05-separate .bass-tablecell-base,
.bass-datatable-B05-separate .bass-tablecell-indent,
.bass-datatable-B06-separate .bass-tablecell-base,
.bass-datatable-B06-separate .bass-tablecell-indent,
.bass-datatable-C01-separate .bass-tablecell-base,
.bass-datatable-C01-separate .bass-tablecell-indent,
.bass-datatable-C02-separate .bass-tablecell-base,
.bass-datatable-C02-separate .bass-tablecell-indent,
.bass-datatable-C03-separate .bass-tablecell-base,
.bass-datatable-C03-separate .bass-tablecell-indent,
.bass-datatable-C04-separate .bass-tablecell-base,
.bass-datatable-C04-separate .bass-tablecell-indent,
.bass-datatable-C05-separate .bass-tablecell-base,
.bass-datatable-C05-separate .bass-tablecell-indent,
.bass-datatable-C06-separate .bass-tablecell-base,
.bass-datatable-C06-separate .bass-tablecell-indent {
  border-right: 12px solid #fff;
}

.bass-datatable-A01-separate .bass-tablecell-A01,
.bass-datatable-A01-separate .bass-tablecell-A02,
.bass-datatable-A01-separate .bass-tablecell-A03,
.bass-datatable-A01-separate .bass-tablecell-A04,
.bass-datatable-A01-separate .bass-tablecell-A05,
.bass-datatable-A01-separate .bass-tablecell-A06,
.bass-datatable-A02-separate .bass-tablecell-A01,
.bass-datatable-A02-separate .bass-tablecell-A02,
.bass-datatable-A02-separate .bass-tablecell-A03,
.bass-datatable-A02-separate .bass-tablecell-A04,
.bass-datatable-A02-separate .bass-tablecell-A05,
.bass-datatable-A02-separate .bass-tablecell-A06,
.bass-datatable-A03-separate .bass-tablecell-A01,
.bass-datatable-A03-separate .bass-tablecell-A02,
.bass-datatable-A03-separate .bass-tablecell-A03,
.bass-datatable-A03-separate .bass-tablecell-A04,
.bass-datatable-A03-separate .bass-tablecell-A05,
.bass-datatable-A03-separate .bass-tablecell-A06,
.bass-datatable-A04-separate .bass-tablecell-A01,
.bass-datatable-A04-separate .bass-tablecell-A02,
.bass-datatable-A04-separate .bass-tablecell-A03,
.bass-datatable-A04-separate .bass-tablecell-A04,
.bass-datatable-A04-separate .bass-tablecell-A05,
.bass-datatable-A04-separate .bass-tablecell-A06,
.bass-datatable-A05-separate .bass-tablecell-A01,
.bass-datatable-A05-separate .bass-tablecell-A02,
.bass-datatable-A05-separate .bass-tablecell-A03,
.bass-datatable-A05-separate .bass-tablecell-A04,
.bass-datatable-A05-separate .bass-tablecell-A05,
.bass-datatable-A05-separate .bass-tablecell-A06,
.bass-datatable-A06-separate .bass-tablecell-A01,
.bass-datatable-A06-separate .bass-tablecell-A02,
.bass-datatable-A06-separate .bass-tablecell-A03,
.bass-datatable-A06-separate .bass-tablecell-A04,
.bass-datatable-A06-separate .bass-tablecell-A05,
.bass-datatable-A06-separate .bass-tablecell-A06,
.bass-datatable-B01-separate .bass-tablecell-A01,
.bass-datatable-B01-separate .bass-tablecell-A02,
.bass-datatable-B01-separate .bass-tablecell-A03,
.bass-datatable-B01-separate .bass-tablecell-A04,
.bass-datatable-B01-separate .bass-tablecell-A05,
.bass-datatable-B01-separate .bass-tablecell-A06,
.bass-datatable-B02-separate .bass-tablecell-A01,
.bass-datatable-B02-separate .bass-tablecell-A02,
.bass-datatable-B02-separate .bass-tablecell-A03,
.bass-datatable-B02-separate .bass-tablecell-A04,
.bass-datatable-B02-separate .bass-tablecell-A05,
.bass-datatable-B02-separate .bass-tablecell-A06,
.bass-datatable-B03-separate .bass-tablecell-A01,
.bass-datatable-B03-separate .bass-tablecell-A02,
.bass-datatable-B03-separate .bass-tablecell-A03,
.bass-datatable-B03-separate .bass-tablecell-A04,
.bass-datatable-B03-separate .bass-tablecell-A05,
.bass-datatable-B03-separate .bass-tablecell-A06,
.bass-datatable-B04-separate .bass-tablecell-A01,
.bass-datatable-B04-separate .bass-tablecell-A02,
.bass-datatable-B04-separate .bass-tablecell-A03,
.bass-datatable-B04-separate .bass-tablecell-A04,
.bass-datatable-B04-separate .bass-tablecell-A05,
.bass-datatable-B04-separate .bass-tablecell-A06,
.bass-datatable-B05-separate .bass-tablecell-A01,
.bass-datatable-B05-separate .bass-tablecell-A02,
.bass-datatable-B05-separate .bass-tablecell-A03,
.bass-datatable-B05-separate .bass-tablecell-A04,
.bass-datatable-B05-separate .bass-tablecell-A05,
.bass-datatable-B05-separate .bass-tablecell-A06,
.bass-datatable-B06-separate .bass-tablecell-A01,
.bass-datatable-B06-separate .bass-tablecell-A02,
.bass-datatable-B06-separate .bass-tablecell-A03,
.bass-datatable-B06-separate .bass-tablecell-A04,
.bass-datatable-B06-separate .bass-tablecell-A05,
.bass-datatable-B06-separate .bass-tablecell-A06,
.bass-datatable-C01-separate .bass-tablecell-A01,
.bass-datatable-C01-separate .bass-tablecell-A02,
.bass-datatable-C01-separate .bass-tablecell-A03,
.bass-datatable-C01-separate .bass-tablecell-A04,
.bass-datatable-C01-separate .bass-tablecell-A05,
.bass-datatable-C01-separate .bass-tablecell-A06,
.bass-datatable-C02-separate .bass-tablecell-A01,
.bass-datatable-C02-separate .bass-tablecell-A02,
.bass-datatable-C02-separate .bass-tablecell-A03,
.bass-datatable-C02-separate .bass-tablecell-A04,
.bass-datatable-C02-separate .bass-tablecell-A05,
.bass-datatable-C02-separate .bass-tablecell-A06,
.bass-datatable-C03-separate .bass-tablecell-A01,
.bass-datatable-C03-separate .bass-tablecell-A02,
.bass-datatable-C03-separate .bass-tablecell-A03,
.bass-datatable-C03-separate .bass-tablecell-A04,
.bass-datatable-C03-separate .bass-tablecell-A05,
.bass-datatable-C03-separate .bass-tablecell-A06,
.bass-datatable-C04-separate .bass-tablecell-A01,
.bass-datatable-C04-separate .bass-tablecell-A02,
.bass-datatable-C04-separate .bass-tablecell-A03,
.bass-datatable-C04-separate .bass-tablecell-A04,
.bass-datatable-C04-separate .bass-tablecell-A05,
.bass-datatable-C04-separate .bass-tablecell-A06,
.bass-datatable-C05-separate .bass-tablecell-A01,
.bass-datatable-C05-separate .bass-tablecell-A02,
.bass-datatable-C05-separate .bass-tablecell-A03,
.bass-datatable-C05-separate .bass-tablecell-A04,
.bass-datatable-C05-separate .bass-tablecell-A05,
.bass-datatable-C05-separate .bass-tablecell-A06,
.bass-datatable-C06-separate .bass-tablecell-A01,
.bass-datatable-C06-separate .bass-tablecell-A02,
.bass-datatable-C06-separate .bass-tablecell-A03,
.bass-datatable-C06-separate .bass-tablecell-A04,
.bass-datatable-C06-separate .bass-tablecell-A05,
.bass-datatable-C06-separate .bass-tablecell-A06 {
  border-left: 6px solid #fff;
  border-right: 0px;
}

.bass-datatable-A01-separate th,
.bass-datatable-A01-separate td,
.bass-datatable-A02-separate th,
.bass-datatable-A02-separate td,
.bass-datatable-A03-separate th,
.bass-datatable-A03-separate td,
.bass-datatable-A04-separate th,
.bass-datatable-A04-separate td,
.bass-datatable-A05-separate th,
.bass-datatable-A05-separate td,
.bass-datatable-A06-separate th,
.bass-datatable-A06-separate td,
.bass-datatable-B01-separate th,
.bass-datatable-B01-separate td,
.bass-datatable-B02-separate th,
.bass-datatable-B02-separate td,
.bass-datatable-B03-separate th,
.bass-datatable-B03-separate td,
.bass-datatable-B04-separate th,
.bass-datatable-B04-separate td,
.bass-datatable-B05-separate th,
.bass-datatable-B05-separate td,
.bass-datatable-B06-separate th,
.bass-datatable-B06-separate td,
.bass-datatable-C01-separate th,
.bass-datatable-C01-separate td,
.bass-datatable-C02-separate th,
.bass-datatable-C02-separate td,
.bass-datatable-C03-separate th,
.bass-datatable-C03-separate td,
.bass-datatable-C04-separate th,
.bass-datatable-C04-separate td,
.bass-datatable-C05-separate th,
.bass-datatable-C05-separate td,
.bass-datatable-C06-separate th,
.bass-datatable-C06-separate td {
  border-bottom: 1px solid #dbdbdb;
}

/* -----------------------------------------------
    Archive News style
    2005 - 2009
----------------------------------------------- */
.releaseRightHead {
  font-size: 1.6rem;
  margin-top: -4rem;
}

.releaseContent {
  margin-top: 4rem;
  line-height: 2;
}

  .releaseContent strong:not(:first-of-type) {
    font-size: 2rem;
  }

.newsReleaseRelatedBlockA01 {
  line-height: 2;
  margin-top: 6.5rem;
}

  .newsReleaseRelatedBlockA01 > dt {
    font-size: 1.8rem;
    font-weight: bold;
  }

  .newsReleaseRelatedBlockA01 .relatedList > dt {
    font-weight: bold;
    margin: 1rem 0;
  }

    .newsReleaseRelatedBlockA01 .relatedList > dt:not(:first-of-type) {
      margin-top: 1.5rem;
    }

.releaseContent table {
  background-color: transparent !important;
}

  .releaseContent table td,
  .releaseContent table th {
    box-sizing: content-box;
  }

.releaseContent ul li::before {
  content: "・";
  display: table-cell;
  text-align: center;
  width: 25px;
  white-space: nowrap;
}

.releaseContent ol {
  counter-reset: num;
}

  .releaseContent ol li {
    display: table;
  }

  .releaseContent ol > li:before {
    display: table-cell;
    padding-right: 5px;
    content: counter(num) '.';
    counter-increment: num;
    min-width: 25px;
    white-space: nowrap;
  }

.releaseContent h2,
#contentBody h2,
#mainContent h2 {
  margin-top: 8rem;
  margin-bottom: 2rem;
}

.releaseContent img,
.releaseContent .Figurebt1 img,
.custom-article #pageAnchor01 img,
.anothermain img {
  width: auto;
  max-width: 100%;
}

.releaseContent .line {
  background-color: transparent;
  border-radius: 0;
  text-decoration: underline;
  text-decoration-color: #333;
}

/* -----------------------------------------------
    DIGITAL customer-experience
----------------------------------------------- */
/* Case
==================================*/
.case-sec {
  position: relative;
  /*  z-index: -1;*/
  overflow: hidden;
}

.case {
  padding: 30px 60px 35px;
}

.case-modal-wrap:before {
  content: "";
  background-color: #222;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}

.case-modal-wrap img {
  max-width: 100%;
  vertical-align: top;
}

.case-modal {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.case-modal-item {
  flex: 0 1 20%;
}

.case-modal-off {
}

.case-modal-on {
  display: none;
  height: 100%;
}

@media screen and (max-width:767px) {
  .case {
    padding: 20px 0 35px;
  }

  .case-modal {
    display: block;
  }
}

/* ----- pager ----- */
.case-modal-pager {
  display: none;
  text-align: center;
  color: #fff;
}

.case-modal-pager-inner {
  display: flex;
  justify-content: center;
  align-items: center;
}

.case-modal-pager span {
  font-family: catamaran, sans-serif;
  font-size: 14px;
}

.case-modal-pager .case-modal-pager-current {
  font-size: 24px;
  line-height: 1;
}

.case-modal-pager .case-modal-pager-slash {
  margin: 0 5px 0 10px;
}

/* ----- link ----- */
.case-modal-link {
  background-color: #000;
  display: block;
  position: relative;
  color: #fff;
  transition: opacity 0.4s ease;
}

.case-modal:hover .case-modal-link {
  opacity: 0.4;
}

.case-modal-link:hover {
  opacity: 1 !important;
}

@media screen and (max-width:767px) {
  .case-modal-link img {
    width: 100%;
  }
}

/* ----- close ----- */
.case-modal-close {
  position: fixed;
  top: 40px;
  right: 0;
  left: 0;
  margin: auto;
  text-align: right;
  padding: 0 150px;
  display: none;
}

  .case-modal-close .modaal-close {
    background-color: transparent;
    position: relative;
    top: auto;
    right: auto;
  }

    .case-modal-close .modaal-close:before,
    .case-modal-close .modaal-close:after {
      width: 0.2rem;
      border-radius: 0;
      height: 24px;
    }

  .case-modal-close:hover .modaal-close:before,
  .case-modal-close:hover .modaal-close:after {
    background-color: #fff;
  }

@media screen and (max-width:767px) {
  .case-modal-close {
    position: absolute;
    top: 7.5rem;
    padding: 0 0.5rem;
    width: 6rem;
    left: auto;
  }
}

.case-modal-closecover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 99;
}

/* ----- arrow ----- */
.case-modal-arrow {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 5.5rem;
  padding: 0;
  line-height: 1;
  background-color: transparent;
  color: #fff;
  border: 0;
  outline: none;
}

  .case-modal-arrow:before {
    content: "";
    display: block;
    width: 4rem;
    height: 4rem;
    background-color: rgba(0,0,0,0.4);
    position: absolute;
    top: 8px;
    left: -6px;
    border-radius: 100%;
  }

  .case-modal-arrow i {
    position: relative;
  }

.case-modal-arrow-prev {
  left: 5rem;
}

.case-modal-arrow-next {
  right: 5rem;
}

/* ----- cover ----- */
.case-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.case-cover-item {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  transition: transform 23s linear, opacity 0.4s ease;
  transform: scale(1);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

  .case-cover-item.is-active {
    opacity: 0.2;
    transform: scale(1.5);
    z-index: -1;
  }


/* Modaal
==================================*/
html.modaal-active {
  overflow: hidden !important;
}

.modaal-wrapper .case-modal-wrap:before {
  content: none;
}

.modaal-wrapper .case-modal {
  flex-wrap: nowrap;
}

.modaal-wrapper .case-modal-item {
  padding: 0;
}

  .modaal-wrapper .case-modal-item .case-modal-off {
    display: none;
  }

  .modaal-wrapper .case-modal-item .case-modal-on {
    display: block;
  }

.modaal-wrapper .case-modal-wrap {
  /*max-width: 1200px;
  margin: auto;*/
}

.modaal-wrapper .case-modal {
  display: flex;
}

.modaal-wrapper .case-modal-item {
  min-width: 100%;
}

.modaal-wrapper .modaal-container {
  background-color: transparent;
}

.modaal-wrapper .modaal-content-container {
  padding: 0 0 0;
}

.modaal-wrapper .pin-case-modal {
  top: 0 !important;
  overflow: hidden;
}

.modaal-wrapper .case-modal-pager {
  display: block;
}

.modaal-wrapper .case-modal-close {
  display: block;
}

.modaal-wrapper .case-modal-arrow {
  display: block;
}

  .modaal-wrapper .case-modal-arrow.is-disabled {
    display: none;
  }

.modaal-wrapper .case-cover {
  display: none;
}

.modaal-wrapper #case-carousel.slick-slider {
  margin: 0;
}

  .modaal-wrapper #case-carousel.slick-slider .case-modal-item {
    padding: 0 1.9rem;
  }

.modaal-wrapper .case-pager-top {
  margin-bottom: -0.5rem;
}

.modaal-wrapper .case-pager-bottom {
  margin-top: 0.8rem;
}

.modaal-wrapper .case-modal-closecover {
  display: block;
}

.modaal-wrapper .case-modal,
.modaal-wrapper .case-modal-arrow {
  z-index: 999;
}

.modaal-wrapper .case-modal {
  pointer-events: none;
  position: relative;
}

.case-box-inner {
  pointer-events: all;
}

@media screen and (max-width:767px) {
  .modaal-wrapper .case-modal-wrap {
    padding: 7rem 0;
  }

  .modaal-wrapper .case-modal-pager {
    display: none;
  }

  .modaal-wrapper .case-modal-arrow {
    display: none;
  }

  .modaal-wrapper .case-modal-item {
    min-width: auto;
  }

  .modaal-wrapper .slick-arrow {
    z-index: 999;
  }
}


/* Case Box
==================================*/
.case-box {
  padding: 90px 150px 35px;
  height: 100%;
}

  .case-box * {
    font-family: "Noto Sans JP",sans-serif !important;
  }

.case-box-inner {
  background: #fff;
  padding: 5rem 5rem 5.5rem;
  height: 100%;
  max-height: 70vh;
  overflow-y: auto;
}

  .case-box-inner:after {
    display: block;
    clear: both;
    content: "";
  }

.case-box-head {
  display: flex;
  align-items: center;
  margin-bottom: 2.2rem;
}

.case-box-logo {
  flex: 0 0 12.5rem;
  border: 1px solid #eaeaea;
}

.case-box-title {
  padding-left: 3rem;
  font-size: 28px;
  line-height: calc(38 / 28);
  margin: 0;
}

.case-box-subtitle {
  font-size: 20px;
  line-height: calc(38 / 20);
  font-weight: bold;
}

.case-box-image {
  float: right;
  padding: 0 0 5rem 6rem;
  padding-top: 0.7rem;
}

  .case-box-image img {
    max-width: 428px;
  }

.case-box-caption {
  font-size: 16px;
  line-height: calc(28 / 16);
  text-align: center;
  margin-top: 1.2rem;
}

.case-box-text {
  font-size: 16px;
  line-height: calc(30 / 16);
}

  .case-box-text p {
    margin: 0 0 2.7rem;
    font-size: 1.4rem;
  }

.case-box-notice {
  font-size: 14px;
  line-height: calc(26 / 14);
  word-break: break-all;
}

@media screen and (max-width:767px) {
  .case-box {
    padding: 0;
  }

  .case-box-inner {
    padding: 3.5rem 2rem;
    max-height: none;
  }

  .case-box-head {
    display: block;
  }

  .case-box-logo {
    width: 12.5rem;
  }

  .case-box-title {
    padding-left: 0;
    font-size: 24px;
    line-height: calc(30 / 24);
    margin-top: 2rem;
  }

  .case-box-subtitle {
    line-height: calc(28 / 20);
  }

  .case-box-body {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 1.5rem;
  }

  .case-box-image {
    float: none;
    padding: 0;
    text-align: center;
    margin: 1.7rem 0 2rem;
  }

    .case-box-image img {
      margin: auto;
      max-width: 100%;
    }
}


/* slick
==================================*/
.slick-slider {
  opacity: 0;
}

  .slick-slider.slick-initialized {
    opacity: 1;
  }

#case-carousel.slick-slider {
  margin: 0 -3rem;
}

  #case-carousel.slick-slider .case-modal-item {
    padding: 0 1.5rem;
  }

  #case-carousel.slick-slider .case-modal-link {
    opacity: 0.4;
    pointer-events: none;
  }

  #case-carousel.slick-slider .slick-current .case-modal-link {
    opacity: 1;
    pointer-events: auto;
  }

/* ----- pager ----- */
.case-pager {
  width: 100%;
  text-align: center;
  color: #fff;
}

.case-pager-inner {
  display: flex;
  justify-content: center;
  align-items: center;
}

.case-pager span {
  font-family: catamaran, sans-serif;
  font-size: 14px;
}

.case-pager .case-pager-current {
  font-size: 24px;
  line-height: 1;
}

.case-pager .case-pager-slash {
  margin: 0 0.5rem 0 1rem;
}

.case-pager .slick-arrow {
  position: static;
  transform: none;
  padding-top: 0.3rem;
}

.case-pager .slick-prev {
  margin-right: 5.5rem;
}

.case-pager .slick-next {
  margin-left: 5.5rem;
}

.case-pager .slick-arrow {
  display: none !important;
}

.case-pager-top {
  display: none;
}

.case-pager-bottom {
  margin-top: 4.5rem;
}

@media screen and (max-width:767px) {
  .modaal-wrapper .slick-slider .slick-arrow {
    display: none !important;
  }

  .modaal-wrapper .case-pager .slick-arrow {
    display: block !important;
    height: auto;
  }

  .modaal-wrapper .case-pager-top {
    display: block;
  }

  .modaal-wrapper .case-pager-inner {
    min-height: 66px;
  }
}

/* ----- arrow ----- */
.slick-next.slick-arrow {
  right: 4.5rem;
}

.slick-prev.slick-arrow {
  left: 4.5rem;
}

.slick-arrow:before {
  content: none;
}

.slick-arrow .nttd {
  font-size: 5.5rem;
  color: #fff;
}

#case-carousel.slick-slider .slick-arrow {
  display: none !important;
}

.checkboxform {
  display: block;
}

.box::-webkit-input-placeholder {
  color: #ccc
}

/*classes added for hamburger menu for english and contact us link*/
ul.secondary-menu-list {
  bottom: 10%;
  position: absolute;
}

.secondary-menu-list li {
  margin-top: 15px;
  font-size: 1.8rem;
}

ul.secondary-menu-list1 {
  bottom: 10%;
  position: absolute;
}

.secondary-menu-list1 li {
  margin-top: 0px;
  font-size: 1.8rem;
}

  .secondary-menu-list1 li a {
    color: white !important;
  }

/*Classes added for english menu*/
@media screen and (min-width: 1200px) {
  .l-mega-header-sub-en {
    width: 41.82%;
  }
  .l-mega-header-sub-en a, .l-mega-header-sub-en a:hover {
    color: #005B96 !important;
    font-weight: bold;
  }
}
@media (min-width: 0px) {
  .u-fs-18 {
    font-size: 1.8rem !important;
  }
  .u-mb-10 {
    margin-bottom: 10px !important;
  }
  .u-fs-16 {
    font-size: 1.6rem !important;
  }
}

.c-link-caret-en::after {
  font-family: 'FontAwesome';
  content: "\f105";
  position: relative;
  top: 1px;
  margin-left: 5px;
  font-size: 2rem;
  line-height: 0;
  color: #005B96;
}

.l-content {
  max-width: var(--content-width, 1200px);
  margin: 0 auto;
}

.p-info_content {
  display: flex;
  padding-bottom: calc(30 / 2 * 1px);
}

.p-info_content {
  padding-bottom: 20px;
  border-bottom: solid 1px #dcdcdc;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

.p-info_icon {
  justify-content: center;
  width: 46px;
  padding-top: 0;
}

.p-info_icon {
  display: flex;
  
}

.p-info_list {
  gap: 15px;
  padding-left: 5px;
}

.p-info_list {
  display: grid;
  flex: 1;
  grid-template-columns: 1fr;
  gap: calc(20 / 2 * 1px);
}

ul, ol {
  list-style: none;
}

.p-info_link {
  display:flex;
  flex-direction: row;
  font-size: 14px;
}

.p-info_link {
  color: #272727;
}

@media (min-width: 768px) .p-info_link-data {
  margin-right: 20px;
  font-size: 14px;
}

.p-info_link-data {
  display: flex;
  color: #7e7e7e;
  margin-right: 20px;
}

@media (min-width: 768px) .p-info_link {
  flex-direction: row;
  
}

.p-info_link-data-date {
  margin-right: 0.6em;
}

.p-info_link-data {
  display: flex;
  color: #7e7e7e;
}

.tw-pt-\[30px\] {
  padding-top: 30px;
}

.u-bgc--light-gray, .u-bgc--light-grey {
  background-color: #E8E8E8;
  color: #000;
}

/*New Colors*/
/* Primary Colors */
.u-bgc--smart-navy {
  background-color: #070F26;
  color: #fff;
}

  .u-bgc--smart-navy a {
    color: #fff;
  }

.u-bgc--future-blue {
  background-color: #0072bc;
  color: #fff;
}

  .u-bgc--future-blue a {
    color: #fff;
  }

.u-bgc--white {
  background-color: #fff;
  color: #2E404D;
}

  .u-bgc--white a {
    color: #005B96;
  }

    .u-bgc--white a:hover {
      color: #0072BC;
    }

/* Secondary Colors and Accents */
.u-bgc--text-gray {
  background-color: #2E404D;
  color: #fff;
}

  .u-bgc--text-gray a {
    color: #fff;
  }

.u-bgc--gray-100 {
  background-color: #949494;
  color: #000;
}

  .u-bgc--gray-100 a {
    color: #000;
  }

.u-bgc--gray-50 {
  background-color: #E8E8E8;
  color: #000;
}

  .u-bgc--gray-50 a {
    color: #000;
  }

.u-bgc--future-blue-150 {
  background-color: #005B96;
  color: #fff;
}

  .u-bgc--future-blue-150 a {
    color: #fff;
  }

.u-bgc--future-blue-50 {
  background-color: #19A3FC;
  color: #000;
}

  .u-bgc--future-blue-50 a {
    color: #000;
  }

.u-bgc--turquoise {
  background-color: #00DFED;
  color: #000;
}

  .u-bgc--turquoise a {
    color: #000;
  }

.u-bgc--turquoise-100 {
  background-color: #009AA4;
  color: #000;
}

  .u-bgc--turquoise-100 a {
    color: #000;
  }

.u-bgc--turquoise-50 {
  background-color: #7BF7FF;
  color: #000;
}

  .u-bgc--turquoise-50 a {
    color: #000;
  }

.u-bgc--green {
  background-color: #00CB5D;
  color: #000;
}

  .u-bgc--green a {
    color: #000;
  }

.u-bgc--green-150 {
  background-color: #068941;
  color: #000;
}

  .u-bgc--green-150 a {
    color: #000;
  }

.u-bgc--green-50 {
  background-color: #38F990;
  color: #000;
}

  .u-bgc--green-50 a {
    color: #000;
  }

/* Attention Grabers */
.u-bgc--yellow {
  background-color: #FFC400;
  color: #000;
}

  .u-bgc--yellow a {
    color: #000;
  }

.u-bgc--yellow-100 {
  background-color: #FFDB66;
  color: #000;
}

  .u-bgc--yellow-100 a {
    color: #000;
  }

.u-bgc--yellow-50 {
  background-color: #FFEDB2;
  color: #000;
}

  .u-bgc--yellow-50 a {
    color: #000;
  }

.u-bgc--orange {
  background-color: #FF7A00;
  color: #000;
}

  .u-bgc--orange a {
    color: #000;
  }

.u-bgc--orange-150 {
  background-color: #B22000;
  color: #fff;
}

  .u-bgc--orange-150 a {
    color: #fff;
  }

.u-bgc--orange-100 {
  background-color: #E42600;
  color: #fff;
}

  .u-bgc--orange-100 a {
    color: #fff;
  }

/* Grey Tones */
.u-bgc--black {
  background-color: #000;
  color: #fff;
}

  .u-bgc--black a {
    color: #fff;
  }

.u-bgc--dark-grey {
  background-color: #222;
  color: #fff;
}

  .u-bgc--dark-grey a {
    color: #fff;
  }

.u-bgc--medium-grey {
  background-color: #616161;
  color: #fff;
}

  .u-bgc--medium-grey a {
    color: #fff;
  }

.u-bgc--silver-grey {
  background-color: #C3C3C3;
  color: #000;
}

  .u-bgc--silver-grey a {
    color: #000;
  }

.u-bgc--cloudy-grey {
  background-color: #CFCFCF;
  color: #000;
}

  .u-bgc--cloudy-grey a {
    color: #000;
  }

.u-bgc--fog-grey {
  background-color: #DBDBDB;
  color: #000;
}

  .u-bgc--fog-grey a {
    color: #000;
  }

.u-bgc--off-white {
  background-color: #E7E7E7;
  color: #000;
}

  .u-bgc--off-white a {
    color: #000;
  }

.u-bgc--light-gray,
.u-bgc--light-grey {
  background-color: #f3f3f3;
  color: #000;
}

  .u-bgc--light-grey a {
    color: #000;
  }

.u-bgc--snow-white {
  background-color: #F9F9F9;
  color: #000;
}

  .u-bgc--snow-white a {
    color: #000;
  }

/*New Colors*/
.u-c--inherit {
  color: inherit !important;
}

  .u-c--inherit.c-block-content-header a, .u-c--inherit.c-block-content-header a:hover {
    color: inherit !important;
  }

.u-c--normal {
  color: #333 !important;
}

  .u-c--normal.c-block-content-header a, .u-c--normal.c-block-content-header a:hover {
    color: #333 !important;
  }

/* Primary Colors */
.u-c--smart-navy {
  color: #070F26 !important;
}

.u-c--future-blue {
  color: #0072bc !important;
}

.u-c--white {
  color: #fff !important;
}

/* Secondary Colors and Accents */
.u-c--text-gray {
  color: #2E404D !important;
}

.u-c--gray-100 {
  color: #949494 !important;
}

.u-c--gray-50 {
  color: #E8E8E8 !important;
}

.u-c--future-blue-150 {
  color: #005B96 !important;
}

.u-c--future-blue-50 {
  color: #19A3FC !important;
}

.u-c--turquoise {
  color: #00DFED !important;
}

.u-c--turquoise-100 {
  color: #009AA4 !important;
}

.u-c--turquoise-50 {
  color: #7BF7FF !important;
}

.u-c--green {
  color: #00CB5D !important;
}

.u-c--green-150 {
  color: #068941 !important;
}

.u-c--green-50 {
  color: #38F990 !important;
}

/* Attention Grabers */
.u-c--yellow {
  color: #FFC400 !important;
}

.u-c--yellow-100 {
  color: #FFDB66 !important;
}

.u-c--yellow-50 {
  color: #FFEDB2 !important;
}

.u-c--orange {
  color: #FF7A00 !important;
}

.u-c--orange-150 {
  color: #B22000 !important;
}

.u-c--orange-100 {
  color: #E42600 !important;
}

/* Grey Tones */
.u-c--black {
  color: #000 !important;
}

.u-c--dark-grey {
  color: #222 !important;
}

.u-c--medium-grey {
  color: #616161 !important;
}

.u-c--silver-grey {
  color: #C3C3C3 !important;
}

.u-c--cloudy-grey {
  color: #CFCFCF !important;
}

.u-c--fog-grey {
  color: #DBDBDB !important;
}

.u-c--off-white {
  color: #E7E7E7 !important;
}

.u-c--light-grey {
  color: #f3f3f3 !important;
}

.u-c--snow-white {
  color: #F9F9F9 !important;
}