@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 {
  color: #333;
  font-family: 'LocalNotoSansJP', sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}
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: #337ab7;
  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: #333;
  }
}
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;
}



/*========================================
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 + 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;
}
.l-header-ico-search + .l-header-ico-menu {
  z-index: 1001;
}
@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(/assets2/images/bg-menu.svg) no-repeat bottom right #5876aa;
  background-size: 100%;
  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 Serif JP', 'LocalNotoSerifJP', 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: #0079a1;
  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: #0079a1;
  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: #0079a1;
  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 Serif JP', 'LocalNotoSerifJP', serif;
  font-size: 5.4rem;
  line-height: normal;
  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: 1.5;
}
.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: #333;
  }
  .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-header-ico-menu span,
  .is-l-mega-header-opened  .l-header-ico-menu span::before,
  .is-l-mega-header-opened  .l-header-ico-menu span::after {
    background: #333;
  }
  .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/NTTDATAJapan/images/logo-n.svg) no-repeat bottom left/contain #5f7aa6;
  }
  .l-mega-header-summary-nav {
    margin-right: -40px;
  }
  .l-mega-header-summary-nav-item {
    font-size: 15px;
    line-height: 2.2rem;
    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: #02749a;
    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;
    line-height: 1.3;
  }
  .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: #337ab7;
    font-weight: bold;
  }
  .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: #868686;
  }
  .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: #333;
  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: 40px;
  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%);
}
@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 #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-main {
  min-height: 0%;
}

/* 404 エラーページ
-----------------------*/
.l-main.is-error {
  background: url(/assets/NTTDATAJapan/images/logo-n.svg) no-repeat bottom right #5876aa;
  background-size: 375px;
  min-height: 100vh;
}
.l-main.is-error .c-block-content-header-wrapper {
  padding: 130px 40px 40px;
}
.l-main.is-error .c-block-content-header-head {
  margin-left: -12px;
  font-size: 15.2rem;
  letter-spacing: 1px;
}
.l-main.is-error .c-block {
  padding: 20px 40px;
}
.l-main.is-error .c-block-error-text {
  line-height: 2;
  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 !important;
  margin-right: auto !important;
}
.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 Serif JP', 'LocalNotoSerifJP', serif;
  font-size: 3rem;
  text-align: center;
}
.c-block-head-sub {
  display: block;
  margin-top: 20px;
  font-size: 2rem;
  line-height: 1.5;
}
.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-additional-head {
  margin-bottom: 40px;
  font-size: 2rem;
}

/* トップページ メインビジュアル */
.c-block-mainv {
  height: 100vh;
  min-height: 600px;
  position: relative;
}
.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 Serif JP', 'LocalNotoSerifJP', 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 {
    min-height: auto;
  }
  .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(/assets2/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-head-b {
  font-size: 1.8rem;
}
.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: #868686;
}
.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 Serif JP', 'LocalNotoSerifJP', 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 Serif JP', 'LocalNotoSerifJP', serif;
  text-align: left;
}
.c-block-banner-summary {
  margin-top: 20px;
  width: 680px;
  font-family: 'Noto Serif JP', 'LocalNotoSerifJP', 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;
  padding-bottom: 1px;
}
.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 Serif JP', 'LocalNotoSerifJP', 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;
  min-height: 600px;
}
.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;
  flex-wrap: wrap;
  margin-bottom: 20px;
  font-size: 1.2rem;
  line-height: 1.3;
}
.c-block-content-header-breadcrumb li::after {
  content: '/';
  display: inline-block;
  margin: 0 1em;
}
.c-block-content-header-breadcrumb li:last-child::after {
  display: none;
}
.c-block-content-header-head {
  font-family: 'Noto Serif JP', 'LocalNotoSerifJP', serif;
  font-size: 4.8rem;
  font-weight: normal;
  line-height: 1;
}
.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.is-full {
    min-height: auto;
  }
  .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: 3.2rem;
  }
  .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 screen and (max-width: 374px) {
  .c-block-content-header-link {
    display: block;
  }
  .c-block-content-header-link a {
    display: inline-flex;
  }
  .c-block-content-header-link .c-btn-detail + .c-btn-detail {
    margin-left: 0;
    margin-top: 10px;
  }
}
@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 Serif JP', 'LocalNotoSerifJP', 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 Serif JP', 'LocalNotoSerifJP', serif;
  font-size: calc(44/2800*100vw);
  line-height: 1.3;
}
.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: #5876aa;
  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 Serif JP', 'LocalNotoSerifJP', 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: #0079a1;
}
.c-block-filter-select input[type="radio"]:checked + span {
  color: #0079a1;
}
.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 > * + * {
  margin-top: 80px;
}
.c-block-news-article > div:first-child + * {
  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: '\f24d';
  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: 'Halant';
  font-size: 23rem;
  font-weight: 300;
  height: 100%;
  color: #eba73e;
  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: 3rem;
  line-height: 3rem;
  letter-spacing: .15rem;
  color: #000;
  font-family: 'Noto Serif JP', 'LocalNotoSerifJP', 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;
    margin-left: 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: #0079a1;
}
.c-block-news-filter-head + .c-list-horizontal li span.is-active {
  color: #0079a1;
}
@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: 'Catamaran', 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 Serif JP', 'LocalNotoSerifJP', 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;
  color: #fff;
}
.c-block-event-venue.is-orange {
  background-color: #eba73e;
}
.c-block-event-venue.is-human-blue {
  background-color: #5876aa;
}
.c-block-event-venue.is-red {
  background-color: #d0372a;
}
.c-block-event-venue.is-smart-blue {
  background-color: #0079a1;
}
.c-block-event-venue.is-blue {
  background-color: #048ac5;
}
.c-block-event-venue.is-smart-navy {
  background-color: #000b28;
}

/* グリーン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 2020用
-----------------------*/
/* ニュース */
.c-block-innovation-news-grid {
  display: table;
  width: 100%;
}
.c-block-innovation-news-grid-title {
  display: table-cell;
  width: 110px;
  font-family: 'Catamaran', sans-serif;
  font-size: 18px;
}
.c-block-innovation-news-grid-title h2 {
  font-weight: 600;
}
.c-block-innovation-news-grid-articles {
  display: table-cell;
  width: calc(100% - 230px);
}
.c-block-innovation-news-grid-articles-item {
  display: table;
  width: 100%;
}
.c-block-innovation-news-grid-articles-item > dt,
.c-block-innovation-news-grid-articles-item > dd {
  display: table-cell;
  padding: 15px 0;
}
.c-block-innovation-news-grid-articles-item > dt {
  width: 142px;
  font-family: Catamaran,"Noto Sans JP",sans-serif;
  letter-spacing: 0.08em;
}
.c-block-innovation-news-grid-articles-item > dd {
  width: calc(100% - 142px);
}
.c-block-innovation-news-grid-accordion {
  display: none;
}
.c-block-innovation-news-grid-accordion .c-block-innovation-news-grid-articles-item {
  border-top: 1px solid #e6e6e6;
}
.c-block-innovation-news-grid-btn {
  display: none;
  width: 120px;
  text-align: right;
  font-family: Catamaran,sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.c-block-innovation-news-grid-btn span {
  position: relative;
  padding-right: 24px;
}
.c-block-innovation-news-grid-btn span::after {
  position: absolute;
  top: calc(50% - 2px);
  right: 0px;
  transform: translateY(-50%);
}
.c-block-innovation-news-grid-btn.is-active {
  display: table-cell;
}
@media (max-width: 767px) {
  .c-block-innovation-news-grid,
  .c-block-innovation-news-grid-articles,
  .c-block-innovation-news-grid-btn.is-active,
  .c-block-innovation-news-grid-articles-item,
  .c-block-innovation-news-grid-articles-item > dt,
  .c-block-innovation-news-grid-articles-item > dd,
  .c-block-innovation-news-grid-btn {
    display: block;
    width: 100%;
  }
  .c-block-innovation-news-grid {
    padding: 25px 0;
  }
  .c-block-innovation-news-grid-articles-item {
    padding: 25px 0;
  }
  .c-block-innovation-news-grid-articles-item > dt,
  .c-block-innovation-news-grid-articles-item > dd {
    padding: 0;
  }
  .c-block-innovation-news-grid-articles-item > dt {
    margin-bottom: 15px;
  }
  .c-block-innovation-news-grid-accordion {
    margin-bottom: 20px;
  }
  .c-block-innovation-news-grid-btn {
    text-align: center;
  }
}

/* 講演レポート・関連記事 */
.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: #5876aa;
}
.c-block-innovation-report-item-category.is-black {
  color: #333;
}
.c-block-innovation-report-item-category.is-orange {
  color: #f0b030;
}
.c-block-innovation-report-item-category.is-red {
  color: #d0372a;
}
.c-block-innovation-report-item-date {
  font-family: 'Catamaran', sans-serif;
  color: #868686;
}
.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;
  text-align: center;
  margin-top: 20px;
}
.c-block-innovation-report-btn.is-active {
  display: block;
}

/* Gallery */
.c-block-carousel-grid-item-image:first-of-type {
  margin-bottom: 30px;
}
.c-block-innovation-gallery-image {
  vertical-align: bottom;
}
.c-block-carousel-grid-item-image.is-gallery-video a {
  position: relative;
  display: block;
}
.c-block-carousel-grid-item-image.is-gallery-video a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 71px;
  height: 71px;
  background: url(/assets2/images/play-video.png) no-repeat;
  background-size: 100%;
  z-index: 1;
}
.c-block-innovation-gallery .c-modal-inner {
  max-width: 730px;
}
.c-block-innovation-gallery .c-modal-wrapper {
  background-color: transparent;
}
.c-block-innovation-gallery .is-gallery-video .c-modal-wrapper {
  padding-bottom: 0;
}
.c-block-innovation-gallery .is-gallery-video .c-modal-inner {
  max-width: 980px;
}

/* 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 Serif JP', 'LocalNotoSerifJP', 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,.4);
}
.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 {
  font-size: 16px;
  margin-bottom: 11px;
}
.c-block-innovation-lecture-profile-name {
  font-size: 24px;
  line-height: 1.4em;
  margin-bottom: 8px;
}
.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.6666666667;
}
.c-block-innovation-lecture-btn {
  width: 210px;
  border: 1px solid #337ab7;
  color: #337ab7;
  padding: 8px 18px;
  margin-top: 2em;
}
.c-block-innovation-lecture h3 {
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-block-innovation-lecture {
    padding: 20px;
  }
  .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.is-3x {
  width: 75%;
}
.c-block-innovation-hlight-item.is-4x {
  width: 100%;
}
.c-block-innovation-hlight-item a {
  padding: 15px;
  height: 100%;
}
.c-block-innovation-hlight-item a {
  color: #333!important;
}
.c-block-innovation-hlight-item a:hover {
  color: #333!important;
  text-decoration: none!important;
}
.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: #5876aa;
}
.c-block-innovation-hlight-item-category.is-orange {
  background-color: #eba73e;
}
.c-block-innovation-hlight-item-category.is-red {
  background-color: #d0372a;
}
.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: auto;
  cursor: default;
}
.c-block-innovation-modal-inner {
  padding: 40px;
}
.c-block-innovation-modal a {
  color: #337ab7;
  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: 20px;
  font-size: 26px;
  line-height: 1.4em;
  font-weight: bold;
}
.c-block-innovation-modal-title-sub {
  display: block;
  font-family: 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
  color: #737373;
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: normal;
}
.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%;
}
.c-block-innovation-modal-icon-block {
  display: inline-block;
  margin: 20px 40px 0 0;
}
.c-block-innovation-modal-icon-block-title {
  font-family: 'Catamaran', sans-serif;
  color: #737373;
  font-size: 12px;
  margin-bottom: 15px;
}
.c-block-innovation-modal-icon-block img {
  width: 50px;
  height: auto;
}
.c-block-innovation-modal-icon-block img + img {
  margin-left: 15px;
}
@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-modal-icon-block {
    display: block;
    margin-right: 0;
  }
  .c-block-innovation-modal-icon-block:first-of-type {
    margin-top: 50px;
  }
  .c-block-innovation-modal-icon-block img + img {
    margin-left: 10px;
  }
}

/* お問い合わせ */
.c-block-innovation-remark {
  color: #868686;
  font-size: 16px;
}
@media (max-width: 767px) {
  .c-block-innovation-remark {
    font-size: 14px;
  }
}

/* 右下固定エントリーバナー */
.c-block-innovation-entrybanner {
  position: fixed;
  right: 120px;
  bottom: 0;
  width: 307px;
  height: auto;
  z-index: 99;
  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-accordion {
  display: none;
  margin-top: 20px;
}
.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%;
  text-align: center;
  border-bottom: 1px solid #ececec;
}
.c-block-innovation-exhibition-item-text {
  position: relative;
  padding: 20px 15px;
  min-height: 195px;
}
.c-block-innovation-exhibition-item-title {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.6em;
}
.c-block-innovation-exhibition-item-company {
  position: absolute;
  bottom: 20px;
  color: #868686;
}
.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: #5876aa;
  color: #ffffff;
  text-align: center;
  padding: 20px;
}
.c-block-innovation-exhibition-accordion-btn {
  display: none;
  border: 1px solid #bd3730;
  min-width: 290px;
  padding: 4px;
  margin-top: 35px;
  cursor: pointer;
  transition: border-color 0.2s;
}
.c-block-innovation-exhibition-accordion-btn:hover {
  border-color: #d1736f;
}
.c-block-innovation-exhibition-accordion-btn.is-active {
  display: inline-block;
}
.c-block-innovation-exhibition-accordion-btn .c-link-down {
  display: inline-block;
  background: #bd3730;
  color: #fff;
  font-family: Catamaran;
  font-size: 18px;
  letter-spacing: 0.11em;
  padding: 20px;
  width: 100%;
  transition: background 0.2s;
}
.c-block-innovation-exhibition-accordion-btn:hover .c-link-down {
  background: #d1736f;
}
@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-innovation-exhibition-item-text {
    min-height: auto;
  }
  .c-block-innovation-exhibition-item-company {
    position: static;
  }
  .c-block-innovation-exhibition-accordion-btn {
    min-width: 190px;
    margin-top: 20px;
  }
  .c-block-innovation-exhibition-accordion-btn .c-link-down {
    font-size: 16px;
    padding: 10px;
  }
}

/* Innovation Conference 2021用
-----------------------*/
/* InnovationConferenceHalfHeaderCountdown */
.c-block-content-header-countdown {
  position: absolute;
  bottom: 22px;
  right: 47px;
}
.c-block-content-header-countdown-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
}
.c-block-content-header-countdown-date {
  display: flex;
  align-items: center;
  padding-bottom: 23px;
}
.c-block-content-header-countdown-num,
.c-block-content-header-countdown-colon {
  display: flex;
  align-items: center;
  line-height: 1;
}
.c-block-content-header-countdown-num {
  position: relative;
}
.c-block-content-header-countdown-num img {
  width: 28px;
}
.c-block-content-header-countdown-num img + img {
  margin-left: 6px;
}
.c-block-content-header-countdown-num span {
  font-family: helvetica, arial;
  font-size: 5.5rem;
}
.c-block-content-header-countdown-num span + span {
  margin-left: 2px;
}
.c-block-content-header-countdown-colon {
  margin: 0 15px;
}
.c-block-content-header-countdown-colon > img {
  width: 6px;
}
.c-block-content-header-countdown-colon span {
  position: relative;
  top: -5px;
  font-family: helvetica, arial;
  font-size: 5.5rem;
}
.c-block-content-header-countdown-num-unit {
  text-align: center;
  position: absolute;
  left: 50%;
  bottom: -18px;
  transform: translateX(-50%);
}
@media screen and (max-width: 991px){
  .c-block-content-header-countdown-date {
    justify-content: center;
  }
  .c-block-content-header-countdown-date {
    padding-bottom: 13px;
  }
  .c-block-content-header-countdown-num img {
    width: 22px;
  }
  .c-block-content-header-countdown-num img + img {
    margin-left: 5px;
  }
  .c-block-content-header-countdown-num span {
    font-size: 4.5rem;
  }
  .c-block-content-header-countdown-num span + span {
    margin-left: 2px;
  }
  .c-block-content-header-countdown-colon {
    margin: 0 4px;
  }
  .c-block-content-header-countdown-colon span {
    font-size: 4.5rem;
  }
  .c-block-content-header-countdown-colon > img {
    width: 4px;
  }
  .c-block-content-header-countdown-num-unit {
    bottom: -13px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px){
  .c-block-content-header-countdown {
    position: static;
    margin: 35px 0;
  }
  .c-block-content-header-countdown-title {
    text-align: center;
  }
}

/* AnchorMenu */
.c-block-anchor-menu-btn {
  display: none;
}
.sticky-wrapper {
  z-index: 98;
}
.c-block-anchor-menu {
  font-size: 16px;
  padding: 16px 80px;
}
.c-block-anchor-menu-wrap {
  display: flex;
  align-items: center;
}
.is-sticky .c-block-anchor-menu {
  box-shadow: rgba(0,0,0,.32) 0 1px 4px 0;
}
.c-block-anchor-menu.is-blue {
  background: #337ab7;
}
.c-block-anchor-menu.is-blue a {
  color: #fff;
}
.c-block-anchor-menu .c-list-anker {
  flex-wrap: wrap;
  margin-top: -15px;
}
.c-block-anchor-menu .c-list-anker li {
  margin: 0 30px 0 0;
  padding-top: 15px;
}
.c-block-anchor-menu-right {
  display: flex;
  margin-left: auto;
}
.c-block-anchor-menu-right-text {
  display: none;
}
.c-block-anchor-menu-right-sns {
  display: flex;
}
.c-block-anchor-menu-right-sns a {
  margin-left: 18px;
  transition: opacity 0.2s;
}
.c-block-anchor-menu-right-sns a:first-of-type {
  margin-left: 0;
}
.c-block-anchor-menu-right-sns a:hover {
  opacity: 0.7;
}
.c-block-anchor-menu-right-sns .fa {
  font-size: 31px;
}
.c-block-anchor-menu-bottom {
  display: none;
}
@media screen and (max-width: 991px){
  .c-block-anchor-menu {
    padding: 16px 40px;
  }
}
@media screen and (max-width: 767px){
  .c-block-anchor-menu-btn {
    display: block;
    position: fixed;
    top: 105px;
    right: 20px;
    z-index: 99;
  }
  .c-block-anchor-menu-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #337ab7;
    border-radius: 100%;
    height: 50px;
    width: 50px;
    font-family: 'Catamaran', sans-serif;
    color: #fff;
    font-size: 11px;
    cursor: pointer;
  }
  .c-block-anchor-menu-btn a:hover {
    text-decoration: none;
  }
  .c-block-anchor-menu {
    position: fixed;
    top: 66px;
    margin-top: 19px;
    left: 0;
    width: 100%;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    z-index: 98;
    transition: opacity 0.4s, visibility 0.4s;
  }
  .c-block-anchor-menu-wrap {
    flex-direction: column;
  }
  .c-block-anchor-menu.is-open {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.4s, visibility 0.4s;
  }
  .c-block-anchor-menu.is-blue {
    background: #f3f3f3;
  }
  .c-block-anchor-menu.is-blue a {
    color: #333;
  }
  .c-block-anchor-menu .c-list-anker {
    margin-top: 0;
  }
  .c-block-anchor-menu .c-list-anker li {
    margin: 0 0 20px 0;
    padding-top: 0;
  }
  .c-block-anchor-menu .c-list-anker li a::after {
    border-color: #333;
  }
  .c-block-anchor-menu-right {
    margin: 25px 0 0 0;
  }
  .c-block-anchor-menu-right-text {
    display: block;
    font-size: 12px;
    line-height: 1.6666667;
    margin-right: 24px;
  }
  .c-block-anchor-menu-bottom {
    display: flex;
    margin-top: 30px;
  }
  .c-block-anchor-menu-bottom .c-btn-detail {
    color: #fff !important;
  }
  .c-block-innovation-entrybanner.is-2021 {
    left: 10px;
    width: auto;
  }
  .c-block-innovation-entrybanner.is-2021 .c-btn-detail {
    min-width: 100px;
  }
  .c-block-innovation-entrybanner.is-2021 .c-btn-detail span {
    font-size: 12px;
  }
}
@media screen and (max-width: 374px){
  .c-block-anchor-menu-bottom {
    display: block;
  }
  .c-block-anchor-menu-bottom .c-btn-detail + .c-btn-detail {
    margin-left: 0;
    margin-top: 10px;
  }
}

/* RichTextContent ※CSS転記 */
.ic_2021 .c-modal {
  background-color: rgba(0,0,0,0.7);
}
.ic_2021 .c-modal-inner {
  max-width: 815px;
}
.ic_2021 .c-modal-inner .c-flex-2column-pc img {
  width: 100%;
}
.ic_2021 .dates {
  align-items: center;
  display: flex;
  margin-bottom: 9px;
}
.ic_2021 .dates .date {
  color: #c95b46;
  display: inline-block;
  font-family: Catamaran!important;
  letter-spacing: .08em!important;
  line-height: 1;
  position: relative;
  font-size: 16px;
  padding-right: 6px;
}
.ic_2021 .dates .date:after {
  background-color: #262626;
  bottom: 0;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
}
.ic_2021 .dates .time {
  color: #262626;
  display: inline-block;
  font-family: Catamaran!important;
  letter-spacing: .08em!important;
  line-height: 1;
  font-size: 16px;
  padding-left: 7px;
}
.ic_2021 .labels {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}
.ic_2021 .labels .label {
  border-radius: 0;
  color: #fff;
  display: inline-block;
  font-family: "Noto Sans JP",sans-serif;
  font-weight: 400;
  letter-spacing: .08em!important;
  line-height: 1;
  margin: 0 3px 4px 0;
  text-align: left;
  white-space: normal;
}
.ic_2021 .labels .label:first-child {
  font-family: Catamaran;
}
.ic_2021 .labels .label-black {
  background-color: #1d1d1f;
}
.ic_2021 .labels .label-red {
  background-color: #f20;
}
.ic_2021 .labels .label-navy {
  background-color: #5876aa;
}
.ic_2021 .labels .label-orange {
  background-color: #eba73e;
}
.ic_2021 .labels .label-green {
  background-color: #0caa6d;
}
.ic_2021 .labels .label-line-blue {
  background-color: #fff;
  color: #0079a1;
  position: relative;
}
.ic_2021 .labels .label-line-blue:before {
  border: 1px solid #0079a1;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.ic_2021 .labels .break {
  flex-basis: 100%;
  height: 0;
  overflow: hidden;
  width: 0;
}

/* モーダル */
.c-block-innovation-modal .image img.forSp {
  display: none;
}
.ic_2021 .c-block-innovation-modal .title {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 21px;
  font-size: 26px;
  line-height: 1.4em;
}
.ic_2021 .c-block-innovation-modal .excerpt {
  margin-bottom: 33px;
}
.ic_2021 .c-block-innovation-modal .profele + .profele {
  margin-top: 52px;
}
.ic_2021 .c-block-innovation-modal .profele .row {
  margin-left: -20px;
  margin-right: -20px;
  display: flex;
}
.ic_2021 .c-block-innovation-modal .profele .row > * {
  width: calc((100% - 20px) / 2 - 0.1px);
}
.ic_2021 .c-block-innovation-modal .profele .row .col-sm-6 {
  padding-left: 20px;
  padding-right: 20px;
  width: 50%;
}
.ic_2021 .c-block-innovation-modal .profele .row .col-sm-6 {
  padding-left: 20px;
  padding-right: 20px;
  width: 50%;
}
.ic_2021 .c-block-innovation-modal .profele .row .col-sm-6.max250 {
  max-width: 290px;
}
.ic_2021 .c-block-innovation-modal .profele .row .col-sm-6.max250 + .col-sm-6 {
  width: calc(100% - 290px);
}
.ic_2021 .c-block-innovation-modal .profele .description,
.ic_2021 .c-block-innovation-modal .profele .name,
.ic_2021 .c-block-innovation-modal .profele .position {
  padding-right: 15px;
}
.ic_2021 .c-block-innovation-modal .profele .position {
  margin-bottom: 7px;
  margin-top: -3px;
  color: #737373;
  font-size: 12px;
  line-height: 1.4em;
}
.ic_2021 .c-block-innovation-modal .profele .name {
  font-size: 20px;
  line-height: 1.4em;
}
.ic_2021 .c-block-innovation-modal .profele .description {
  margin-top: 17px;
}
.ic_2021 .c-block-innovation-modal .digital {
  display: flex;
  flex-wrap: wrap;
}
.ic_2021 .c-block-innovation-modal .digital .group:not(:last-child) {
  margin-right: 40px;
}
.ic_2021 .c-block-innovation-modal .digital .group .digital-title {
  color: #737373;
  font-family: Catamaran;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 10px;
}
.ic_2021 .c-block-innovation-modal .digital .group .icons {
  display: flex;
  flex-wrap: wrap;
}
.ic_2021 .c-block-innovation-modal .digital .group .icons a {
  margin-bottom: 15px;
}
.ic_2021 .c-block-innovation-modal .digital .group .icons a:not(:last-child) {
  margin-right: 15px;
}
.ic_2021 .c-block-innovation-modal .digital .group .icons a img {
  height: auto;
  width: 50px;
}

/* イントロダクション */
.ic_Intro.ic_2021 {
  background-position: center left;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
.ic_Intro.ic_2021 .group {
  align-items: center;
  display: flex;
}
.ic_Intro.ic_2021 .group .left {
  flex: 0 1 47.6696647588%;
  padding-right: 75px;
}
.ic_Intro.ic_2021 .group .right {
  flex: 0 1 52.3303352412%;
}
.ic_Intro.ic_2021 .group .Quote {
  padding: 0 45px;
  position: relative;
}
.ic_Intro.ic_2021 .group .Quote:after,
.ic_Intro.ic_2021 .group .Quote:before {
  color: rgba(0,0,0,.3);
  font-family: "Noto Sans JP",sans-serif;
  font-size: 70px;
  position: absolute;
}
.ic_Intro.ic_2021 .group .Quote:before {
  content: "“";
  left: -3px;
  line-height: 1;
  top: -22px;
}
.ic_Intro.ic_2021 .group .Quote:after {
  bottom: -17px;
  content: "”";
  line-height: 0;
  right: -1px;
}
.ic_Intro.ic_2021 .group .Quote .text {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 16px;
  line-height: 1.875;
}
.ic_Intro.ic_2021 .group .Quote .strong {
  color: #0079a1;
  font-family: "Noto Serif JP",sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.03em!important;
  line-height: 1.5;
  margin: 16px 0 14px;
}
.ic_Intro.ic_2021 .group .youtube-responsive {
  position: relative;
}
.ic_Intro.ic_2021 .group .youtube-responsive:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.ic_Intro.ic_2021 .group .youtube-responsive iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* ピックアップセッション */
.ic_Lecture.ic_2021 .labels {
  margin-bottom: 10px;
}
.ic_Lecture.ic_2021 .labels .label {
  font-size: 14px;
  margin-bottom: 5px;
  margin-right: 5px;
  padding: 3px 7px 5px;
}
.ic_Lecture.ic_2021 .labels .label:first-child {
  padding: 5px 9px 3px;
}

/* セッション スライド */
.ic_Lecture2.ic_2021 {
  padding: 40px 0;
}
.ic_Lecture2.ic_2021 .slides .slide {
  display: flex;
  flex-direction: column;
  opacity: .3;
  padding-bottom: 5px;
  transition: opacity .5s ease;
}
.ic_Lecture2.ic_2021 .slides .slide.slick-current {
  opacity: 1;
}
.ic_Lecture2.ic_2021 .slides .slide .slide-title {
  color: #333;
  flex: 0 0 auto;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 24px;
  line-height: 1.6666666667;
  margin: 0 12px 44px;
  text-align: center;
}
.ic_Lecture2.ic_2021 .slides .slide .flick {
  display: none;
}
.ic_Lecture2.ic_2021 .slides .slide .row {
  display: flex;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
}
.ic_Lecture2.ic_2021 .slides .slide .row .col-sm-3 {
  width: 25%;
}
.ic_Lecture2.ic_2021 .slides .slide .row .col-sm-12 {
  width: 100%;
}
.ic_Lecture2.ic_2021 .slides .slide .row .col-sm-12,
.ic_Lecture2.ic_2021 .slides .slide .row .col-sm-3 {
  float: none;
  padding-left: 12px;
  padding-right: 12px;
}
.ic_Lecture2.ic_2021 .slides .slide a {
  color: inherit;
  text-decoration: none;
}
.ic_Lecture2.ic_2021 .slides .slide .inner {
  background-color: #fff;
  box-shadow: 0 0 4px 0 rgba(0,0,0,.4);
  height: 100%;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .dates {
  margin-bottom: 9px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .dates .date {
  font-size: 16px;
  padding-right: 6px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .dates .date:after {
  bottom: 1px;
  top: 1px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .dates .time {
  font-size: 16px;
  padding-left: 6px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .labels {
  margin-bottom: 6px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .labels .label {
  font-size: 12px;
  padding: 2px 7px 4px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .labels .label:first-child {
  padding: 4px 7px 2px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .title {
  margin-bottom: 17px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner .title b {
  display: block;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 16px;
  line-height: 1.375;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type01 {
  padding: 20px 15px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile {
  text-align: center;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile .image {
  border-radius: 100%;
  height: 90px;
  margin: 0 auto;
  margin-bottom: 21px;
  overflow: hidden;
  width: 90px;
  z-index: 1;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile .image img {
  border-radius: 100%;
  height: 100%;
  width: 100%;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile .texts .position {
  color: #737373;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 3px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile .texts .name {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 16px;
  font-weight: 700;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 .label-title {
  background-color: #0079a1;
  margin-bottom: 30px;
  padding: 5px 20px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 .label-title b {
  color: #fff;
  display: block;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 18px;
  text-align: center;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile {
  text-align: center;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile .image {
  border-radius: 100%;
  height: 90px;
  margin: 0 auto;
  margin-bottom: 24px;
  overflow: hidden;
  width: 90px;
  z-index: 1;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile .image img {
  border-radius: 100%;
  height: 100%;
  width: 100%;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile .texts .position {
  color: #737373;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 11px;
  line-height: 1.6363636364;
  margin-bottom: 3px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile .texts .name {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 16px;
  font-weight: 700;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 {
  padding: 20px 15px 11px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile {
  align-items: flex-start;
  display: flex;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile .image {
  border-radius: 100%;
  flex: 0 0 90px;
  height: 90px;
  overflow: hidden;
  width: 90px;
  z-index: 1;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile .image img {
  border-radius: 100%;
  height: 100%;
  width: 100%;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile .texts {
  margin-top: -5px;
  padding-left: 14px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile .texts .position {
  color: #737373;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 11px;
  line-height: 1.6363636364;
  margin-bottom: 3px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile .texts .name {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 16px;
  font-weight: 700;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile + .profile {
  margin-top: 23px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type04 {
  padding: 20px 45px 37px 15px;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type04 .group {
  display: flex;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type04 .group .image {
  flex: 0 1 48.7972508591%;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type04 .group .image img {
  width: 100%;
}
.ic_Lecture2.ic_2021 .slides .slide .inner.type04 .group .text {
  flex: 0 1 51.2027491409%;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 14px;
  line-height: 1.2857142857;
  padding-left: 46px;
  padding-top: 6px;
}
.ic_Lecture2.ic_2021 .slides .slick-arrow {
  align-items: center;
  background-color: rgba(51,51,51,.9);
  border-radius: 100%;
  display: flex;
  height: 53px;
  justify-content: center;
  overflow: hidden;
  top: 52%;
  width: 53px;
  z-index: 1;
}
.ic_Lecture2.ic_2021 .slides .slick-arrow:before {
  content: none;
}
.ic_Lecture2.ic_2021 .slides .slick-arrow img {
  width: 29px;
}
.ic_Lecture2.ic_2021 .slides .slick-arrow.slick-prev {
  left: calc((100% - 1223px)/ 2 - 26px);
}
.ic_Lecture2.ic_2021 .slides .slick-arrow.slick-next {
  right: calc((100% - 1223px)/ 2 - 26px);
}
.ic_Lecture2.ic_2021 .slides .slick-counter {
  color: #fff;
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.ic_Lecture2.ic_2021 .slides .slick-counter .current {
  display: inline-block;
  font-family: Catamaran;
  font-size: 24px;
  line-height: 1;
  transform: translateY(-3px);
}
.ic_Lecture2.ic_2021 .slides .slick-counter .slash {
  display: inline-block;
  font-family: Catamaran;
  font-size: 14px;
  line-height: 1;
  margin: 0 6px 0 10px;
}
.ic_Lecture2.ic_2021 .slides .slick-counter .total {
  display: inline-block;
  font-family: Catamaran;
  font-size: 14px;
  line-height: 1;
}

/* タイムテーブル */
.ic_Timetable.ic_2021 .wrapper h2.title {
  font-family: "Noto Serif JP",serif;
  font-size: 30px;
  line-height: 1.4666666667;
  margin: 0 0 61px;
  text-align: center;
}
.ic_Timetable.ic_2021 .wrapper .nav-title {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 31px;
  margin-top: -20px;
  padding-top: 20px;
}
.ic_Timetable.ic_2021 .wrapper .nav-title .item {
  color: #262626;
  padding: 0 28px;
  position: relative;
}
.ic_Timetable.ic_2021 .wrapper .nav-title .item:first-child {
  border-right: 1px solid #262626;
}
.ic_Timetable.ic_2021 .wrapper .nav-title .item h3 {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: .03em!important;
  line-height: 1;
  margin: -6px 0 10px;
  text-align: center;
}
.ic_Timetable.ic_2021 .wrapper .nav-title .item p {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 16px;
  line-height: 1;
  margin: 0;
  text-align: center;
}
.ic_Timetable.ic_2021 .wrapper .nav-title a.item {
  color: inherit;
  text-decoration: none;
}
.ic_Timetable.ic_2021 .wrapper .nav-title a.item > * {
  opacity: .3;
  transition: opacity .3s ease;
}
.ic_Timetable.ic_2021 .wrapper .nav-title a.item:hover > * {
  opacity: 1;
}
.ic_Timetable.ic_2021 .wrapper .nav-title a.item::after {
  font-family: 'FontAwesome';
  font-size: 19px;
  content: '\f107';
  display: inline-block;
  border-bottom: 2px solid #333;
  height: 16px;
  position: absolute;
  transform: translateY(-50%);
  opacity: .3;
}
.ic_Timetable.ic_2021 .wrapper .nav-title a.item:hover:after {
  opacity: 1;
}
.ic_Timetable.ic_2021 .wrapper .nav-title#timetable1 a.item::after {
  top: calc(50% - 2px);
  right: 0;
}
.ic_Timetable.ic_2021 .wrapper .nav-title#timetable2 a.item::after {
  top: calc(50% + 2px);
  left: 0;
  transform: translateY(-50%) rotate(180deg);
}
.ic_Timetable.ic_2021 .wrapper .timetable {
  margin-bottom: 78px;
  padding-left: 81px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks {
  display: flex;
  padding: 20px 0;
  position: relative;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .tracks-bg {
  display: flex;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .tracks-bg .tracks-bg-item {
  background: url(/assets/NTTDATAJapan/images/2021/timetable_bg.png) top left repeat;
  background-size: 4px 4px;
  width: calc((100% - 20px)/ 3 * 1);
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .tracks-bg .tracks-bg-item:not(:last-child) {
  margin-right: 10px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track:not(:last-child) {
  margin-right: 10px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track.track-topper {
  order: 1;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track.track-w1 {
  width: calc((100% - 20px)/ 3 * 1);
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track.track-w2 {
  width: calc((100% - 20px)/ 3 * 2 + 10px);
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track.track-w3 {
  width: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline {
  display: flex;
  position: relative;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline:not(:last-child) {
  margin-bottom: 10px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline[data-time]:before {
  content: attr(data-time);
  display: block;
  font-family: Catamaran;
  font-size: 18px;
  font-weight: 700;
  left: -81px;
  letter-spacing: .08em;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  width: 81px;
  z-index: 1;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline[data-time]:after {
  background: #262626;
  content: "";
  display: block;
  height: 1px;
  left: -21px;
  position: absolute;
  top: 0;
  width: 21px;
  z-index: 1;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-col1 .tline-item {
  width: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-col2 .tline-item {
  width: calc((100% - 10px)/ 2);
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-col3 .tline-item {
  width: calc((100% - 20px)/ 3);
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-empty {
  height: 174px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-h100 {
  height: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline .tline-item:not(:last-child) {
  margin-right: 10px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline .tline-item .program {
  background-color: #fff;
  box-shadow: 0 0 4px 0 rgba(0,0,0,.16);
  height: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable a {
  color: #333;
  text-decoration: none;
  display: block;
  height: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable a.height50p {
  height: 50%;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner {
  padding: 12px 13px 16px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .dates {
  margin-bottom: 6px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .dates .time {
  font-size: 14px;
  letter-spacing: .03em!important;
  padding-left: 0;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .dates .time span {
  font-size: 11px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .labels {
  margin-bottom: 6px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .labels .label {
  font-size: 12px;
  padding: .2em .6em .3em;
  vertical-align: baseline;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .labels .label:first-of-type {
  padding: .3em .6em .2em;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .title {
  letter-spacing: .04em!important;
  margin-bottom: 7px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .title b {
  display: block;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 14px;
  letter-spacing: .04em!important;
  line-height: 1.2857142857;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile {
  align-items: center;
  display: flex;
  padding-left: 2px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile + .profile {
  margin-top: 10px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile .image {
  border-radius: 100%;
  flex: 0 0 50px;
  height: 50px;
  overflow: hidden;
  z-index: 1;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile .image img {
  height: 100%;
  width: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile .texts {
  padding-left: 15px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile .texts .position {
  color: #737373;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 12px;
  line-height: 1.1666666667;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile .texts .name {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 14px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .inner .profile .texts .name span {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 10px;
  margin-left: 4px;
  white-space: nowrap;
}
.ic_Timetable.ic_2021 .wrapper .timetable .live {
  padding: 70px 15px 70px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .live .live-image {
  margin: 0 auto 16px;
  width: 148px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .live .live-image img {
  height: auto;
  width: 100%;
}
.ic_Timetable.ic_2021 .wrapper .timetable .live .live-title {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.65;
  margin-bottom: 13px;
  text-align: center;
}
.ic_Timetable.ic_2021 .wrapper .timetable .live .live-mark {
  border: 1px solid #bd3730;
  color: #bd3730;
  display: table;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 18px;
  font-weight: 700;
  margin: 0 auto;
  padding: 6px 26px 7px;
}
.ic_Timetable.ic_2021 .wrapper .timetable .comming {
  height: 100%;
  min-height: 190px;
  position: relative;
}
.ic_Timetable.ic_2021 .wrapper .timetable .comming span {
  color: #bd3730;
  display: block;
  font-family: Catamaran;
  font-size: 17px;
  left: 50%;
  letter-spacing: .04em;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
}

/* ソーシャルメディア */
.ic_Social.ic_2021 .wrapper {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
}
.ic_Social.ic_2021 .wrapper .texts {
  color: #fff;
}
.ic_Social.ic_2021 .wrapper .texts h2.title {
  color: #fff;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 20px;
  letter-spacing: .03em!important;
  line-height: 1.3;
  margin: 0 0 19px;
}
.ic_Social.ic_2021 .wrapper .texts .text {
  font-family: "Noto Sans JP",sans-serif;
  font-size: 16px;
  line-height: 1.625;
}
.ic_Social.ic_2021 .wrapper .sns {
  display: flex;
}
.ic_Social.ic_2021 .wrapper .sns a {
  align-items: center;
  background-color: #fff;
  border-radius: 100%;
  display: flex;
  height: 70px;
  justify-content: center;
  text-decoration: none;
  width: 70px;
  transition: opacity 0.2s;
}
.ic_Social.ic_2021 .wrapper .sns a:not(:last-child) {
  margin-right: 20px;
}
.ic_Social.ic_2021 .wrapper .sns a .fa {
  color: #0079a1;
  margin: 0;
}
.ic_Social.ic_2021 .wrapper .sns a .fa-twitter {
  font-size: 33px;
}
.ic_Social.ic_2021 .wrapper .sns a .fa-facebook {
  font-size: 33px;
  transform: translateY(2px);
}
.ic_Social.ic_2021 .wrapper .sns a:hover {
  opacity: 0.7;
}

@media screen and (max-width:1303px) {
  /* セッション スライド */
  .ic_Lecture2.ic_2021 .slides .slick-arrow.slick-prev {
    left: calc(40px - 26px);
  }
  .ic_Lecture2.ic_2021 .slides .slick-arrow.slick-next {
    right: calc(40px - 26px);
  }
}

@media screen and (max-width:991px) {
  /* イントロダクション */
  .ic_Intro.ic_2021 {
    background-position: top left;
    background-size: 165% auto;
  }
  .ic_Intro.ic_2021 .group {
    display: block;
  }
  .ic_Intro.ic_2021 .group .left {
    margin-bottom: 76px;
    padding-right: 0;
  }
  .ic_Intro.ic_2021 .group .Quote {
    padding: 0 28px;
  }
  .ic_Intro.ic_2021 .group .Quote:after,
  .ic_Intro.ic_2021 .group .Quote:before {
    font-size: 54px;
  }
  .ic_Intro.ic_2021 .group .Quote:before {
    top: -15px;
  }
  .ic_Intro.ic_2021 .group .Quote:after {
    bottom: -10px;
  }
  .ic_Intro.ic_2021 .group .Quote .text {
    font-size: 14px;
    line-height: 2.1428571429;
  }
  .ic_Intro.ic_2021 .group .Quote .strong {
    font-size: 17px;
    letter-spacing: .03em!important;
    line-height: 1.7647058824;
    margin: 14px 0 12px;
  }

  /* セッション スライド */
  .ic_Lecture2.ic_2021 .slides .slide .flick {
    display: block;
    position: relative;
  }
  .ic_Lecture2.ic_2021 .slides .slide .flick span {
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: -10px;
    width: 76px;
    z-index: 1;
  }
  .ic_Lecture2.ic_2021 .slides .slide .flick span img {
    width: 100%;
  }
  .ic_Lecture2.ic_2021 .slides .slide .row {
    display: block;
  }
  .ic_Lecture2.ic_2021 .slides .slide .row .col-sm-12,
  .ic_Lecture2.ic_2021 .slides .slide .row .col-sm-3 {
    margin-bottom: 20px;
    width: 100%;
  }
  .ic_Lecture2.ic_2021 .slides .slide .row .col-sm-12 {
    height: calc(100% - 20px);
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner .title b {
    line-height: 1.5;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type01 {
    padding: 20px 35px 25px 15px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile {
    align-items: center;
    display: flex;
    text-align: left;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile .image {
    flex: 0 0 90px;
    margin: 0;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile .texts {
    padding-left: 15px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type01 .profile .texts .position {
    font-size: 11px;
    line-height: 1.6363636364;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 {
    padding: 20px 15px 25px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 {
    display: block;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 .label-title {
    margin-bottom: 20px;
    padding: 4px 20px 5px;
    width: 100%;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 .label-title b {
    font-size: 16px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile {
    align-items: center;
    display: flex;
    text-align: left;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile .image {
    flex: 0 0 90px;
    margin: 0;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile .texts {
    padding-left: 15px;
    padding-top: 6px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type02 .profile .texts .position {
    font-size: 11px;
    line-height: 1.6363636364;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type03 {
    padding: 20px 35px 21px 15px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type03 .profile + .profile {
    margin-top: 18px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type04 {
    padding: 20px 15px 23px 15px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type04 .title {
    margin-bottom: 15px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type04 .group {
    display: block;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type04 .group .image {
    margin-bottom: 17px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .inner.type04 .group .text {
    padding: 0;
  }
}
@media screen and (max-width:767px) {
  /* モーダル */
  .c-block-innovation-modal .image img.forPc {
    display: none;
  }
  .c-block-innovation-modal .image img.forSp {
    display: block;
  }
  .ic_2021 .c-block-innovation-modal .title {
    line-height: 1.25;
    margin-bottom: 23px;
  }
  .ic_2021 .c-block-innovation-modal .excerpt {
    margin-bottom: 38px;
  }
  .ic_2021 .c-block-innovation-modal .profele .row {
    display: block;
    margin: 0;
  }
  .ic_2021 .c-block-innovation-modal .profele .row > * {
    width: 100%;
  }
  .ic_2021 .c-block-innovation-modal .profele .row .col-sm-6,
  .ic_2021 .c-block-innovation-modal .profele .row .col-sm-6.max250 + .col-sm-6 {
    width: 100%;
    padding: 0;
  }
  .ic_2021 .c-block-innovation-modal .profele .row > *:last-of-type {
    margin-top: 30px;
  }
  .ic_2021 .c-block-innovation-modal .profele .description,
  .ic_2021 .c-block-innovation-modal .profele .name,
  .ic_2021 .c-block-innovation-modal .profele .position {
    padding-right: 0;
  }
  .ic_2021 .c-block-innovation-modal .profele .name {
    font-size: 18px;
  }
  .ic_2021 .c-block-innovation-modal .digital .group .icons {
    margin-bottom: 11px;
  }
  .ic_2021 .c-block-innovation-modal .digital .group .icons a {
    margin-bottom: 10px;
  }
  .ic_2021 .c-block-innovation-modal .digital .group .icons a:not(:last-child) {
    margin-right: 10px;
  }
  .ic_2021 .c-block-innovation-modal .digital .group .icons a img {
    width: 41px;
  }

  /* セッション スライド */
  .ic_Lecture2.ic_2021 {
    padding: 20px 0;
  }
  .ic_Lecture2.ic_2021 .slides .slide .slide-title {
    font-size: 18px;
    margin: 0 20px 29px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .row {
    margin-left: 20px;
    margin-right: 20px;
  }
  .ic_Lecture2.ic_2021 .slides .slide .row .col-sm-12,
  .ic_Lecture2.ic_2021 .slides .slide .row .col-sm-3 {
    padding-left: 0;
    padding-right: 0;
  }
  .ic_Lecture2.ic_2021 .slides .slick-arrow {
    background-color: transparent;
    bottom: 0;
    height: auto;
    top: auto;
    width: auto;
  }
  .ic_Lecture2.ic_2021 .slides .slick-arrow.slick-prev {
    left: 20px;
  }
  .ic_Lecture2.ic_2021 .slides .slick-arrow.slick-next {
    right: 20px;
  }
  .ic_Lecture2.ic_2021 .slides .slick-counter {
    margin-top: 19px;
  }

  /* タイムテーブル */
  .ic_Timetable.ic_2021 {
    padding: 29px 0 12px;
  }
  .ic_Timetable.ic_2021 .wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }
  .ic_Timetable.ic_2021 .wrapper h2.title {
    margin-bottom: 42px;
  }
  .ic_Timetable.ic_2021 .wrapper .nav-title {
    margin-bottom: 30px;
  }
  .ic_Timetable.ic_2021 .wrapper .nav-title .item {
    padding: 0 20px 7px;
  }
  .ic_Timetable.ic_2021 .wrapper .nav-title#timetable1 a.item::after {
    top: calc(50% - 4px);
  }
  .ic_Timetable.ic_2021 .wrapper .nav-title#timetable2 a.item::after {
    top: calc(50% + 4px);
  }
  .ic_Timetable.ic_2021 .wrapper .nav-title .item h3 {
    font-size: 28px;
    margin: 0 0 11px;
  }
  .ic_Timetable.ic_2021 .wrapper .nav-title .item p {
    font-size: 14px;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable {
    margin-bottom: 41px;
    padding-left: 0;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks {
    flex-direction: column;
    padding: 0;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .tracks-bg {
    display: none;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track {
    order: 2;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track:not(:last-child) {
    margin-right: 0;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track.track-w1 {
    width: 100%;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track.track-w2 {
    width: 100%;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline {
    display: block;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline:not(:last-child) {
    margin-bottom: 0;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline[data-time]:before {
    display: none;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline[data-time]:after {
    display: none;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-col2 .tline-item {
    width: 100%;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-col3 .tline-item {
    width: 100%;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline.tline-empty {
    display: none;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline .tline-item:not(:last-child) {
    margin-right: 0;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .tracks .track .tline .tline-item .program {
    margin-bottom: 10px;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .inner {
    padding: 12px 15px 16px;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .inner .dates .time {
    letter-spacing: .08em!important;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .inner .dates .time span {
    font-size: 12px;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .live {
    padding: 13px 18px 21px;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .live .live-image {
    margin: 0 auto 9px;
    width: 74px;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .live .live-title {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 16px;
  }
  .ic_Timetable.ic_2021 .wrapper .timetable .live .live-mark {
    font-size: 16px;
    padding: 3px 15px 4px;
  }

  /* ソーシャルメディア */
  .ic_Social.ic_2021 .wrapper {
    display: block;
  }
  .ic_Social.ic_2021 .wrapper .texts h2.title {
    font-size: 18px;
    line-height: 1.4444444444;
    margin: 0 0 9px;
  }
  .ic_Social.ic_2021 .wrapper .texts .text {
    font-size: 14px;
    line-height: 1.7142857143;
    margin-bottom: 10px;
  }
}


/* テストページ制限付きログイン画面用
-----------------------*/
.c-block-restricted-login {
  min-height: 100vh;
  background-color: #ABC677;
}
.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.7;
}
.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.7;
}
.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-file > li.is-word::before {
  font-family: 'FontAwesome';
  content: "\f1c2";
}
.c-list-file > li.is-zip::before {
  font-family: 'FontAwesome';
  content: "\f1c6";
}
.c-list-file > li.is-file::before {
  font-family: 'FontAwesome';
  content: "\f016";
}

/* ページ内リンク */
.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 a::after {
  font-family: 'FontAwesome';
  font-size: 2rem;
  content: '\f107';
  display: inline-block;
  margin-left: 10px;
  border-bottom: 2px solid #fff;
  height: 19px;
}
.is-black .c-list-anker li a::after,
.c-bg-light-grey .c-list-anker li a::after,
.c-bg-white .c-list-anker li a::after,
.c-bg-dark .c-list-anker li a::after,
.c-bg-off-white .c-list-anker li a::after,
.c-color-black .c-list-anker li a::after {
  border-color: #333;
}
@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-horizontal.js-accordion-open {
    display: none;
  }
}

/* ページネーション */
.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: #868686;
  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;
}
@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 #333;
  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;
}
.c-btn-detail.is-red,
.c-btn-detail.is-orange {
  font-size: 18px;
  border-width: 1px;
  border-style: solid;
  padding: 3px;
  color: #fff;
  min-width: 160px;
  transition: border-color 0.2s;
}
.c-btn-detail.is-red > span,
.c-btn-detail.is-orange > span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 40px;
  line-height: 40px;
  transition: background 0.2s;
}
.c-btn-detail.is-red {
  border-color: #bd3730;
}
.c-btn-detail.is-red > span {
  background: #bd3730;
}
.c-btn-detail.is-red:hover {
  border-color: #d1736f;
}
.c-btn-detail.is-red:hover > span {
  background: #d1736f;
}
.c-btn-detail.is-orange {
  border-color: #e4a12a;
}
.c-btn-detail.is-orange > span {
  background: #e4a12a;
}
.c-btn-detail.is-orange:hover {
  border-color: #ecbd6a;
}
.c-btn-detail.is-orange:hover > span {
  background: #ecbd6a;
}
.c-btn-detail.is-red::before,
.c-btn-detail.is-orange::before {
  content: none;
}

@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-detail.is-red > span,
  .c-btn-detail.is-orange > span {
    width: 100%;
  }
}

/* 「お申込みはこちら」など */
.c-btn-conversion {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background: #d0372a;
  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: #333;
}
.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;
  }
*/
}

.js-select-contact {
  border-bottom: 1px solid #8298be;
}
.js-select-contact select {
  opacity: 0;
  height: 40px;
}
.js-select-contact .c-select2 + .chosen-container {
  position: relative;
  z-index: 2;
  width: 100% !important;
}
.js-select-contact .c-select2 + .chosen-container-single .chosen-single {
  justify-content:space-between;
  padding: 6px 5px 4px 0;
  font-size: 2.6rem;
}
.js-select-contact .c-select2 + .chosen-container-active.chosen-with-drop .chosen-single {
  border: 1px solid transparent;
  background: none;
  box-shadow: none;
  color: inherit;
}
.js-select-contact.is-first .c-select2 + .chosen-container-single .chosen-single span {
  opacity: 0;
}
.js-select-contact .c-select2 + .chosen-container-single .chosen-single div::before {
  color: #8298be;
}
.js-select-contact .c-select2 + .chosen-container .chosen-results {
  margin: 2px 0;
  padding: 0 2px;
}
.js-select-contact .chosen-container .chosen-results li:first-child {
  height: 0;
  padding: 0
}


/* ラジオボタン */
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;
}

/* テキストフィールド */
.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: #0079a1;
}

/* 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: #0079a1;
  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: #0079a1;
}
.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: calc(24px - 1em);
}
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-icon.is-word::before {
  content: '\f1c2';
}
.c-link-icon.is-zip::before {
  content: '\f1c6';
}
.c-link-icon.is-file::before {
  content: '\f016';
}

/* 開閉（アップダウン）アイコン */
.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: #337ab7;
  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-none {
  flex: none;
}
.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;
}

@media (min-width: 0px) {
  /* 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 > * {
    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: #5876aa;
  color: #fff !important;
}
.c-bg-smart-blue {
  background: #0079a1;
  color: #fff !important;
}
.c-bg-thin-blue {
  background: #c2cee6;
}
.c-bg-bg-light-blue {
  background: #d1dbee;
}
.c-bg-thinner-blue {
  background: #e1e7f3;
}
.c-bg-blue {
  background: #048ac5;
}
.c-bg-smart-navy {
  background: #000b28;
  color: #fff !important;
}
.c-bg-dynamic-red {
  background: #d0372a;
  color: #fff !important;
}
.c-bg-delightful-yellow {
  background: #eba73e;
  color: #fff !important;
}
.c-bg-light-grey {
  background: #f3f3f3;
  color: #333 !important;
}
.c-bg-white {
  background: #fff;
  color: #333 !important;
}
.c-bg-off-white {
  background: #eaeaea;
  color: #333 !important;
}
.c-bg-black {
  background: #181818;
  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: #0079A0;
}

/* Digital用 */
.c-bg-smart-blue-digital {
  background: #0080b1;
  color: #fff !important;
}
.c-bg-smart-navy-digital {
  background: #0F1C50;
  color: #fff !important;
}
.c-bg-dynamic-red-digital {
  background: #BC4328;
  color: #fff !important;
}
.c-bg-delightful-yellow-digital {
  background: #E6B600;
  color: #fff !important;
}
.c-bg-green-digital {
  background: #ABC677;
  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: #888 !important;
}

.c-color-human-blue {
  color: #5876aa !important;
}
.c-color-smart-blue {
  color: #0079a1 !important;
}
.c-color-thin-blue {
  color: #c2cee6 !important;
}
.c-color-thinner-blue {
  color: #e1e7f3 !important;
}
.c-color-blue {
  color: #048ac5 !important;
}
.c-color-smart-navy {
  color: #000b28 !important;
}
.c-color-dynamic-red {
  color: #d0372a !important;
}
.c-color-delightful-yellow {
  color: #eba73e !important;
}
.c-color-light-grey {
  color: #f3f3f3 !important;
}
.c-color-medium-grey {
  color: #0079a1 !important;
}
.c-color-white {
  color: #fff !important;
}
.c-color-off-white {
  color: #eaeaea !important;
}
.c-color-black {
  color: #181818 !important;
}
.c-color-dark {
  color: #1d1d1f !important;
}
.c-color-dark-grey {
  color: #222 !important;
}

.c-color-sitemap,
.c-color-sitemap a {
  color: #333 !important;
}

/* Digital用 */
.c-color-dynamic-red-digital {
  color: #BC4328 !important;
}
.c-color-delightful-yellow-digital {
  color: #E6B600 !important;
}
.c-color-smart-navy-digital {
  color: #0F1C50 !important;
}
.c-color-green-digital {
  color: #ABC677 !important;
}
.c-color-purple-accent-digital {
  color: #7F2D60 !important;
}
.c-color-smart-blue-digital {
  color: #0080b1 !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-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;
}
.c-modal video {
  max-width: 980px;
  width: 100%;
  border: none;
}
@-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;
}

/* Ajaxローディング用 */
.ajax-loading-image {
  background: none repeat scroll 0 0 black;
  position: fixed;
  display: block;
  opacity: 0.7;
  z-index: 1000001;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.ajax-loading-image > img {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 35px;
}

/* リッチテキスト用
-----------------------*/
.c-richtext {
  line-height: 2;
}
.c-richtext h2 {
  margin-bottom: 40px;
  font-family: 'Noto Serif JP', 'LocalNotoSerifJP', serif;
  font-size: 3rem;
  line-height: 1;
  text-align: center;
}
.c-richtext h3 {
  margin-bottom: 40px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.7;
}
.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;
}
.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 ul {
  margin: 10px 0 0 0;
}
.c-richtext li + li {
  margin-top: 10px;
}
.c-richtext a {
  color: #337ab7;
}
.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: #0079a1;
}
.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: #337ab7;
  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: #337ab7;
  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-auto {
  overflow: auto !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-200 {
    margin-bottom: 200px !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 Serif JP', 'LocalNotoSerifJP', serif !important;
}
.u-ff-catamaran {
  font-family: 'Catamaran', sans-serif !important;
}

/* フォントサイズ
-----------------------*/
@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;
  }
  .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-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: #181818;
  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;
}
@media screen and (max-width: 767px) {
  .slick-next.slick-arrow {
    right: -25px;
  }
  .slick-prev.slick-arrow {
    left: -25px;
  }
}
.slick-arrow:before {
  content: none;
}
.slick-arrow .nttd {
  font-size: 5.5rem;
  color: #fff;
}
#case-carousel.slick-slider .slick-arrow {
  display: none !important;
}
