@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 {
    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 {
  vertical-align: baseline;
  margin: 0;
  outline: 0;
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 100%;
}

html {
  overflow-y: scroll;
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

h2, h3, h4, h5, h6 {
  line-height: 1.3;
}

a {
  vertical-align: baseline;
  margin: 0;
  background: transparent;
  padding: 0;
  color: #337ab7;
  font-size: 100%;
  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] {
  cursor: help;
  border-bottom: 1px dotted;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  margin: 1em 0;
  border: 0;
  border-bottom: 1px solid #cccccc;
  padding: 0;
  height: 1px;
}

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;
}

/* SITE ORIGINAL */
body {
  position: relative;
  z-index: 10;
  color: #333;
  font-family: 'Noto Sans', 'LocalNotoSans', 'Noto Sans JP', 'LocalNotoSansJP', sans-serif;
}

@media (min-width: 375px) {
  body {
    z-index: 20;
  }
}

@media (min-width: 768px) {
  body {
    z-index: 30;
  }
}

@media (min-width: 992px) {
  body {
    z-index: 40;
  }
}

a {
  color: #337AB7;
}

a:hover {
  text-decoration: underline;
}

.l-drawer-menu {
  display: flex;
  position: fixed;
  top: 0;
  right: -415px;
  flex-direction: column;
  z-index: 6000;
  transition: right 0.3s;
  background: url(/assets/img/common/logo-n.svg) no-repeat bottom right #005B96;
  background-size: 100%;
  padding: 0 40px;
  width: 100%;
  max-width: 400px;
  height: 100%;
  overflow-y: auto;
  color: #fff;
}

.l-drawer-menu.is-open {
  right: 0;
}

.l-drawer-menu__close {
  position: absolute;
  top: 13px;
  right: 4.8vw;
  width: 24px;
  height: 24px;
}

.l-drawer-menu__close::before, .l-drawer-menu__close::after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: #fff;
  width: 24px;
  height: 2px;
  content: "";
}

.l-drawer-menu__close::before {
  transform: rotate(45deg);
}

.l-drawer-menu__close::after {
  transform: rotate(-45deg);
}

.l-drawer-menu__close:hover {
  cursor: pointer;
}

.l-drawer-menu__main {
  margin-top: 170px;
  padding-bottom: 60px;
  font-size: 2.8rem;
}

.l-drawer-menu__main-item + .l-drawer-menu__main-item {
  margin-top: 25px;
}

.l-drawer-menu__main-item a {
  color: #fff;
}

.l-drawer-menu__sub {
  margin-top: auto;
  margin-bottom: 60px;
}

.l-drawer-menu__sub-item + .l-drawer-menu__sub-item {
  margin-top: 15px;
}

.l-drawer-menu__sub-item a {
  color: #fff;
}

@media (min-width: 992px) {
  .l-drawer-menu {
    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;
  right: 0;
  bottom: 0;
  z-index: 10;
  transition: right 0.4s, background 0.2s;
  background: #333;
  width: 70px;
  height: 70px;
  color: #fff;
}

.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;
  position: relative;
  align-items: center;
  justify-content: center;
  background: #1d1d1f;
  padding: 32px 48px;
  color: #fff;
}

.l-footer-upper-pagetop {
  position: relative;
  position: relative;
  z-index: 1;
  width: 150px;
  text-align: center;
}

@media (min-width: 768px) {
  .l-footer-upper-pagetop {
    width: 500px;
  }
}

.l-footer-upper-pagetop a {
  display: inline-block;
}

.l-footer-upper-pagetop a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
  content: "";
}

.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: 48px;
  transform: translateY(-50%);
  z-index: 2;
  margin: auto;
}

@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 {
  /* background: url(/assets/NTTDATAJapan/images/logo-n.svg) no-repeat bottom right #5876aa; */
  background-size: auto 100%;
  padding: 40px;
}

.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-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 {
    background-size: 100% auto;
    padding: 30px 20px;
  }
  .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-top: 30px;
    margin-left: 0;
  }
  .l-footer-lower-subnav {
    display: block;
    /* margin-top: 60px; */
  }
  .l-footer-lower-subnav-site {
    display: block;
    margin-top: 30px;
    margin-left: 0;
  }
  .l-footer-lower-subnav-site li + li {
    margin-top: 25px;
    margin-left: 0;
  }
  .l-footer-lower-copyright {
    /* margin-top: 60px; */
  }
}

@media print {
  .l-footer-lower {
    padding: 20px 40px;
  }
  .l-footer-lower-logo,
  .l-footer-lower-nav,
  .l-footer-lower-subnav {
    display: none;
  }
  .l-footer-lower-copyright {
    margin-top: 0;
  }
}

.l-footer-lower {
  background-color: #005B96;
  padding: 48px;
  text-align: center;
}

@media (min-width: 768px) {
  .l-footer-lower {
    background: url(/assets/img/common/logo-n.svg) no-repeat bottom right #005B96;
    text-align: left;
  }
}

.l-footer-lower__block--flex {
  margin-top: 80px;
}

@media (max-width: 374px) {
  .browser-ie .l-footer-lower__block--flex {
    display: block;
  }
}

@media (min-width: 768px) {
  .l-footer-lower__block--flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 70px;
  }
}

@media (max-width: 767px) {
  .l-footer-lower__logo img {
    width: 100%;
  }
}

.l-footer-lower__nttd-logo {
  margin-top: 80px;
  width: 100%;
  max-width: 132px;
}

@media (max-width: 767px) {
  .l-footer-lower__nttd-logo {
    margin-right: auto;
    margin-left: auto;
  }
}

@media (min-width: 768px) {
  .l-footer-lower__nttd-logo {
    margin-top: 0;
  }
}

.l-footer-lower-nav ul {
  flex-wrap: wrap;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .l-footer-lower-nav li {
    margin-right: 80px;
    margin-bottom: 20px;
  }
}

.l-header-megamenu {
  display: none;
  position: fixed;
  top: 136px;
  left: 0;
  z-index: 500;
  width: 100%;
}

.l-header-megamenu__block {
  display: none;
  align-items: stretch;
  justify-content: flex-start;
  opacity: 0;
  min-height: 220px;
}

.l-header-megamenu__block.is-active {
  display: flex;
  opacity: 1;
}

.l-header-megamenu__header {
  background: url(/assets/img/common/logo-n.svg) no-repeat bottom right #005B96;
  background-size: contain;
  padding: 40px;
  width: 386px;
  color: #fff;
}

.l-header-megamenu__heading {
  font-size: 3rem;
  line-height: 1.2;
}

.l-header-megamenu__leadtext {
  font-size: 1.4rem;
}

.l-header-megamenu__heading + .l-header-megamenu__leadtext {
  margin-top: 20px;
}

.l-header-megamenu__content {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  background-color: rgba(243, 243, 243, 0.95);
  padding: 40px;
  width: calc(100% - 386px);
}

.l-header-megamenu__box--left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  width: calc(68.5% - 40px);
}

.l-header-megamenu__box--right {
  margin-left: 40px;
  width: 31.5%;
}

.l-header-megamenu__items {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
}

.l-header-megamenu__item {
  margin-right: 40px;
  width: calc(50% - 20px);
}

.l-header-megamenu__item:nth-child(2n + 2) {
  margin-right: 0;
}

.l-header-megamenu__item:nth-child(n + 3) {
  margin-top: 20px;
}

.l-header-megamenu__item a {
  color: inherit;
}

/* ヘッダー
-----------------------*/
.l-header {
  position: relative;
  /* z-index: 100; */
  top: 0;
  /* transition: all 0.1s; */
  background-color: #fff;
  /* padding: 40px 40px 0; */
  width: 100%;
  min-height: 0%;
}

.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 {
  cursor: pointer;
  color: inherit;
}

.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) {
    box-shadow: none;
    background: transparent;
    padding: 20px 40px;
  }
}

.is-scroll .l-header-gnav {
  margin-top: 0;
}

.l-header-gnav ul {
  display: flex;
}

.l-header-gnav ul li {
  position: relative;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  padding: 8px 0;
  font-size: 1.5rem;
}

.l-header-gnav ul li.is-active {
  color: #337AB7;
}

@media (min-width: 768px) {
  .l-header-gnav ul li:hover {
    color: #337AB7;
  }
}

.l-header-gnav ul li::after {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: #337ab7;
  width: 0;
  height: 2px;
  content: "";
}

.l-header-gnav ul li.current::after {
  width: 100%;
}

.l-header-gnav ul li + li {
  margin-left: 32px;
}

.l-header-gnav ul li a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.l-header-gnav ul li a:hover {
  text-decoration: none;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .l-header-gnav {
    /* display: none; */
  }
}

@media print {
  .l-header-gnav {
    display: none;
  }
}

.l-header-ico-search {
  /* margin-top: -9px;
  margin-left: 50px; */
  /* font-size: 2.4rem; */
  cursor: pointer;
}

.l-header-ico-search:focus {
  outline: 1px solid #4c8dca;
  outline: 5px auto -webkit-focus-ring-color;
}

.is-scroll .l-header-ico-search {
  margin-top: 0;
}

@media (min-width: 768px) and (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 {
  display: none;
  position: relative;
  z-index: 999;
  cursor: pointer;
  /* margin-top: -7px; */
  /* margin-left: 60px; */
  width: 24px;
  height: 24px;
}

.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;
}

.l-header-ico-menu.is-menu.is-close::before {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% - 400px);
  height: 100%;
  content: "";
}

.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;
  transition: all 0.3s;
  background: #333;
  width: 24px;
  height: 2px;
}

.l-header-ico-menu span {
  top: 9px;
}

.l-header-ico-menu span::before {
  top: -9px;
  content: "";
}

.l-header-ico-menu span::after {
  top: 9px;
  content: "";
}

.is-close .l-header-ico-menu span,
.l-header-ico-menu.is-close span {
  transform: rotate(-45deg);
  background: #fff;
}

.is-close .l-header-ico-menu span::before,
.l-header-ico-menu.is-close span::before {
  transform: translateY(9px);
  background: #fff;
}

.is-close .l-header-ico-menu span::after,
.l-header-ico-menu.is-close span::after {
  transform: rotate(90deg) translateX(-9px) translateY(0px);
  background: #fff;
}

@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 (min-width: 768px) and (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-search {
  position: fixed;
  /* z-index: 1000; */
  top: 0;
  left: 0;
  z-index: 9000;
  transition: transform 0.3s;
  background: #0079a1;
  padding: 40px;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  color: #fff;
}

.l-header-search a {
  color: inherit;
}

.l-header-search__close {
  position: absolute;
  top: 13px;
  right: 4.8%;
  z-index: 2;
  width: 24px;
  height: 24px;
}

.l-header-search__close::before, .l-header-search__close::after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: #fff;
  width: 24px;
  height: 2px;
  content: "";
}

.l-header-search__close::before {
  transform: rotate(45deg);
}

.l-header-search__close::after {
  transform: rotate(-45deg);
}

.l-header-search__close:hover {
  cursor: pointer;
}

@media (min-width: 992px) {
  .l-header-search__close {
    top: 48px;
    right: 48px;
  }
}

.l-header-search.is-hide {
  /* top: -100%; */
  transform: translateY(-100vh);
}

.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;
  transition: all 0.1s;
  margin-bottom: 0;
  height: 0;
}

.is-typing .l-header-search-text {
  visibility: visible;
  margin-bottom: 40px;
  height: auto;
}

.l-header-search-input {
  display: flex;
  position: relative;
  align-items: center;
  opacity: 0;
  overflow: hidden;
}

.l-header-search-input.is-fadein {
  opacity: 1;
  transition: opacity 0.6s ease-in;
}

.l-header-search-input::before {
  position: absolute;
  top: 0;
  left: 100px;
  z-index: 1;
  border-left: 3px solid #fff;
  background: #0079a1;
  width: calc(100% - 100px);
  height: 100%;
  content: "";
}

.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%;
  transform: translate(0, -50%);
  height: 1em;
  font-size: 6rem;
}

.is-typing .l-header-search-input i {
  display: none;
}

.l-header-search-input input {
  appearance: none;
  display: inline-block;
  transition: all 0.2s;
  outline: none;
  border: 0;
  border-radius: 0;
  background: none;
  padding: 0 0 0 100px;
  height: 1.5em;
  color: #fff;
  font-size: 8rem;
  line-height: normal;
}

.l-header-search-input input:-ms-input-placeholder {
  color: #fff;
}

.l-header-search-input input::placeholder {
  color: #fff;
}

.l-header-search-input input::-ms-clear {
  display: none;
}

.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;
  opacity: 0;
  margin-top: 60px;
}

.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 (min-width: 768px) and (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 {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5000;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.l-header.headroom--not-top {
  transform: translateY(-105px);
}

@media (min-width: 992px) {
  .l-header.headroom--not-top {
    transform: translateY(-100%);
  }
}

.l-header.headroom--pinned {
  transform: translateY(0) !important;
}

.l-header__block {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.l-header__block + .l-header__block {
  border-top: 1px solid #f3f3f3;
}

.l-header__block:first-child {
  padding: 0 4.8%;
  height: 50px;
}

@media (min-width: 992px) {
  .l-header__block {
    padding: 16px 48px;
  }
  .l-header__block:first-child {
    padding: 16px 48px;
    height: auto;
  }
}

.l-header__logos .c-svg-logo--nttdata {
  width: 80px;
}

@media (min-width: 992px) {
  .l-header__logos {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .l-header__logos .c-svg-logo--nttdata {
    width: 150px;
  }
}

.l-header__main-logo img {
  width: 100%;
  max-width: 80px;
}

@media (min-width: 768px) {
  .l-header__main-logo img {
    max-width: 150px;
  }
}

@media (max-width: 991px) {
  .l-header__sub-logo {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    align-items: center;
    justify-content: flex-start;
    background-color: #fff;
    padding: 0 4.8%;
    width: 100%;
    height: 50px;
  }
  .l-header__sub-logo img {
    width: 100%;
    max-width: var(--spw);
  }
}

@media (min-width: 992px) {
  .l-header__sub-logo {
    display: block;
    margin-left: 24px;
    height: auto;
  }
  .l-header__sub-logo img {
    max-width: var(--pcw);
  }
}

.l-header__sub-navi {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media (min-width: 992px) {
  .l-header__sub-navi {
    height: 40px;
  }
}

.l-header__btn {
  display: none;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: background-color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  margin-left: 32px;
  border: 1px solid #020202;
  width: 140px;
  font-size: 1.3rem;
  text-align: center;
}

.l-header__btn a {
  display: block;
  padding: 8px 16px;
  line-height: 1.7;
}

.l-header__btn a:hover {
  text-decoration: none;
}

@media (min-width: 992px) {
  .l-header__btn {
    display: block;
  }
  .l-header__btn:hover {
    background-color: #f3f3f3;
  }
}

.l-header-ico-search {
  font-size: 2rem;
}

@media (min-width: 992px) {
  .l-header-ico-search {
    font-size: 2.4rem;
  }
}

.l-header-ico-menu {
  display: block;
  margin-left: 20px;
}

@media (min-width: 992px) {
  .l-header-ico-menu {
    display: none;
  }
}

.l-header-gnav {
  display: none;
}

@media (min-width: 992px) {
  .l-header-gnav {
    display: block;
  }
}

/* メイン
-----------------------*/
.l-main {
  min-height: 0%;
}

.l-main--empty {
  flex: 1;
}

/* 404 エラーページ
-----------------------*/
.l-main.is-error {
  min-height: calc(100vh);
}

.l-main.is-error .c-block-content-header-wrapper {
  padding: 130px 40px 40px;
}

.l-main.is-error .c-block-content-header-head {
  font-size: 15.2rem;
  letter-spacing: 1px;
}

.l-main.is-error .c-block {
  padding: 0 48px;
}

.l-main.is-error .c-block-error-text {
  font-size: 3rem;
  line-height: 2;
}

@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 {
    font-size: 2.6rem;
    line-height: 1.4;
  }
}

/* ラッパー
-----------------------*/
.l-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
}

.l-wrapper-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
}

@media print {
  .l-wrapper-inner {
    display: block;
  }
}

.c-block-fill-banner {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
}

.c-block-fill-banner__info {
  position: relative;
  padding: 64px 4.8%;
  color: #fff;
}

@media (min-width: 768px) {
  .c-block-fill-banner__info {
    padding: 100px 48px;
    max-width: 524px;
  }
}

.c-block-fill-banner__category {
  font-size: 1.7rem;
}

.c-block-fill-banner__title {
  font-size: 2.2rem;
  line-height: 1.4;
}

.c-block-fill-banner__category + .c-block-fill-banner__title {
  margin-top: 16px;
}

@media (min-width: 768px) {
  .c-block-fill-banner__title {
    font-size: 3.2rem;
  }
}

.c-block-fill-banner__link {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: background-color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  border: 2px solid #fff;
  max-width: 172px;
  height: 48px;
}

.c-block-fill-banner__category + .c-block-fill-banner__link {
  margin-top: 16px;
}

.c-block-fill-banner__title + .c-block-fill-banner__link {
  margin-top: 32px;
}

.c-block-fill-banner__link::before {
  position: relative;
  margin-right: 5px;
  font-family: "FontAwesome";
  font-size: 2rem;
  line-height: 0;
  content: "\f105";
}

.c-block-fill-banner__link a {
  color: #fff;
}

.c-block-fill-banner__link a:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
  content: "";
}

.c-block-fill-banner__link a:hover {
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-block-fill-banner__link {
    max-width: 236px;
    height: 60px;
  }
  .c-block-fill-banner__title + .c-block-fill-banner__link {
    margin-top: 40px;
  }
  .c-block-fill-banner__link:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}

.c-block-heading1 {
  font-size: 2rem;
}

.c-block-heading2 {
  font-size: 1.8rem;
}

.c-block-heading3 {
  font-size: 1.6rem;
}

.c-block-heading4 {
  font-size: 1.4rem;
}

[class*=c-block-] + .c-block-heading4 {
  margin-top: 16px;
}

[class*=c-block-] + .c-block-heading2 {
  margin-top: 24px;
}

[class*=c-block-] + .c-block-heading3 {
  margin-top: 24px;
}

.c-block-image-banner {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  min-height: 412px;
}

@media (min-width: 768px) {
  .c-block-image-banner {
    min-height: 613px;
  }
}

.c-block-image-banner__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-block-image-banner__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-block-image-banner__info {
  position: relative;
  padding: 64px 4.8%;
  width: 100%;
  color: #fff;
}

@media (min-width: 768px) {
  .c-block-image-banner__info {
    padding: 100px 48px;
    max-width: 524px;
  }
}

.c-block-image-banner__category {
  font-size: 1.7rem;
}

.c-block-image-banner__title {
  font-size: 2.2rem;
  line-height: 1.4;
}

.c-block-image-banner__category + .c-block-image-banner__title {
  margin-top: 16px;
}

@media (min-width: 768px) {
  .c-block-image-banner__title {
    font-size: 3.2rem;
  }
}

.c-block-image-banner__link {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: background-color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  border: 2px solid #fff;
  max-width: 172px;
  height: 48px;
}

.c-block-image-banner__category + .c-block-image-banner__link {
  margin-top: 16px;
}

.c-block-image-banner__title + .c-block-image-banner__link {
  margin-top: 32px;
}

.c-block-image-banner__link::before {
  position: relative;
  margin-right: 5px;
  font-family: "FontAwesome";
  font-size: 2rem;
  line-height: 0;
  content: "\f105";
}

.c-block-image-banner__link a {
  color: #fff;
}

.c-block-image-banner__link a:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
  content: "";
}

.c-block-image-banner__link a:hover {
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-block-image-banner__link {
    max-width: 236px;
    height: 60px;
  }
  .c-block-image-banner__title + .c-block-image-banner__link {
    margin-top: 40px;
  }
  .c-block-image-banner__link:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}

.c-block-image--center {
  margin-right: auto;
  margin-left: auto;
  max-width: 900px;
  text-align: center;
}

[class*=c-block-] + .c-block-image {
  margin-top: 12px;
}

.c-block-image__caption {
  margin-top: 20px;
  font-size: 1.6rem;
  line-height: 1.25;
}

.c-block-list {
  font-size: 1.4rem;
}

[class*="c-block-"] + .c-block-list {
  margin-top: 12px;
}

.c-block-list--disc {
  padding-left: 32px;
  list-style-type: disc;
}

.c-block-list--decimal {
  padding-left: 32px;
  list-style-type: decimal;
}

.c-block-list__item {
  display: list-item;
  position: relative;
  line-height: 2;
}

.c-block-list__item + .c-block-list__item {
  margin-top: 20px;
}

.c-block-richtext {
  font-size: 1.4rem;
}

[class*=c-block-] + .c-block-richtext {
  margin-top: 20px;
}

.c-block-richtext p + p {
  margin-top: 16px;
}

@media (max-width: 767px) {
  .c-customer-profile__logo img {
    width: 100%;
    max-width: 330px;
  }
}

.c-customer-profile__datas {
  border-top: 1px solid #e8e8e8;
}

.c-customer-profile__data {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  border-bottom: 1px solid #e8e8e8;
}

.c-customer-profile__data-title {
  padding: 12px 8px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .c-customer-profile__data-title {
    max-width: 108px;
  }
}

@media (min-width: 768px) {
  .c-customer-profile__data-title {
    padding: 16px 15px;
    width: 200px;
  }
}

.c-customer-profile__data-info {
  flex: 1;
  padding: 12px 8px;
}

@media (min-width: 768px) {
  .c-customer-profile__data-info {
    padding: 16px 15px;
  }
}

.c-customer-profile__data-text {
  font-size: 1.6rem;
  line-height: 1.5;
}

.c-toppage-heading--24 + .c-entry-card {
  margin-top: 20px;
}

.c-toppage-heading--30 + .c-entry-card {
  margin-top: 56px;
}

.c-entry-card__item {
  display: flex;
  position: relative;
  flex-direction: column;
  width: 100%;
}

.browser-ie .c-entry-card__item {
  display: block;
}

@media (max-width: 767px) {
  .c-entry-card__item + .c-entry-card__item {
    margin-top: 32px;
  }
}

@media (min-width: 768px) {
  .c-entry-card__item {
    min-height: 180px;
  }
  .c-entry-card__item:hover .c-entry-card__img {
    opacity: 0.7;
  }
}

.c-entry-card__img {
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-entry-card__img img {
  width: 100%;
}

.c-entry-card__info {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  background-color: #fff;
  padding: 24px 20px;
}

.browser-ie .c-entry-card__info {
  display: block;
}

@media (min-width: 768px) {
  .c-entry-card__info {
    padding: 24px 32px;
  }
}

.c-entry-card__info-block + .c-entry-card__info-block {
  margin-top: 32px;
}

@media (max-width: 767px) {
  .c-entry-card__info-block--bottom {
    display: none;
  }
}

.c-entry-card__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.75;
}

.c-entry-card__title a {
  color: inherit;
  text-decoration: none;
}

.c-entry-card__title a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
  content: "";
}

@media (min-width: 768px) {
  .c-entry-card__title {
    font-size: 1.6rem;
  }
}

.c-entry-card__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  overflow: hidden;
  font-size: 1.3rem;
  word-break: break-all;
}

.c-entry-card__title + .c-entry-card__text {
  margin-top: 12px;
}

@media (min-width: 768px) {
  .c-entry-card__text {
    font-size: 1.4rem;
  }
}

.c-entry-card__tag {
  color: #7f7f7f;
  font-size: 1.2rem;
  line-height: 1.2;
}

.c-entry-card__date {
  color: #7f7f7f;
  font-size: 1.2rem;
}

.c-entry-list__items {
  border-top: 1px solid #e6e6e6;
}

.c-entry-list__item {
  border-bottom: 1px solid #e6e6e6;
  padding: 24px 0;
}

.c-entry-list__title {
  font-size: 2rem;
}

.c-entry-list__note {
  color: #868686;
  font-size: 1.4rem;
}

.c-toppage-heading--24 + .c-entry {
  margin-top: 20px;
}

.c-toppage-heading--30 + .c-entry {
  margin-top: 56px;
}

.c-entry__item {
  position: relative;
  width: 100%;
}

@media (max-width: 767px) {
  .c-entry__item + .c-entry__item {
    margin-top: 32px;
  }
}

@media (min-width: 768px) {
  .c-entry__item {
    min-height: 180px;
  }
  .c-entry__item:hover .c-entry__img {
    opacity: .7;
  }
}

.c-entry__img {
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-entry__img img {
  width: 100%;
}

.c-entry__info {
  margin-top: 8px;
}

.c-entry__category {
  font-size: 1.2rem;
  font-weight: bold;
}

.c-entry__title {
  margin-top: 4px;
  font-size: 1.6rem;
  line-height: 1.75;
}

.c-entry__title a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
  content: "";
}

.c-entry a {
  color: inherit;
  text-decoration: none;
}

.c-entry a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.c-fill-button {
  display: inline-block;
  position: relative;
  padding: 14px;
}

.c-fill-button--submit {
  background-color: #5876AA;
  min-width: 204px;
  color: #fff;
}

.c-fill-button__text {
  border: none;
  background-color: transparent;
  color: inherit;
  font-size: 1.4rem;
  text-align: center;
}

.c-fill-button__text::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
}

input[type="radio"].c-form-radio {
  clip: rect(0, 0, 0, 0);
  position: absolute;
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

input[type="radio"].c-form-radio:checked + span::after {
  background-color: #666;
}

input[type="radio"].c-form-radio + span {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding-left: 28px;
}

input[type="radio"].c-form-radio + span::before {
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 0;
  border: 1px solid #999;
  border-radius: 50%;
  background: #fff;
  width: 12px;
  height: 12px;
  content: "";
}

input[type="radio"].c-form-radio + span::after {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 3px;
  border-radius: 50%;
  background: transparent;
  width: 6px;
  height: 6px;
  content: "";
}

.c-form-select {
  appearance: none;
  position: relative;
  border: 1px solid #cbcbcb;
  background-color: #f7f7f7;
  width: 100%;
  font-size: 1.6rem;
}

.c-form-select:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.c-form-select::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.c-form-select::after {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  font-family: "FontAwesome";
  content: "\f107";
}

.c-form-select select {
  appearance: none;
  border: 1px solid transparent;
  background-color: transparent;
  padding: 16px;
  width: 100%;
}

.c-form-text {
  -webkit-appearance: none;
  border: 1px solid #CBCBCB;
  border-radius: 0;
  background-color: #f7f7f7;
  padding: 16px;
  width: 100%;
  font-size: 1.6rem;
}

.c-form-text:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.c-form-text::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.c-form-textarea {
  -webkit-appearance: none;
  border: 1px solid #CBCBCB;
  border-radius: 0;
  background-color: #f7f7f7;
  padding: 16px;
  width: 100%;
  min-height: 200px;
  font-size: 1.6rem;
}

.c-form-textarea:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.c-form-textarea::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.c-form__richtext {
  font-size: 1.4rem;
}

.c-form__section + .c-form__section {
  margin-top: 60px;
}

.c-form__heading {
  font-size: 2rem;
  font-weight: bold;
}

.c-form__heading + .c-form__block {
  margin-top: 40px;
}

.c-form__block + .c-form__block {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .c-form__block--2col {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .c-form__box + .c-form__box {
    margin-top: 20px;
  }
}

@media (min-width: 768px) {
  .c-form__block--2col .c-form__box {
    margin-right: 60px;
    width: calc(50% - 30px);
  }
  .c-form__block--2col .c-form__box:nth-child(2n + 2) {
    margin-right: 0;
  }
}

.c-form__items {
  font-size: 1.5rem;
}

@media (min-width: 768px) {
  .c-form__items--2col {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .c-form__items--2col .c-form__item {
    margin-right: 40px;
    width: calc(50% - 20px);
  }
  .c-form__items--2col .c-form__item:nth-child(2n + 2) {
    margin-right: 0;
  }
  .c-form__items--2col .c-form__item:nth-child(n + 3) {
    margin-top: 20px;
  }
}

.c-form__item {
  position: relative;
}

@media (max-width: 767px) {
  .c-form__item + .c-form__item {
    margin-top: 20px;
  }
}

.c-form__label {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 1.6rem;
}

.c-toppage-heading--17 + .c-image-tile {
  margin-top: 28px;
}

.c-image-tile + .c-image-tile {
  margin-top: 56px;
}

@media (max-width: 767px) {
  .c-image-tile .c-toppage-heading {
    position: relative;
  }
}

@media (min-width: 768px) {
  .c-image-tile + .c-image-tile {
    margin-top: 80px;
  }
  .c-toppage-heading--17 + .c-image-tile {
    margin-top: 40px;
  }
}

.c-toppage-heading--30 + .c-image-tile__items {
  margin-top: 28px;
}

@media (min-width: 768px) {
  .c-toppage-heading--30 + .c-image-tile__items {
    margin-top: 56px;
  }
}

.c-image-tile__item {
  position: relative;
  width: 100%;
  overflow: hidden;
}

@media (max-width: 767px) {
  .c-image-tile__item + .c-image-tile__item {
    margin-top: 32px;
  }
}

.c-image-tile__img {
  position: relative;
  z-index: 1;
}

.c-image-tile__img img {
  width: 100%;
}

.c-image-tile__info {
  display: flex;
  position: absolute;
  bottom: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  z-index: 3;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: height;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  padding: 13.09% 6.7%;
  width: 100%;
  color: #fff;
}

.c-image-tile__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
  font-size: 2.2rem;
  line-height: 1.4;
  word-break: break-all;
}

.browser-ie .c-image-tile__title {
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset;
  display: block;
  width: 100%;
  word-break: unset;
}

.c-image-tile__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 1.78;
  word-break: break-all;
}

.browser-ie .c-image-tile__text {
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset;
  display: block;
  width: 100%;
  word-break: unset;
}

.c-image-tile__title + .c-image-tile__text {
  margin-top: 4px;
}

.c-internal-link + .c-internal-link {
  margin-top: 68px;
}

.c-toppage-heading--17 + .c-internal-link {
  margin-top: 24px;
}

@media (max-width: 767px) {
  .c-internal-link {
    overflow: hidden;
  }
  .c-internal-link--slider .c-toppage-heading {
    font-weight: 400;
  }
  .c-internal-link--slider .c-toppage-heading {
    position: relative;
  }
  .c-internal-link--slider .c-toppage-heading--17 {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

@media (min-width: 768px) {
  .c-internal-link + .c-internal-link {
    margin-top: 108px;
  }
  .c-toppage-heading--17 + .c-internal-link {
    margin-top: 16px;
  }
}

.c-internal-link__controller {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 16px 40px;
}

@media (min-width: 768px) {
  .c-internal-link__controller {
    display: none;
  }
}

.c-internal-link__pagination {
  font-size: 1.9rem;
  text-align: center;
}

.c-internal-link__arrow {
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
}

.c-internal-link__arrow::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: border-color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 20px;
  height: 20px;
  content: "";
}

.c-internal-link__arrow--prev {
  margin-right: 40px;
}

.c-internal-link__arrow--prev::before {
  transform: rotate(-135deg);
}

.c-internal-link__arrow--next {
  margin-left: 40px;
}

.c-internal-link__arrow--next::before {
  transform: rotate(45deg);
}

@media (min-width: 768px) {
  .c-internal-link__arrow {
    display: none;
  }
}

.c-toppage-heading--17 + .c-internal-link__items,
.c-toppage-heading--30 + .c-internal-link__items {
  margin-top: 44px;
}

@media (min-width: 768px) {
  .c-toppage-heading--17 + .c-internal-link__items,
  .c-toppage-heading--30 + .c-internal-link__items {
    margin-top: 60px;
  }
}

.c-internal-link__item {
  position: relative;
  transition: transform 1.5s, right 1.5s;
  padding-left: 12px;
  width: 100%;
}

@media (max-width: 767px) {
  .c-internal-link__item + .c-internal-link__item {
    margin-top: 40px;
  }
  .c-internal-link--slider .c-internal-link__item + .c-internal-link__item {
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  .c-internal-link__item:last-child:nth-child(3n-1) {
    margin-right: auto;
  }
  .c-internal-link__item:nth-child(3n-2), .c-internal-link__item:nth-child(3n-1):nth-child(even) {
    transform: translateX(800px);
    opacity: 0;
  }
  .c-internal-link__item:nth-child(3n-1):nth-child(odd), .c-internal-link__item:nth-child(3n) {
    transform: translateX(-800px);
    opacity: 0;
  }
  .is-animate .c-internal-link__item:nth-child(3n-2),
  .is-animate .c-internal-link__item:nth-child(3n-1):nth-child(even) {
    transform: translateX(0);
    opacity: 1;
  }
  .is-animate .c-internal-link__item:nth-child(3n-1):nth-child(odd),
  .is-animate .c-internal-link__item:nth-child(3n) {
    transform: translateX(0);
    opacity: 1;
  }
}

.c-internal-link__title {
  font-size: 2rem;
  line-height: 1.4;
}

.c-internal-link__title a {
  color: inherit;
  text-decoration: none;
}

.c-internal-link__title a:hover {
  text-decoration: underline;
}

.c-internal-link__title::before {
  display: block;
  position: absolute;
  left: 0;
  font-family: "FontAwesome";
  content: "\f105";
}

.c-internal-link__text {
  font-size: 1.6rem;
}

.c-internal-link__title + .c-internal-link__text {
  margin-top: 28px;
}

.c-internal-link__link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-internal-link__link::before {
  position: relative;
  margin-right: 5px;
  font-family: "FontAwesome";
  font-size: 2rem;
  line-height: 0;
  content: "\f105";
}

.c-internal-link__text + .c-internal-link__link {
  margin-top: 10px;
}

@media (min-width: 768px) {
  .c-internal-link__link {
    justify-content: flex-end;
  }
  .c-internal-link__text + .c-internal-link__link {
    margin-top: 32px;
  }
}

.c-license {
  padding: 40px 4.8%;
}

@media (min-width: 768px) {
  .c-license {
    padding: 32px 48px;
  }
}

.c-license__items {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .c-license__items {
    justify-content: center;
  }
}

.c-license__item {
  text-align: center;
}

@media (max-width: 767px) {
  .c-license__item {
    margin-right: 15px;
    width: calc(50% - 7.5px);
  }
  .c-license__item:nth-child(2n + 2) {
    margin-right: 0;
  }
  .c-license__item:nth-child(n + 3) {
    margin-top: 15px;
  }
}

@media (min-width: 768px) {
  .c-license__item {
    max-width: 140px;
  }
  .c-license__item + .c-license__item {
    margin-left: 20px;
  }
}

.c-license__img::before {
  content: "";
}

.c-license__text {
  margin-top: 12px;
  font-size: 1.2rem;
  line-height: 1.3;
}

.c-link--pdf::before {
  margin-right: 10px;
  font-family: FontAwesome;
  content: "\f1c1";
}

.c-link--external::after {
  margin-left: 10px;
  font-family: FontAwesome;
  content: "\f24d";
}

/* 開閉（アップダウン）アイコン */
.c-link-down {
  cursor: pointer;
}

.c-link-down::after {
  display: inline-block;
  margin-left: 10px;
  font-family: 'FontAwesome';
  font-size: 2rem;
  content: "\f107";
}

.c-link-up::after,
.c-link-down.is-open::after {
  display: inline-block;
  margin-left: 10px;
  font-family: 'FontAwesome';
  font-size: 2rem;
  content: "\f106";
}

.c-megamenu-preview {
  position: relative;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (min-width: 768px) {
  .c-megamenu-preview:hover {
    opacity: 0.7;
  }
}

.c-megamenu-preview__info {
  margin-top: 16px;
}

.c-megamenu-preview__title {
  font-size: 1.2rem;
}

.c-megamenu-preview__title a {
  color: inherit;
}

.c-megamenu-preview__title a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
}

.c-megamenu-preview__title a:hover {
  text-decoration: none;
}

.c-megamenu-preview__text {
  margin-top: 16px;
  font-size: 1.6rem;
}

.c-mv {
  position: relative;
  z-index: 1;
}

@media (min-width: 375px) {
  .c-mv {
    min-height: 450px;
  }
}

.c-mv__item {
  position: relative;
}

.c-mv__img {
  position: relative;
}

.c-mv__img img {
  width: 100%;
  min-height: 450px;
  object-fit: cover;
}

.c-mv__img a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
}

.c-mv__img:hover img {
  opacity: 1;
}

.c-mv__info {
  position: absolute;
  top: 50%;
  left: 4.8%;
  transform: translateY(-50%);
  z-index: 1;
  width: 90.4%;
}

@media (min-width: 768px) {
  .c-mv__info {
    left: 48px;
    width: 40%;
  }
}

.c-mv__heading {
  color: #fff;
  font-size: 2.2rem;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .c-mv__heading {
    font-size: 3.2rem;
  }
}

.c-toppage-heading--24 + .c-news-card {
  margin-top: 20px;
}

.c-toppage-heading--30 + .c-news-card {
  margin-top: 56px;
}

.c-news-card__item {
  position: relative;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: background-color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  border: 1px solid #d6d6d6;
  background-color: #fff;
  padding: 25px 30px;
  width: 100%;
}

@media (max-width: 767px) {
  .c-news-card__item + .c-news-card__item {
    margin-top: 20px;
  }
}

@media (min-width: 768px) {
  .c-news-card__item {
    min-height: 180px;
  }
  .c-news-card__item:hover {
    background-color: #f3f3f3;
  }
}

.c-news-card__category {
  font-size: 1.2rem;
  font-weight: bold;
}

.c-news-card__date {
  color: #868686;
  font-size: 1.2rem;
}

.c-news-card__title {
  margin-top: 16px;
  line-height: 2;
}

@media (min-width: 768px) {
  .c-news-card__title {
    margin-top: 20px;
    line-height: 1.8;
  }
}

.c-news-card a {
  color: inherit;
  text-decoration: none;
}

.c-news-card a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}

@media (min-width: 768px) {
  .c-numbering-sentence--3col .c-numbering-sentence__items {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }
}

.c-numbering-sentence__items {
  counter-reset: sentence-counter;
}

.c-numbering-sentence__item {
  counter-increment: sentence-counter;
}

@media (min-width: 768px) {
  .c-numbering-sentence--3col .c-numbering-sentence__item {
    margin-bottom: 40px;
    width: 28%;
  }
  .c-numbering-sentence--3col .c-numbering-sentence__item:nth-child(3n + 2) {
    margin-right: 8%;
    margin-left: 8%;
  }
}

@media (max-width: 767px) {
  .c-numbering-sentence--3col .c-numbering-sentence__item + .c-numbering-sentence__item {
    margin-top: 40px;
  }
}

.c-numbering-sentence__title {
  position: relative;
  font-size: 2rem;
  line-height: 1.5;
}

.c-numbering-sentence__title::before {
  color: #eba73e;
  font-size: 13.5rem;
  line-height: 1;
  content: counter(sentence-counter, decimal);
}

.c-numbering-sentence__title span {
  position: absolute;
  bottom: 15%;
  left: 0;
}

@media (min-width: 768px) {
  .c-numbering-sentence__title::before {
    font-size: 17rem;
  }
}

/*========================================
Component（接頭辞 c-）
==========================================*/
/* ブロック
-----------------------*/
/* 汎用コンテンツブロック */
/* トップページ お知らせ */
/* フィルターセレクター */
.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 {
  margin-right: -40px;
  width: 100%;
}

.c-block-filter-select-scroll ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: -20px;
}

.c-block-filter-select-scroll ul li {
  margin-top: 20px;
  margin-left: 20px;
  min-width: 220px;
}

.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 {
    margin-right: 0;
    min-width: 0;
  }
  .c-block-filter-select-scroll {
    margin-top: 20px;
    margin-right: 0;
  }
  .c-block-filter-select-scroll ul {
    justify-content: space-between;
  }
  .c-block-filter-select-scroll ul li {
    margin-left: 0;
    width: calc((100% - 20px) / 2 - 0.1px);
    min-width: 0;
  }
  .c-block-filter-select-button {
    margin-top: 20px;
    text-align: center;
  }
}

/* 動画ブロック */
.c-block-video {
  margin: 0 auto;
  max-width: 960px !important;
}

.c-block-video-inner {
  position: relative;
  padding-bottom: 56.25%;
}

.c-block-video-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 3;
  cursor: pointer;
  padding: 0 30px 150px;
  pointer-events: none;
  line-height: 1.2;
  /*  width: 100%;*/
  text-align: center;
}

.c-block-video-button {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 3;
  cursor: pointer;
  border: 0;
  background: #d1382a;
  padding: 10px 30px;
  pointer-events: none;
  color: #fff;
  letter-spacing: 0.04em;
}

.c-block-video-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

.c-block-video-image img {
  width: 100%;
}

.c-block-video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.c-block-video-caption {
  margin: 10px auto 0;
  max-width: 960px;
  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%;*/
  width: 75%;
}

.c-block-news-article > div:first-child {
  font-size: 1.6rem;
}

.c-block-news-article > div + div {
  margin-top: 80px;
}

.c-block-news-article > div:first-child + div {
  margin-top: 40px;
}

.c-block-news-article h3 {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: bold;
}

.c-block-news-article h4 {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: bold;
}

.c-block-news-article h5 {
  margin-bottom: 10px;
  font-weight: bold;
}

.c-block-news-article p + h4,
.c-block-news-article p + h5 {
  margin-top: 20px;
}

.c-block-news-article p.small + p {
  margin-top: 0;
}

.c-block-news-article ul,
.c-block-news-article ol {
  margin: 20px 0;
  padding-left: 40px;
  line-height: 2;
}

.c-block-news-article ul {
  list-style-type: disc;
}

.c-block-news-article ol {
  list-style-type: decimal;
}

.c-block-news-article sup {
  position: relative;
  top: -0.5em;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

.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;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: 0 -5px;
  padding: 0;
  list-style-type: none;
}

.c-block-news-article-head-right li {
  box-sizing: content-box;
  padding: 0 5px;
  width: calc((100% - 30px)/ 3 - 0.1px);
}

.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%;*/
	width: 25%;
}

.c-block-news-article-side-upper {
  border-bottom: 2px solid #eee;
}

@media screen and (max-width: 767px) {
  .c-block-news-article-side {
    margin-top: 60px;
    border-left: none;
    padding-left: 0;
    width: 100%;
  }
}

@media print {
  .c-block-news-article-side {
    display: none;
  }
}

/* リスト
-----------------------*/
/* マーカー無し */
.c-list-none {
  line-height: 1.5;
}

.c-list-none > li + li {
  margin-top: 10px;
}

/* 中黒 */
.c-list-disc {
  padding-left: 30px;
  line-height: 1.5;
  list-style-type: disc;
}

.c-list-disc > li + li {
  margin-top: 10px;
}

/* 番号 */
.c-list-decimal {
  padding-left: 30px;
  line-height: 1.5;
  list-style-type: decimal;
}

.c-list-decimal > li + li {
  margin-top: 10px;
}

/* キャレット */
.c-list-caret {
  line-height: 1.5;
}

.c-list-caret > li {
  padding-left: 12px;
  text-indent: -12px;
}

.c-list-caret > li::before {
  position: relative;
  top: 1px;
  margin-right: 5px;
  font-family: 'FontAwesome';
  font-size: 2rem;
  line-height: 0;
  content: "\f105";
}

.c-list-caret > li + li {
  margin-top: 10px;
}

/* ファイルアイコン */
.c-list-file {
  line-height: 1.5;
}

.c-list-file > li {
  padding-left: 22px;
  text-indent: -22px;
}

.c-list-file > li + li {
  margin-top: 10px;
}

.c-list-file > li::before {
  margin-right: 10px;
}

.c-list-file > li.is-pdf::before {
  font-family: 'FontAwesome';
  content: "\f1c1";
}

.c-list-file > li.is-excel::before {
  font-family: 'FontAwesome';
  content: "\f1c3";
}

/* ページ内リンク */
.c-list-anker {
  display: flex;
}

.c-list-anker a {
  color: inherit;
}

.c-list-anker li {
  margin-left: 70px;
}

.c-list-anker li:first-child {
  margin-left: 0;
}

.c-list-anker li::after {
  display: inline-block;
  margin-left: 10px;
  border-bottom: 2px solid #fff;
  height: 19px;
  font-family: 'FontAwesome';
  font-size: 2rem;
  content: '\f107';
}

@media screen and (max-width: 767px) {
  .c-list-anker {
    display: block;
  }
  .c-list-anker li {
    margin-top: 20px;
    margin-left: 0;
    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-top: 20px;
    margin-right: 0;
  }
  .c-list-horizontal li:first-child {
    margin-top: 0;
  }
}

/* ページネーション */
.c-list-casestudy-pagination {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}

.c-list-casestudy-pagination li {
  cursor: pointer;
  margin-left: 16px;
}

.c-list-casestudy-pagination li:first-child {
  margin-left: 0;
}

.c-list-casestudy-pagination li.is-current {
  pointer-events: none;
  color: #737373;
  font-size: 3rem;
}

/* ニュースなど見出し一覧用 */
.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%;
  color: #868686;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
}

.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 {
  width: 12rem;
  font-size: 2rem;
  line-height: 1;
}

.c-list-headline-sub > .c-list-history-category {
  width: 10%;
  min-width: 11rem;
  color: #868686;
  font-size: 1.2rem;
  line-height: 2rem;
}

.c-list-headline-sub > .c-list-history-content {
  width: 90%;
  font-size: 1.4rem;
  line-height: 2rem;
}

@media (max-width: 767px) {
  .c-list-headline > .c-list-history-year {
    width: 100%;
  }
  .c-list-headline-sub > .c-list-history-category {
    width: 100%;
  }
  .c-list-headline-sub > .c-list-history-content {
    width: 100%;
  }
}

/* テーブルリスト */
.c-list-table {
  display: table;
  border-top: 1px solid #D6D6D6;
  width: 100%;
  table-layout: fixed;
}

.c-list-table dl {
  display: table-row;
}

.c-list-table dt {
  font-weight: bold;
}

.c-list-table .c-list-table-th,
.c-list-table .c-list-table-td {
  display: table-cell;
  border-bottom: 1px solid #d6d6d6;
  padding: 15px;
  line-height: 2;
}

.c-list-table .c-list-table-th {
  width: 150px;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .c-list-table {
    display: block;
  }
  .c-list-table dl {
    display: block;
    border-bottom: 1px solid #d6d6d6;
  }
  .c-list-table.c-list-table-th,
  .c-list-table .c-list-table-td {
    display: block;
    padding: 15px;
    line-height: 2;
  }
  .c-list-table .c-list-table-th {
    border-bottom: none;
    padding: 10px 10px 0 10px;
    width: 100%;
  }
  .c-list-table .c-list-table-td {
    border-bottom: none;
    padding: 10px;
  }
}

/* ボタン
-----------------------*/
.c-btn-normal {
  display: inline-flex;
  justify-content: center;
  transition: background-color 0.2s;
  cursor: pointer;
  border: 1px solid #333;
  background: none;
  padding: 10px;
  min-width: 180px;
  min-height: 38px;
  color: inherit;
}

.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-select2 + .chosen-container {
  min-width: 150px;
  font-size: 1.6rem;
  text-align: center;
}

.c-select2 + .chosen-container-single .chosen-single {
  -webkit-box-shadow: none;
  display: flex;
  justify-content: center;
  box-shadow: none;
  border: 1px solid transparent;
  background: transparent;
  padding: 5px 10px;
  height: auto;
  color: inherit;
  font-size: 3rem;
  line-height: inherit;
}

.c-select2 + .chosen-container-active.chosen-with-drop .chosen-single {
  box-shadow: 0 1px 0 #fff inset;
  border: 1px solid #aaa;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-image: linear-gradient(#eee 20%, #fff 80%);
  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 {
  font-family: 'FontAwesome';
  content: '\f107';
}

.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 {
  -webkit-overflow-scrolling: touch;
  margin: 0 0 2px 0;
  padding: 0 0 0 2px;
  max-height: 240px;
  color: #333;
}

/* ラジオボタン */
input[type="radio"].c-radio {
  clip: rect(0, 0, 0, 0);
  position: absolute;
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

input[type="radio"].c-radio + span {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding-left: 28px;
}

input[type="radio"].c-radio + span::before {
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 0;
  border: 1px solid #999;
  border-radius: 50%;
  background: #fff;
  width: 12px;
  height: 12px;
  content: '';
}

input[type="radio"].c-radio:checked + span::after {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 3px;
  border-radius: 50%;
  background: #666;
  width: 6px;
  height: 6px;
  content: '';
}

input[type="radio"].c-radio-filter {
  clip: rect(0, 0, 0, 0);
  position: absolute;
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

input[type="radio"].c-radio-filter + span {
  display: inline-block;
  position: relative;
  cursor: pointer;
  height: 1.5em;
}

.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;
  cursor: pointer;
  padding-left: 25px;
  height: 1.5em;
}

input[type="radio"].c-radio.c-radio-contact + span::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: none;
  width: 16px;
  height: 16px;
  content: '';
}

input[type="radio"].c-radio.c-radio-contact:checked + span::after {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 5px;
  border-radius: 50%;
  background: #fff;
  width: 6px;
  height: 6px;
  content: '';
}

input[type="radio"].c-radio.c-radio-contact2 + span {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding-left: 25px;
  height: 1.5em;
}

input[type="radio"].c-radio.c-radio-contact2 + span::before {
  display: inline-block;
  position: absolute;
  top: 0px;
  left: 0;
  border: 1px solid #333;
  border-radius: 50%;
  background: none;
  width: 16px;
  height: 16px;
  content: '';
}

input[type="radio"].c-radio.c-radio-contact2:checked + span::after {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 5px;
  border-radius: 50%;
  background: #333;
  width: 6px;
  height: 6px;
  content: '';
}

/* リンク
-----------------------*/
/* キャレット付き*/
.c-link-caret {
  padding-left: 10px;
  text-indent: -10px;
}

.c-link-caret::before {
  position: relative;
  top: 1px;
  margin-right: 5px;
  font-family: 'FontAwesome';
  font-size: 2rem;
  line-height: 0;
  content: "\f105";
}

.c-link-caret a {
  font-weight: bold;
  text-decoration: none;
}

.c-link-caret a:hover {
  text-decoration: underline;
}

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;
  position: relative;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer;
  height: 1em;
}

.c-link-share-text:hover span {
  text-decoration: underline;
}

.c-link-share-button {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 3;
  transition: all 0.3s;
  cursor: pointer;
  box-shadow: 8px 8px 15px 1px rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  background: #fff;
  width: 50px;
  height: 50px;
  pointer-events: none;
  color: #0079a1;
  font-size: 1.6rem;
  line-height: 50px;
  text-align: center;
}

.is-open .c-link-share-button {
  opacity: 1;
  pointer-events: auto;
}

.is-open .c-link-share-button:hover {
  background: #0079a1;
  color: #fff;
}

.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 {
  margin-left: 10px;
  font-family: FontAwesome;
  content: '\f24d';
}

a.c-link-external:hover {
  /*  text-decoration: none;*/
}

a.c-link-external:hover span {
  text-decoration: underline;
}

/* マーカーアイコン */
.c-link-icon {
  padding-left: 22px;
  text-indent: -22px;
}

.c-link-icon::before {
  margin-right: 10px;
  font-family: FontAwesome;
}

a.c-link-icon:hover {
  text-decoration: none;
}

a.c-link-icon:hover span {
  text-decoration: underline;
}

.c-link-icon.is-pdf::before {
  content: '\f1c1';
}

.c-link-icon.is-excel::before {
  content: '\f1c3';
}

/* 開閉（アップダウン）アイコン */
.c-link-down {
  cursor: pointer;
}

.c-link-down::after {
  display: inline-block;
  margin-left: 10px;
  font-family: 'FontAwesome';
  font-size: 2rem;
  content: "\f107";
}

.c-link-up::after,
.c-link-down.is-open::after {
  display: inline-block;
  margin-left: 10px;
  font-family: 'FontAwesome';
  font-size: 2rem;
  content: "\f106";
}

/* 通常リンクと同じ装飾用（主にJSで使用） */
.c-link-decoration {
  cursor: pointer;
  color: #337ab7;
}

.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-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;
  align-items: flex-start;
  justify-content: space-between;
}

.c-flex-between-center {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-flex-between-end {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.c-flex-center-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 2カラム用フレックス */
.c-flex-2column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.c-flex-2column + .c-flex-2column {
  margin-top: 40px;
}

.c-flex-2column > * {
  margin-top: 40px;
}

.c-flex-2column > *:nth-child(-n+2) {
  margin-top: 0;
}

.c-flex-2column.is-20 > * {
  width: calc((100% - 20px) / 2 - 0.1px);
}

.c-flex-2column.is-30 > * {
  width: calc((100% - 30px) / 2 - 0.1px);
}

.c-flex-2column.is-40 > * {
  width: calc((100% - 40px) / 2 - 0.1px);
}

.c-flex-2column.is-50 > * {
  margin-top: 60px;
  width: calc((100% - 50px) / 2 - 0.1px);
}

.c-flex-2column.is-60 > * {
  margin-top: 60px;
  width: calc((100% - 60px) / 2 - 0.1px);
}

.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) > * {
  margin: 0 auto;
  width: 100%;
  max-width: 380px;
}

@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;
    align-items: flex-start;
    justify-content: space-between;
  }
  .c-flex-between-center-pc {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .c-flex-between-end-pc {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
  .c-flex-center-center-pc {
    display: flex;
    align-items: center;
    justify-content: 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 > * {
    margin-top: 60px;
    width: calc((100% - 50px) / 2 - 0.1px);
  }
  .c-flex-2column-pc.is-60 > * {
    margin-top: 60px;
    width: calc((100% - 60px) / 2 - 0.1px);
  }
  .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) > * {
    margin: 0 auto;
    width: 100%;
    max-width: 380px;
  }
  /* 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 > * {
    margin-top: 60px;
    width: calc((100% - 100px) / 3 - 0.1px);
  }
  .c-flex-3column-pc.is-60 > * {
    margin-top: 60px;
    width: calc((100% - 120px) / 3 - 0.1px);
  }
  .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 > * {
    margin-top: 60px;
    width: calc((100% - 150px) / 4 - 0.1px);
  }
  .c-flex-4column-pc.is-60 > * {
    margin-top: 60px;
    width: calc((100% - 180px) / 4 - 0.1px);
  }
  .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 > * {
    flex-grow: 1;
    margin-top: 40px;
  }
  .c-flex-n-column-pc.is-20 {
    margin-right: -10px;
    margin-left: -10px;
  }
  .c-flex-n-column-pc.is-30 {
    margin-right: -15px;
    margin-left: -15px;
  }
  .c-flex-n-column-pc.is-40 {
    margin-right: -20px;
    margin-left: -20px;
  }
  .c-flex-n-column-pc.is-50 {
    margin-right: -25px;
    margin-left: -25px;
  }
  .c-flex-n-column-pc.is-60 {
    margin-right: -30px;
    margin-left: -30px;
  }
  .c-flex-n-column-pc.is-20 > * {
    padding-right: 10px;
    padding-left: 10px;
  }
  .c-flex-n-column-pc.is-30 > * {
    padding-right: 15px;
    padding-left: 15px;
  }
  .c-flex-n-column-pc.is-40 > * {
    padding-right: 20px;
    padding-left: 20px;
  }
  .c-flex-n-column-pc.is-50 > * {
    padding-right: 25px;
    padding-left: 25px;
  }
  .c-flex-n-column-pc.is-60 > * {
    padding-right: 30px;
    padding-left: 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 > * {
    margin-top: 60px;
    min-width: calc((100% - 100px) / 3 - 0.1px);
  }
  .c-flex-n-column-pc.is-max-3-column.is-60 > * {
    margin-top: 60px;
    min-width: calc((100% - 120px) / 3 - 0.1px);
  }
  .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 > * {
    margin-top: 60px;
    min-width: calc((100% - 150px) / 4 - 0.1px);
  }
  .c-flex-n-column-pc.is-max-4-column.is-60 > * {
    margin-top: 60px;
    min-width: calc((100% - 180px) / 4 - 0.1px);
  }
  .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: 767px) {
  /* 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 > * {
    margin-top: 60px;
    width: calc((100% - 50px) / 2 - 0.1px);
  }
  .c-flex-2column-tab.is-60 > * {
    margin-top: 60px;
    width: calc((100% - 60px) / 2 - 0.1px);
  }
  .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) > * {
    margin: 0 auto;
    width: 100%;
    max-width: 380px;
  }
  /* 3カラム用フレックスTAB */
  .c-flex-3column-tab {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  .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 > * {
    margin-top: 60px;
    width: calc((100% - 100px) / 3 - 0.1px);
  }
  .c-flex-3column-tab.is-60 > * {
    margin-top: 60px;
    width: calc((100% - 120px) / 3 - 0.1px);
  }
  .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;
    align-items: flex-start;
    justify-content: space-between;
  }
  .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 > * {
    margin-top: 20px;
    width: calc((100% - 20px) / 2 - 0.1px);
  }
  .c-flex-2column-sp.is-30-sp > * {
    margin-top: 30px;
    width: calc((100% - 30px) / 2 - 0.1px);
  }
  .c-flex-2column-sp.is-40-sp > * {
    margin-top: 40px;
    width: calc((100% - 40px) / 2 - 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 > * {
    margin-top: 15px;
    width: calc((100% - 15px) / 2 - 0.1px);
  }
  .c-flex-2column-pc.is-60 > * {
    margin-top: 15px;
    width: calc((100% - 15px) / 2 - 0.1px);
  }
  .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;
  }
  /* 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 > * {
    margin-top: 15px;
    width: calc((100% - 30px) / 3 - 0.1px);
  }
  .c-flex-3column-pc.is-60 > * {
    margin-top: 15px;
    width: calc((100% - 30px) / 3 - 0.1px);
  }
  .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 > * {
    margin-top: 15px;
    width: calc((100% - 45px) / 4 - 0.1px);
  }
  .c-flex-4column-pc.is-60 > * {
    margin-top: 15px;
    width: calc((100% - 45px) / 4 - 0.1px);
  }
  .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 > * {
    margin-top: 15px;
    width: calc((100% - 30px) / 3 - 0.1px);
  }
  .c-flex-3column-tab.is-60 > * {
    margin-top: 15px;
    width: calc((100% - 30px) / 3 - 0.1px);
  }
  .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 {
  margin-right: auto;
  content: '';
}

.c-flex-center-absolute.is-left::after {
  margin-left: auto;
  content: '';
}

.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-top: 20px;
    margin-left: 0;
    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-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;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

.c-news-richtext sub {
  position: relative;
  bottom: -0.25em;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

/* ブロック */
.c-news-richtext section + section {
  margin-top: 30px;
}

/* リスト */
.c-news-richtext ul,
.c-news-richtext ol {
  margin-bottom: 20px;
  padding-left: 0;
  list-style-type: none;
}

.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 {
  display: table-cell;
  width: 25px;
  text-align: center;
  content: "・";
}

.c-news-richtext .list-b .num {
  display: table-cell;
  padding-right: 5px;
  min-width: 25px;
  text-align: center;
  white-space: nowrap;
}

.c-news-richtext .list-a .list-b li::before {
  content: none;
}

/* テーブル */
/* 共通 */
.c-news-richtext table {
  margin: 20px auto;
  border-collapse: collapse;
  width: 100%;
  line-height: 1.75;
  word-break: break-all;
}

.c-news-richtext table th {
  padding: 1.5rem 2rem;
  font-weight: bold;
}

.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 {
  vertical-align: bottom;
  max-width: 100%;
}

/* 注釈 */
.c-news-richtext .notes-title,
.c-news-richtext .notes {
  color: #7f7f7f;
}

/* YouTube埋込動画 */
.c-news-richtext .youtube-responsive {
  position: relative;
  margin: 0 auto 2.4rem;
  max-width: 720px;
}

.c-news-richtext .youtube-responsive::before {
  display: block;
  padding-top: 56.25%;
  content: "";
}

.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;
  align-items: center;
  justify-content: space-between;
}

.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;
  }
}

/* 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;
}

.js-object-fit-images.is-bottom {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.js-object-fit-images.is-left {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}

.js-object-fit-images.is-right {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right;
}

/* フィルター */
[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-contact-error {
  display: none;
}

/*========================================
Utility（接頭辞 u-）
==========================================*/
/* ディスプレイ
-----------------------*/
/* PCのみ表示 */
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

/* SPのみ表示 */
@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

.u-d-none {
  display: none !important;
}

.u-d-none-before::before {
  display: none !important;
}

.u-d-none-after::after {
  display: none !important;
}

.u-d-block {
  display: block !important;
}

.u-d-inline-block {
  display: inline-block !important;
}

.u-d-inline {
  display: inline !important;
}

.u-d-flex {
  display: flex !important;
}

@media (min-width: 768px) {
  .u-d-none-pc {
    display: none !important;
  }
  .u-d-none-before-pc::before {
    display: none !important;
  }
  .u-d-none-after-pc::after {
    display: none !important;
  }
  .u-d-block-pc {
    display: block !important;
  }
  .u-d-flex-pc {
    display: flex !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-d-none-tab {
    display: none !important;
  }
  .u-d-none-before-tab::before {
    display: none !important;
  }
  .u-d-none-after-tab::after {
    display: none !important;
  }
  .u-d-block-tab {
    display: block !important;
  }
  .u-d-flex-tab {
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .u-d-none-sp {
    display: none !important;
  }
  .u-d-none-before-sp::before {
    display: none !important;
  }
  .u-d-none-after-sp::after {
    display: none !important;
  }
  .u-d-block-sp {
    display: block !important;
  }
}

/* フレックス系
-----------------------*/
.u-flex-flow-column,
.u-flex-direction-column {
  flex-direction: column !important;
}

.u-flex-flow-column-reverse,
.u-flex-direction-column-reverse {
  flex-direction: column-reverse !important;
}

.u-flex-flow-row-reverse,
.u-flex-direction-row-reverse {
  flex-direction: row-reverse !important;
}

.u-flex-flow-wrap,
.u-flex-wrap-wrap {
  flex-wrap: wrap !important;
}

.u-flex-flow-nowrap,
.u-flex-wrap-nowrap {
  flex-wrap: nowrap !important;
}

@media (min-width: 768px) {
  .u-flex-flow-column-pc,
  .u-flex-direction-column-pc {
    flex-direction: column !important;
  }
  .u-flex-flow-column-reverse-pc,
  .u-flex-direction-column-reverse-pc {
    flex-direction: column-reverse !important;
  }
  .u-flex-flow-row-reverse-pc,
  .u-flex-direction-row-reverse-pc {
    flex-direction: row-reverse !important;
  }
  .u-flex-flow-wrap-pc,
  .u-flex-wrap-wrap-pc {
    flex-wrap: wrap !important;
  }
  .u-flex-flow-nowrap-pc,
  .u-flex-wrap-nowrap-pc {
    flex-wrap: nowrap !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-flex-flow-column-tab,
  .u-flex-direction-column-tab {
    flex-direction: column !important;
  }
  .u-flex-flow-column-reverse-tab,
  .u-flex-direction-column-reverse-tab {
    flex-direction: column-reverse !important;
  }
  .u-flex-flow-row-reverse-tab,
  .u-flex-direction-row-reverse-tab {
    flex-direction: row-reverse !important;
  }
  .u-flex-flow-wrap-tab,
  .u-flex-wrap-wrap-tab {
    flex-wrap: wrap !important;
  }
  .u-flex-flow-nowrap-tab,
  .u-flex-wrap-nowrap-tab {
    flex-wrap: nowrap !important;
  }
}

@media screen and (max-width: 767px) {
  .u-flex-flow-column-sp,
  .u-flex-direction-column-sp {
    flex-direction: column !important;
  }
  .u-flex-flow-column-reverse-sp,
  .u-flex-direction-column-reverse-sp {
    flex-direction: column-reverse !important;
  }
  .u-flex-flow-row-reverse-sp,
  .u-flex-direction-row-reverse-sp {
    flex-direction: row-reverse !important;
  }
  .u-flex-flow-wrap-sp,
  .u-flex-wrap-wrap-sp {
    flex-wrap: wrap !important;
  }
  .u-flex-flow-nowrap-sp,
  .u-flex-wrap-nowrap-sp {
    flex-wrap: nowrap !important;
  }
}

.u-flex-shrink-0 {
  flex-shrink: 0 !important;
}

.u-flex-basis-auto {
  flex-basis: auto !important;
}

.u-justify-content-start {
  justify-content: flex-start !important;
}

.u-justify-content-center {
  justify-content: center !important;
}

.u-justify-content-end {
  justify-content: flex-end !important;
}

.u-justify-content-between {
  justify-content: space-between !important;
}

.u-align-items-start {
  align-items: flex-start !important;
}

.u-align-items-center {
  align-items: center !important;
}

.u-align-items-end {
  align-items: flex-end !important;
}

.u-align-items-stretch {
  align-items: stretch !important;
}

.u-align-content-start {
  align-content: flex-start !important;
}

.u-align-content-center {
  align-content: center !important;
}

.u-align-content-end {
  align-content: flex-end !important;
}

.u-align-content-between {
  align-content: space-between !important;
}

.u-align-content-stretch {
  align-content: stretch !important;
}

.u-align-self-start {
  align-self: flex-start;
}

.u-align-self-center {
  align-self: center;
}

.u-align-self-end {
  align-self: flex-end;
}

.u-align-self-stretch {
  align-self: stretch;
}

/* オーバーフロー
-----------------------*/
.u-overflow-hidden {
  overflow: hidden !important;
}

.u-overflow-scroll {
  overflow: scroll !important;
}

.u-overflow-x-scroll {
  overflow-x: scroll !important;
}

.u-overflow-y-scroll {
  overflow-y: scroll !important;
}

/* ポジション
-----------------------*/
.u-pos-relative {
  position: relative !important;
}

.u-pos-absolute {
  position: absolute !important;
}

.u-z-index-9999 {
  z-index: 9999 !important;
}

.u-top-0 {
  top: 0 !important;
}

.u-bottom-0 {
  bottom: 0 !important;
}

.u-left-0 {
  left: 0 !important;
}

.u-right-0 {
  right: 0 !important;
}

/* マージン
-----------------------*/
@media (min-width: 0px) {
  .u-mt-0 {
    margin-top: 0px !important;
  }
  .u-mt-5 {
    margin-top: 5px !important;
  }
  .u-mt-10 {
    margin-top: 10px !important;
  }
  .u-mt-15 {
    margin-top: 15px !important;
  }
  .u-mt-20 {
    margin-top: 20px !important;
  }
  .u-mt-25 {
    margin-top: 25px !important;
  }
  .u-mt-30 {
    margin-top: 30px !important;
  }
  .u-mt-40 {
    margin-top: 40px !important;
  }
  .u-mt-50 {
    margin-top: 50px !important;
  }
  .u-mt-60 {
    margin-top: 60px !important;
  }
  .u-mt-70 {
    margin-top: 70px !important;
  }
  .u-mt-80 {
    margin-top: 80px !important;
  }
  .u-mt-90 {
    margin-top: 90px !important;
  }
  .u-mt-100 {
    margin-top: 100px !important;
  }
  .u-mt-auto {
    margin-top: auto !important;
  }
}

@media (min-width: 768px) {
  .u-mt-0-pc {
    margin-top: 0px !important;
  }
  .u-mt-5-pc {
    margin-top: 5px !important;
  }
  .u-mt-10-pc {
    margin-top: 10px !important;
  }
  .u-mt-15-pc {
    margin-top: 15px !important;
  }
  .u-mt-20-pc {
    margin-top: 20px !important;
  }
  .u-mt-25-pc {
    margin-top: 25px !important;
  }
  .u-mt-30-pc {
    margin-top: 30px !important;
  }
  .u-mt-40-pc {
    margin-top: 40px !important;
  }
  .u-mt-50-pc {
    margin-top: 50px !important;
  }
  .u-mt-60-pc {
    margin-top: 60px !important;
  }
  .u-mt-70-pc {
    margin-top: 70px !important;
  }
  .u-mt-80-pc {
    margin-top: 80px !important;
  }
  .u-mt-90-pc {
    margin-top: 90px !important;
  }
  .u-mt-100-pc {
    margin-top: 100px !important;
  }
  .u-mt-auto-pc {
    margin-top: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mt-0-tab {
    margin-top: 0px !important;
  }
  .u-mt-5-tab {
    margin-top: 5px !important;
  }
  .u-mt-10-tab {
    margin-top: 10px !important;
  }
  .u-mt-15-tab {
    margin-top: 15px !important;
  }
  .u-mt-20-tab {
    margin-top: 20px !important;
  }
  .u-mt-25-tab {
    margin-top: 25px !important;
  }
  .u-mt-30-tab {
    margin-top: 30px !important;
  }
  .u-mt-40-tab {
    margin-top: 40px !important;
  }
  .u-mt-50-tab {
    margin-top: 50px !important;
  }
  .u-mt-60-tab {
    margin-top: 60px !important;
  }
  .u-mt-70-tab {
    margin-top: 70px !important;
  }
  .u-mt-80-tab {
    margin-top: 80px !important;
  }
  .u-mt-90-tab {
    margin-top: 90px !important;
  }
  .u-mt-100-tab {
    margin-top: 100px !important;
  }
  .u-mt-auto-tab {
    margin-top: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-0-sp {
    margin-top: 0px !important;
  }
  .u-mt-5-sp {
    margin-top: 5px !important;
  }
  .u-mt-10-sp {
    margin-top: 10px !important;
  }
  .u-mt-15-sp {
    margin-top: 15px !important;
  }
  .u-mt-20-sp {
    margin-top: 20px !important;
  }
  .u-mt-25-sp {
    margin-top: 25px !important;
  }
  .u-mt-30-sp {
    margin-top: 30px !important;
  }
  .u-mt-40-sp {
    margin-top: 40px !important;
  }
  .u-mt-50-sp {
    margin-top: 50px !important;
  }
  .u-mt-60-sp {
    margin-top: 60px !important;
  }
  .u-mt-70-sp {
    margin-top: 70px !important;
  }
  .u-mt-80-sp {
    margin-top: 80px !important;
  }
  .u-mt-90-sp {
    margin-top: 90px !important;
  }
  .u-mt-100-sp {
    margin-top: 100px !important;
  }
  .u-mt-auto-sp {
    margin-top: auto !important;
  }
}

@media (min-width: 0px) {
  .u-mb-0 {
    margin-bottom: 0px !important;
  }
  .u-mb-5 {
    margin-bottom: 5px !important;
  }
  .u-mb-10 {
    margin-bottom: 10px !important;
  }
  .u-mb-15 {
    margin-bottom: 15px !important;
  }
  .u-mb-20 {
    margin-bottom: 20px !important;
  }
  .u-mb-25 {
    margin-bottom: 25px !important;
  }
  .u-mb-30 {
    margin-bottom: 30px !important;
  }
  .u-mb-40 {
    margin-bottom: 40px !important;
  }
  .u-mb-50 {
    margin-bottom: 50px !important;
  }
  .u-mb-60 {
    margin-bottom: 60px !important;
  }
  .u-mb-70 {
    margin-bottom: 70px !important;
  }
  .u-mb-80 {
    margin-bottom: 80px !important;
  }
  .u-mb-90 {
    margin-bottom: 90px !important;
  }
  .u-mb-100 {
    margin-bottom: 100px !important;
  }
  .u-mb-auto {
    margin-bottom: auto !important;
  }
}

@media (min-width: 768px) {
  .u-mb-0-pc {
    margin-bottom: 0px !important;
  }
  .u-mb-5-pc {
    margin-bottom: 5px !important;
  }
  .u-mb-10-pc {
    margin-bottom: 10px !important;
  }
  .u-mb-15-pc {
    margin-bottom: 15px !important;
  }
  .u-mb-20-pc {
    margin-bottom: 20px !important;
  }
  .u-mb-25-pc {
    margin-bottom: 25px !important;
  }
  .u-mb-30-pc {
    margin-bottom: 30px !important;
  }
  .u-mb-40-pc {
    margin-bottom: 40px !important;
  }
  .u-mb-50-pc {
    margin-bottom: 50px !important;
  }
  .u-mb-60-pc {
    margin-bottom: 60px !important;
  }
  .u-mb-70-pc {
    margin-bottom: 70px !important;
  }
  .u-mb-80-pc {
    margin-bottom: 80px !important;
  }
  .u-mb-90-pc {
    margin-bottom: 90px !important;
  }
  .u-mb-100-pc {
    margin-bottom: 100px !important;
  }
  .u-mb-auto-pc {
    margin-bottom: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mb-0-tab {
    margin-bottom: 0px !important;
  }
  .u-mb-5-tab {
    margin-bottom: 5px !important;
  }
  .u-mb-10-tab {
    margin-bottom: 10px !important;
  }
  .u-mb-15-tab {
    margin-bottom: 15px !important;
  }
  .u-mb-20-tab {
    margin-bottom: 20px !important;
  }
  .u-mb-25-tab {
    margin-bottom: 25px !important;
  }
  .u-mb-30-tab {
    margin-bottom: 30px !important;
  }
  .u-mb-40-tab {
    margin-bottom: 40px !important;
  }
  .u-mb-50-tab {
    margin-bottom: 50px !important;
  }
  .u-mb-60-tab {
    margin-bottom: 60px !important;
  }
  .u-mb-70-tab {
    margin-bottom: 70px !important;
  }
  .u-mb-80-tab {
    margin-bottom: 80px !important;
  }
  .u-mb-90-tab {
    margin-bottom: 90px !important;
  }
  .u-mb-100-tab {
    margin-bottom: 100px !important;
  }
  .u-mb-auto-tab {
    margin-bottom: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb-0-sp {
    margin-bottom: 0px !important;
  }
  .u-mb-5-sp {
    margin-bottom: 5px !important;
  }
  .u-mb-10-sp {
    margin-bottom: 10px !important;
  }
  .u-mb-15-sp {
    margin-bottom: 15px !important;
  }
  .u-mb-20-sp {
    margin-bottom: 20px !important;
  }
  .u-mb-25-sp {
    margin-bottom: 25px !important;
  }
  .u-mb-30-sp {
    margin-bottom: 30px !important;
  }
  .u-mb-40-sp {
    margin-bottom: 40px !important;
  }
  .u-mb-50-sp {
    margin-bottom: 50px !important;
  }
  .u-mb-60-sp {
    margin-bottom: 60px !important;
  }
  .u-mb-70-sp {
    margin-bottom: 70px !important;
  }
  .u-mb-80-sp {
    margin-bottom: 80px !important;
  }
  .u-mb-90-sp {
    margin-bottom: 90px !important;
  }
  .u-mb-100-sp {
    margin-bottom: 100px !important;
  }
  .u-mb-auto-sp {
    margin-bottom: auto !important;
  }
}

@media (min-width: 0px) {
  .u-my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-my-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .u-my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .u-my-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .u-my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-my-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .u-my-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .u-my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-my-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .u-my-60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .u-my-70 {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }
  .u-my-80 {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-my-90 {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }
  .u-my-100 {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }
  .u-my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media (min-width: 768px) {
  .u-my-0-pc {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-my-5-pc {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .u-my-10-pc {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .u-my-15-pc {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .u-my-20-pc {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-my-25-pc {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .u-my-30-pc {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .u-my-40-pc {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-my-50-pc {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .u-my-60-pc {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .u-my-70-pc {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }
  .u-my-80-pc {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-my-90-pc {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }
  .u-my-100-pc {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }
  .u-my-auto-pc {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-my-0-tab {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-my-5-tab {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .u-my-10-tab {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .u-my-15-tab {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .u-my-20-tab {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-my-25-tab {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .u-my-30-tab {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .u-my-40-tab {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-my-50-tab {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .u-my-60-tab {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .u-my-70-tab {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }
  .u-my-80-tab {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-my-90-tab {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }
  .u-my-100-tab {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }
  .u-my-auto-tab {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-my-0-sp {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-my-5-sp {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .u-my-10-sp {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .u-my-15-sp {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .u-my-20-sp {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-my-25-sp {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .u-my-30-sp {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .u-my-40-sp {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-my-50-sp {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .u-my-60-sp {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .u-my-70-sp {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }
  .u-my-80-sp {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-my-90-sp {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }
  .u-my-100-sp {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }
  .u-my-auto-sp {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media (min-width: 0px) {
  .u-ml-0 {
    margin-left: 0px !important;
  }
  .u-ml-5 {
    margin-left: 5px !important;
  }
  .u-ml-10 {
    margin-left: 10px !important;
  }
  .u-ml-15 {
    margin-left: 15px !important;
  }
  .u-ml-20 {
    margin-left: 20px !important;
  }
  .u-ml-25 {
    margin-left: 25px !important;
  }
  .u-ml-30 {
    margin-left: 30px !important;
  }
  .u-ml-40 {
    margin-left: 40px !important;
  }
  .u-ml-50 {
    margin-left: 50px !important;
  }
  .u-ml-60 {
    margin-left: 60px !important;
  }
  .u-ml-70 {
    margin-left: 70px !important;
  }
  .u-ml-80 {
    margin-left: 80px !important;
  }
  .u-ml-90 {
    margin-left: 90px !important;
  }
  .u-ml-100 {
    margin-left: 100px !important;
  }
  .u-ml-auto {
    margin-left: auto !important;
  }
  .u-ml-1em {
    margin-left: 1em !important;
  }
  .u-ml-2em {
    margin-left: 2em !important;
  }
}

@media (min-width: 768px) {
  .u-ml-0-pc {
    margin-left: 0px !important;
  }
  .u-ml-5-pc {
    margin-left: 5px !important;
  }
  .u-ml-10-pc {
    margin-left: 10px !important;
  }
  .u-ml-15-pc {
    margin-left: 15px !important;
  }
  .u-ml-20-pc {
    margin-left: 20px !important;
  }
  .u-ml-25-pc {
    margin-left: 25px !important;
  }
  .u-ml-30-pc {
    margin-left: 30px !important;
  }
  .u-ml-40-pc {
    margin-left: 40px !important;
  }
  .u-ml-50-pc {
    margin-left: 50px !important;
  }
  .u-ml-60-pc {
    margin-left: 60px !important;
  }
  .u-ml-70-pc {
    margin-left: 70px !important;
  }
  .u-ml-80-pc {
    margin-left: 80px !important;
  }
  .u-ml-90-pc {
    margin-left: 90px !important;
  }
  .u-ml-100-pc {
    margin-left: 100px !important;
  }
  .u-ml-auto-pc {
    margin-left: auto !important;
  }
  .u-ml-1em-pc {
    margin-left: 1em !important;
  }
  .u-ml-2em-pc {
    margin-left: 2em !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-ml-0-tab {
    margin-left: 0px !important;
  }
  .u-ml-5-tab {
    margin-left: 5px !important;
  }
  .u-ml-10-tab {
    margin-left: 10px !important;
  }
  .u-ml-15-tab {
    margin-left: 15px !important;
  }
  .u-ml-20-tab {
    margin-left: 20px !important;
  }
  .u-ml-25-tab {
    margin-left: 25px !important;
  }
  .u-ml-30-tab {
    margin-left: 30px !important;
  }
  .u-ml-40-tab {
    margin-left: 40px !important;
  }
  .u-ml-50-tab {
    margin-left: 50px !important;
  }
  .u-ml-60-tab {
    margin-left: 60px !important;
  }
  .u-ml-70-tab {
    margin-left: 70px !important;
  }
  .u-ml-80-tab {
    margin-left: 80px !important;
  }
  .u-ml-90-tab {
    margin-left: 90px !important;
  }
  .u-ml-100-tab {
    margin-left: 100px !important;
  }
  .u-ml-auto-tab {
    margin-left: auto !important;
  }
  .u-ml-1em-tab {
    margin-left: 1em !important;
  }
  .u-ml-2em-tab {
    margin-left: 2em !important;
  }
}

@media screen and (max-width: 767px) {
  .u-ml-0-sp {
    margin-left: 0px !important;
  }
  .u-ml-5-sp {
    margin-left: 5px !important;
  }
  .u-ml-10-sp {
    margin-left: 10px !important;
  }
  .u-ml-15-sp {
    margin-left: 15px !important;
  }
  .u-ml-20-sp {
    margin-left: 20px !important;
  }
  .u-ml-25-sp {
    margin-left: 25px !important;
  }
  .u-ml-30-sp {
    margin-left: 30px !important;
  }
  .u-ml-40-sp {
    margin-left: 40px !important;
  }
  .u-ml-50-sp {
    margin-left: 50px !important;
  }
  .u-ml-60-sp {
    margin-left: 60px !important;
  }
  .u-ml-70-sp {
    margin-left: 70px !important;
  }
  .u-ml-80-sp {
    margin-left: 80px !important;
  }
  .u-ml-90-sp {
    margin-left: 90px !important;
  }
  .u-ml-100-sp {
    margin-left: 100px !important;
  }
  .u-ml-auto-sp {
    margin-left: auto !important;
  }
  .u-ml-1em-sp {
    margin-left: 1em !important;
  }
  .u-ml-2em-sp {
    margin-left: 2em !important;
  }
}

@media (min-width: 0px) {
  .u-mr-0 {
    margin-right: 0px !important;
  }
  .u-mr-5 {
    margin-right: 5px !important;
  }
  .u-mr-10 {
    margin-right: 10px !important;
  }
  .u-mr-15 {
    margin-right: 15px !important;
  }
  .u-mr-20 {
    margin-right: 20px !important;
  }
  .u-mr-25 {
    margin-right: 25px !important;
  }
  .u-mr-30 {
    margin-right: 30px !important;
  }
  .u-mr-40 {
    margin-right: 40px !important;
  }
  .u-mr-50 {
    margin-right: 50px !important;
  }
  .u-mr-60 {
    margin-right: 60px !important;
  }
  .u-mr-70 {
    margin-right: 70px !important;
  }
  .u-mr-80 {
    margin-right: 80px !important;
  }
  .u-mr-90 {
    margin-right: 90px !important;
  }
  .u-mr-100 {
    margin-right: 100px !important;
  }
  .u-mr-auto {
    margin-right: auto !important;
  }
  .u-mr-1em {
    margin-right: 1em !important;
  }
  .u-mr-2em {
    margin-right: 2em !important;
  }
}

@media (min-width: 768px) {
  .u-mr-0-pc {
    margin-right: 0px !important;
  }
  .u-mr-5-pc {
    margin-right: 5px !important;
  }
  .u-mr-10-pc {
    margin-right: 10px !important;
  }
  .u-mr-15-pc {
    margin-right: 15px !important;
  }
  .u-mr-20-pc {
    margin-right: 20px !important;
  }
  .u-mr-25-pc {
    margin-right: 25px !important;
  }
  .u-mr-30-pc {
    margin-right: 30px !important;
  }
  .u-mr-40-pc {
    margin-right: 40px !important;
  }
  .u-mr-50-pc {
    margin-right: 50px !important;
  }
  .u-mr-60-pc {
    margin-right: 60px !important;
  }
  .u-mr-70-pc {
    margin-right: 70px !important;
  }
  .u-mr-80-pc {
    margin-right: 80px !important;
  }
  .u-mr-90-pc {
    margin-right: 90px !important;
  }
  .u-mr-100-pc {
    margin-right: 100px !important;
  }
  .u-mr-auto-pc {
    margin-right: auto !important;
  }
  .u-mr-1em-pc {
    margin-right: 1em !important;
  }
  .u-mr-2em-pc {
    margin-right: 2em !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mr-0-tab {
    margin-right: 0px !important;
  }
  .u-mr-5-tab {
    margin-right: 5px !important;
  }
  .u-mr-10-tab {
    margin-right: 10px !important;
  }
  .u-mr-15-tab {
    margin-right: 15px !important;
  }
  .u-mr-20-tab {
    margin-right: 20px !important;
  }
  .u-mr-25-tab {
    margin-right: 25px !important;
  }
  .u-mr-30-tab {
    margin-right: 30px !important;
  }
  .u-mr-40-tab {
    margin-right: 40px !important;
  }
  .u-mr-50-tab {
    margin-right: 50px !important;
  }
  .u-mr-60-tab {
    margin-right: 60px !important;
  }
  .u-mr-70-tab {
    margin-right: 70px !important;
  }
  .u-mr-80-tab {
    margin-right: 80px !important;
  }
  .u-mr-90-tab {
    margin-right: 90px !important;
  }
  .u-mr-100-tab {
    margin-right: 100px !important;
  }
  .u-mr-auto-tab {
    margin-right: auto !important;
  }
  .u-mr-1em-tab {
    margin-right: 1em !important;
  }
  .u-mr-2em-tab {
    margin-right: 2em !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr-0-sp {
    margin-right: 0px !important;
  }
  .u-mr-5-sp {
    margin-right: 5px !important;
  }
  .u-mr-10-sp {
    margin-right: 10px !important;
  }
  .u-mr-15-sp {
    margin-right: 15px !important;
  }
  .u-mr-20-sp {
    margin-right: 20px !important;
  }
  .u-mr-25-sp {
    margin-right: 25px !important;
  }
  .u-mr-30-sp {
    margin-right: 30px !important;
  }
  .u-mr-40-sp {
    margin-right: 40px !important;
  }
  .u-mr-50-sp {
    margin-right: 50px !important;
  }
  .u-mr-60-sp {
    margin-right: 60px !important;
  }
  .u-mr-70-sp {
    margin-right: 70px !important;
  }
  .u-mr-80-sp {
    margin-right: 80px !important;
  }
  .u-mr-90-sp {
    margin-right: 90px !important;
  }
  .u-mr-100-sp {
    margin-right: 100px !important;
  }
  .u-mr-auto-sp {
    margin-right: auto !important;
  }
  .u-mr-1em-sp {
    margin-right: 1em !important;
  }
  .u-mr-2em-sp {
    margin-right: 2em !important;
  }
}

@media (min-width: 0px) {
  .u-mx-0 {
    margin-right: 0px !important;
    margin-left: 0px !important;
  }
  .u-mx-2 {
    margin-right: 2px !important;
    margin-left: 2px !important;
  }
  .u-mx-5 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .u-mx-10 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .u-mx-15 {
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
  .u-mx-20 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .u-mx-25 {
    margin-right: 25px !important;
    margin-left: 25px !important;
  }
  .u-mx-30 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .u-mx-40 {
    margin-right: 40px !important;
    margin-left: 40px !important;
  }
  .u-mx-50 {
    margin-right: 50px !important;
    margin-left: 50px !important;
  }
  .u-mx-60 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .u-mx-70 {
    margin-right: 70px !important;
    margin-left: 70px !important;
  }
  .u-mx-80 {
    margin-right: 80px !important;
    margin-left: 80px !important;
  }
  .u-mx-90 {
    margin-right: 90px !important;
    margin-left: 90px !important;
  }
  .u-mx-100 {
    margin-right: 100px !important;
    margin-left: 100px !important;
  }
  .u-mx-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .u-mx-0-pc {
    margin-right: 0px !important;
    margin-left: 0px !important;
  }
  .u-mx-2-pc {
    margin-right: 2px !important;
    margin-left: 2px !important;
  }
  .u-mx-5-pc {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .u-mx-10-pc {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .u-mx-15-pc {
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
  .u-mx-20-pc {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .u-mx-25-pc {
    margin-right: 25px !important;
    margin-left: 25px !important;
  }
  .u-mx-30-pc {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .u-mx-40-pc {
    margin-right: 40px !important;
    margin-left: 40px !important;
  }
  .u-mx-50-pc {
    margin-right: 50px !important;
    margin-left: 50px !important;
  }
  .u-mx-60-pc {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .u-mx-70-pc {
    margin-right: 70px !important;
    margin-left: 70px !important;
  }
  .u-mx-80-pc {
    margin-right: 80px !important;
    margin-left: 80px !important;
  }
  .u-mx-90-pc {
    margin-right: 90px !important;
    margin-left: 90px !important;
  }
  .u-mx-100-pc {
    margin-right: 100px !important;
    margin-left: 100px !important;
  }
  .u-mx-auto-pc {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-mx-0-tab {
    margin-right: 0px !important;
    margin-left: 0px !important;
  }
  .u-mx-2-tab {
    margin-right: 2px !important;
    margin-left: 2px !important;
  }
  .u-mx-5-tab {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .u-mx-10-tab {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .u-mx-15-tab {
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
  .u-mx-20-tab {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .u-mx-25-tab {
    margin-right: 25px !important;
    margin-left: 25px !important;
  }
  .u-mx-30-tab {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .u-mx-40-tab {
    margin-right: 40px !important;
    margin-left: 40px !important;
  }
  .u-mx-50-tab {
    margin-right: 50px !important;
    margin-left: 50px !important;
  }
  .u-mx-60-tab {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .u-mx-70-tab {
    margin-right: 70px !important;
    margin-left: 70px !important;
  }
  .u-mx-80-tab {
    margin-right: 80px !important;
    margin-left: 80px !important;
  }
  .u-mx-90-tab {
    margin-right: 90px !important;
    margin-left: 90px !important;
  }
  .u-mx-100-tab {
    margin-right: 100px !important;
    margin-left: 100px !important;
  }
  .u-mx-auto-tab {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mx-0-sp {
    margin-right: 0px !important;
    margin-left: 0px !important;
  }
  .u-mx-2-sp {
    margin-right: 2px !important;
    margin-left: 2px !important;
  }
  .u-mx-5-sp {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .u-mx-10-sp {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .u-mx-15-sp {
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
  .u-mx-20-sp {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .u-mx-25-sp {
    margin-right: 25px !important;
    margin-left: 25px !important;
  }
  .u-mx-30-sp {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .u-mx-40-sp {
    margin-right: 40px !important;
    margin-left: 40px !important;
  }
  .u-mx-50-sp {
    margin-right: 50px !important;
    margin-left: 50px !important;
  }
  .u-mx-60-sp {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .u-mx-70-sp {
    margin-right: 70px !important;
    margin-left: 70px !important;
  }
  .u-mx-80-sp {
    margin-right: 80px !important;
    margin-left: 80px !important;
  }
  .u-mx-90-sp {
    margin-right: 90px !important;
    margin-left: 90px !important;
  }
  .u-mx-100-sp {
    margin-right: 100px !important;
    margin-left: 100px !important;
  }
  .u-mx-auto-sp {
    margin-right: auto !important;
    margin-left: 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-right: 0px !important;
    padding-left: 0px !important;
  }
  .u-px-5 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .u-px-10 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .u-px-15 {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  .u-px-20 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .u-px-25 {
    padding-right: 25px !important;
    padding-left: 25px !important;
  }
  .u-px-30 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .u-px-40 {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }
  .u-px-50 {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
  .u-px-60 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .u-px-70 {
    padding-right: 70px !important;
    padding-left: 70px !important;
  }
  .u-px-80 {
    padding-right: 80px !important;
    padding-left: 80px !important;
  }
  .u-px-90 {
    padding-right: 90px !important;
    padding-left: 90px !important;
  }
  .u-px-100 {
    padding-right: 100px !important;
    padding-left: 100px !important;
  }
}

@media (min-width: 768px) {
  .u-px-0-pc {
    padding-right: 0px !important;
    padding-left: 0px !important;
  }
  .u-px-5-pc {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .u-px-10-pc {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .u-px-15-pc {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  .u-px-20-pc {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .u-px-25-pc {
    padding-right: 25px !important;
    padding-left: 25px !important;
  }
  .u-px-30-pc {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .u-px-40-pc {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }
  .u-px-50-pc {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
  .u-px-60-pc {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .u-px-70-pc {
    padding-right: 70px !important;
    padding-left: 70px !important;
  }
  .u-px-80-pc {
    padding-right: 80px !important;
    padding-left: 80px !important;
  }
  .u-px-90-pc {
    padding-right: 90px !important;
    padding-left: 90px !important;
  }
  .u-px-100-pc {
    padding-right: 100px !important;
    padding-left: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .u-px-0-tab {
    padding-right: 0px !important;
    padding-left: 0px !important;
  }
  .u-px-5-tab {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .u-px-10-tab {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .u-px-15-tab {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  .u-px-20-tab {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .u-px-25-tab {
    padding-right: 25px !important;
    padding-left: 25px !important;
  }
  .u-px-30-tab {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .u-px-40-tab {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }
  .u-px-50-tab {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
  .u-px-60-tab {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .u-px-70-tab {
    padding-right: 70px !important;
    padding-left: 70px !important;
  }
  .u-px-80-tab {
    padding-right: 80px !important;
    padding-left: 80px !important;
  }
  .u-px-90-tab {
    padding-right: 90px !important;
    padding-left: 90px !important;
  }
  .u-px-100-tab {
    padding-right: 100px !important;
    padding-left: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-px-0-sp {
    padding-right: 0px !important;
    padding-left: 0px !important;
  }
  .u-px-5-sp {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .u-px-10-sp {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .u-px-15-sp {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  .u-px-20-sp {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .u-px-25-sp {
    padding-right: 25px !important;
    padding-left: 25px !important;
  }
  .u-px-30-sp {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .u-px-40-sp {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }
  .u-px-50-sp {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
  .u-px-60-sp {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .u-px-70-sp {
    padding-right: 70px !important;
    padding-left: 70px !important;
  }
  .u-px-80-sp {
    padding-right: 80px !important;
    padding-left: 80px !important;
  }
  .u-px-90-sp {
    padding-right: 90px !important;
    padding-left: 90px !important;
  }
  .u-px-100-sp {
    padding-right: 100px !important;
    padding-left: 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;
  }
}

/* YouTube */
.youtube-responsive {
  position: relative;
  margin: 0 auto;
  max-width: 720px;
}

.youtube-responsive::before {
  display: block;
  padding-top: 56.25%;
  content: "";
}

.youtube-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* slick
==================================*/
.slick-slider {
  opacity: 0;
}

.slick-slider.slick-initialized {
  opacity: 1;
}

/* ----- arrow ----- */
.slick-next.slick-arrow {
  right: 4.5rem;
}

.slick-prev.slick-arrow {
  left: 4.5rem;
}

.slick-arrow:before {
  content: none;
}

.slick-arrow .nttd {
  color: #fff;
  font-size: 5.5rem;
}

.c-page-header {
  padding: 52px 4.8%;
}

@media (min-width: 768px) {
  .c-page-header {
    padding: 52px 48px;
  }
}

.c-page-header__breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 1.2rem;
}

.c-page-header__breadcrumb li + li::before {
  display: inline-block;
  margin-right: 8px;
  margin-left: 8px;
  content: "/";
}

.c-page-header__breadcrumb a {
  color: inherit;
}

.c-page-header__title {
  font-size: 3rem;
  line-height: 1.2;
}

.c-page-header__breadcrumb + .c-page-header__title {
  margin-top: 16px;
}

@media (min-width: 768px) {
  .c-page-header__title {
    font-size: 4.7rem;
  }
}

.c-page-header__subtitle {
  font-size: 1.4rem;
}

.c-page-header__title + .c-page-header__subtitle {
  margin-top: 8px;
}

.c-page-header__tags {
  margin-top: 64px;
}

.c-page-header .c-stroke-button {
  margin-top: 32px;
  width: 180px;
  height: 48px;
}

@media (min-width: 768px) {
  .c-page-header .c-stroke-button {
    width: 236px;
    height: 60px;
  }
}

.c-page-header .c-link-share {
  margin-top: 16px;
  margin-left: calc(100% - 72px);
  max-width: 72px;
}

.c-page-turner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-page-turner__box {
  flex: 1;
  font-size: 1.6rem;
}

.c-page-turner__box a {
  color: inherit;
}

.c-page-turner__box--prev::before {
  display: inline-block;
  margin-right: 10px;
  content: "←";
}

.c-page-turner__box--center {
  flex: 0.5;
  text-align: center;
}

.c-page-turner__box--next {
  text-align: right;
}

.c-page-turner__box--next::after {
  display: inline-block;
  margin-left: 10px;
  content: "→";
}

.c-toppage-heading--17 + .c-screen-image-tile {
  margin-top: 28px;
}

.c-screen-image-tile + .c-screen-image-tile {
  margin-top: 56px;
}

@media (max-width: 767px) {
  .c-screen-image-tile .c-toppage-heading {
    position: relative;
  }
}

@media (min-width: 768px) {
  .c-screen-image-tile + .c-screen-image-tile {
    margin-top: 80px;
  }
  .c-toppage-heading--17 + .c-screen-image-tile {
    margin-top: 40px;
  }
}

.c-toppage-heading--30 + .c-screen-image-tile__items {
  margin-top: 28px;
}

@media (min-width: 768px) {
  .c-toppage-heading--30 + .c-screen-image-tile__items {
    margin-top: 56px;
  }
}

.c-screen-image-tile__item {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.c-screen-image-tile__item::before {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 2;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  background-color: rgba(88, 118, 170, 0.9);
  width: 100%;
  height: 100%;
  content: "";
}

@media (max-width: 767px) {
  .c-screen-image-tile__item + .c-screen-image-tile__item {
    margin-top: 32px;
  }
}

@media (min-width: 768px) {
  .c-screen-image-tile__item:hover::before {
    opacity: 1;
  }
  .c-screen-image-tile__item:hover .c-screen-image-tile__info {
    height: 100%;
  }
  .c-screen-image-tile__item:hover .c-screen-image-tile__text,
  .c-screen-image-tile__item:hover .c-screen-image-tile__link {
    transform: translateY(0);
    opacity: 1;
    height: auto;
  }
  .c-screen-image-tile__item:hover .c-screen-image-tile__text {
    margin-top: 5.7%;
  }
  .c-screen-image-tile__item:hover .c-screen-image-tile__link {
    margin-top: 9.5%;
  }
}

.c-screen-image-tile__img {
  position: relative;
  z-index: 1;
}

.c-screen-image-tile__img img {
  width: 100%;
}

.c-screen-image-tile__info {
  display: flex;
  position: absolute;
  bottom: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  z-index: 3;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: height;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  padding: 6.7%;
  width: 100%;
  height: 58.6%;
  color: #fff;
}

.c-screen-image-tile__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
  font-size: 2.2rem;
  line-height: 1.4;
  word-break: break-all;
}

.browser-ie .c-screen-image-tile__title {
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset;
  display: block;
  width: 100%;
  word-break: unset;
}

.c-screen-image-tile__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  opacity: 0;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: opacity, transform, margin-top;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  height: 0;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 1.78;
  word-break: break-all;
}

.browser-ie .c-screen-image-tile__text {
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset;
  display: block;
  width: 100%;
  word-break: unset;
}

.c-screen-image-tile__link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: opacity, transform, margin-top;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  height: 0;
  font-size: 1.4rem;
}

.c-screen-image-tile__link::before {
  position: relative;
  margin-right: 5px;
  font-family: "FontAwesome";
  font-size: 2rem;
  line-height: 0;
  content: "\f105";
}

.c-screen-image-tile__link a {
  display: block;
}

.c-screen-image-tile__link a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
}

.c-sitemap__section + .c-sitemap__section {
  margin-top: 48px;
}

.c-sitemap__section a {
  color: #333;
}

@media (min-width: 768px) {
  .c-sitemap__section {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
  }
}

.c-sitemap__title {
  padding-right: 40px;
  font-size: 1.6rem;
  font-weight: bold;
}

@media (min-width: 768px) {
  .c-sitemap__title {
    width: 24%;
  }
}

.c-sitemap__info {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .c-sitemap__info {
    flex: 1;
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  .c-sitemap__items {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}

.c-sitemap__item {
  font-size: 1.6rem;
  line-height: 1.75;
}

@media (max-width: 767px) {
  .c-sitemap__item + .c-sitemap__item {
    margin-top: 8px;
  }
}

@media (min-width: 768px) {
  .c-sitemap__item {
    margin-right: 60px;
    width: calc(33.33333% - 40px);
  }
  .c-sitemap__item:nth-child(3n + 3) {
    margin-right: 0;
  }
  .c-sitemap__item:nth-child(n + 4) {
    margin-top: 8px;
  }
}

.c-slide-counter {
  color: #fff;
  font-size: 1.9rem;
}

@media (min-width: 768px) {
  .c-slide-counter {
    font-size: 2.6rem;
  }
}

.c-stroke-button {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: background-color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  border: 2px solid #000;
}

.c-stroke-button--black {
  border-color: #333;
}

.c-stroke-button--black .c-stroke-button__arrow {
  border-color: #333;
}

.c-stroke-button--black .c-stroke-button__text {
  color: #333;
}

@media (min-width: 768px) {
  .c-stroke-button--black:hover {
    background-color: rgba(51, 51, 51, 0.3);
  }
}

.c-stroke-button--white {
  border-color: #fff;
}

.c-stroke-button--white .c-stroke-button__arrow {
  border-color: #fff;
}

.c-stroke-button--white .c-stroke-button__text {
  color: #fff;
}

@media (min-width: 768px) {
  .c-stroke-button--white:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}

.c-stroke-button__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.c-stroke-button__arrow::before {
  display: block;
  position: relative;
  font-family: "FontAwesome";
  font-size: 2rem;
  line-height: 0;
  content: "\f105";
}

.c-stroke-button__text + .c-stroke-button__arrow {
  margin-left: 10px;
}

.c-stroke-button__text {
  font-size: 1.4rem;
}

.c-stroke-button__arrow + .c-stroke-button__text {
  margin-left: 5px;
}

.c-stroke-button__text::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
  content: "";
}

.c-stroke-button__text:hover {
  text-decoration: none;
}

.c-supplement__heading1 {
  font-size: 2rem;
  font-weight: bold;
}

.c-supplement__heading2 {
  font-size: 1.6rem;
  font-weight: bold;
}

.c-supplement__text + .c-supplement__heading2 {
  margin-top: 64px;
}

.c-supplement__text {
  font-size: 1.6rem;
}

.c-supplement__heading1 + .c-supplement__text,
.c-supplement__heading2 + .c-supplement__text {
  margin-top: 20px;
}

.c-supplement__text + .c-supplement__text {
  margin-top: 40px;
}

.c-svg, .c-svg-icon, .c-svg-icon--arrow, .c-svg-icon--blank, .c-svg-icon--output, .c-svg-icon--search, .c-svg-brand, .c-svg-brand--facebook, .c-svg-brand--twitter, .c-svg-brand--line, .c-svg-logo, .c-svg-logo--nttdata, .c-svg-logo--nttdata-jp, .c-svg-logo--nttdata-tagline {
  fill: #000;
  display: block;
  position: relative;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: fill;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-svg::before, .c-svg-icon::before, .c-svg-icon--arrow::before, .c-svg-icon--blank::before, .c-svg-icon--output::before, .c-svg-icon--search::before, .c-svg-brand::before, .c-svg-brand--facebook::before, .c-svg-brand--twitter::before, .c-svg-brand--line::before, .c-svg-logo::before, .c-svg-logo--nttdata::before, .c-svg-logo--nttdata-jp::before, .c-svg-logo--nttdata-tagline::before {
  display: block;
  content: "";
}

.c-svg svg, .c-svg-icon svg, .c-svg-icon--arrow svg, .c-svg-icon--blank svg, .c-svg-icon--output svg, .c-svg-icon--search svg, .c-svg-brand svg, .c-svg-brand--facebook svg, .c-svg-brand--twitter svg, .c-svg-brand--line svg, .c-svg-logo svg, .c-svg-logo--nttdata svg, .c-svg-logo--nttdata-jp svg, .c-svg-logo--nttdata-tagline svg,
.c-svg img,
.c-svg-icon img,
.c-svg-icon--arrow img,
.c-svg-icon--blank img,
.c-svg-icon--output img,
.c-svg-icon--search img,
.c-svg-brand img,
.c-svg-brand--facebook img,
.c-svg-brand--twitter img,
.c-svg-brand--line img,
.c-svg-logo img,
.c-svg-logo--nttdata img,
.c-svg-logo--nttdata-jp img,
.c-svg-logo--nttdata-tagline img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  width: 100%;
  height: 100%;
  height: 100%;
}

.c-svg--white {
  fill: #fff;
}

.c-svg-icon--arrow::before {
  padding-top: 28.07018%;
  width: 100%;
}

.c-svg-icon--blank::before {
  padding-top: 86.48649%;
  width: 100%;
}

.c-svg-icon--output::before {
  padding-top: 94.11765%;
  width: 100%;
}

.c-svg-icon--search::before {
  padding-top: 100%;
  width: 100%;
}

.c-svg-brand--facebook::before, .c-svg-brand--twitter::before, .c-svg-brand--line::before {
  padding-top: 100%;
  width: 100%;
}

.c-svg-logo--nttdata {
  fill: #5876aa;
}

.c-svg-logo--nttdata::before {
  padding-top: 14.54545%;
  width: 100%;
}

.c-svg-logo--nttdata-jp {
  fill: #333333;
}

.c-svg-logo--nttdata-jp::before {
  padding-top: 5.40541%;
  width: 100%;
}

.c-svg-logo--nttdata-tagline::before {
  padding-top: 24.61538%;
  width: 100%;
}

.c-toppage-heading--30 {
  font-size: 2.4rem;
}

.c-toppage-heading--17 + .c-toppage-heading--30 {
  margin-top: 28px;
}

@media (min-width: 768px) {
  .c-toppage-heading--30 {
    font-size: 3rem;
  }
  .c-toppage-heading--17 + .c-toppage-heading--30 {
    margin-top: 40px;
  }
}

.c-toppage-heading--24 {
  font-size: 2.1rem;
  font-weight: 700;
}

@media (min-width: 768px) {
  .c-toppage-heading--24 {
    font-size: 2.4rem;
  }
}

.c-toppage-heading--17 {
  font-size: 1.6rem;
  font-weight: 700;
}

@media (min-width: 768px) {
  .c-toppage-heading--17 {
    font-size: 1.7rem;
  }
}

.p-block {
  padding: 40px 4.8%;
}

.p-block.u-pt--72 {
  padding-top: 56px;
}

.p-block.u-pb--72 {
  padding-bottom: 56px;
}

@media (min-width: 768px) {
  .p-block {
    padding: 40px 48px;
  }
  .p-block.u-pt--72 {
    padding-top: 72px;
  }
  .p-block.u-pb--72 {
    padding-bottom: 72px;
  }
}

.p-block__heading + .p-block__container {
  margin-top: 20px;
}

.p-mv-slider {
  position: relative;
}

.p-mv-slider .slick-arrow {
  top: 35%;
  z-index: 100;
  width: 30px;
}

.p-mv-slider .slick-arrow::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  transition-delay: 0s;
  transition-duration: 0.4s;
  transition-property: border-color;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 14px;
  height: 14px;
  content: "";
}

.p-mv-slider .slick-arrow::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #fff;
  width: 100%;
  height: 1px;
  content: "";
}

@media (min-width: 768px) {
  .p-mv-slider .slick-arrow {
    top: 50%;
  }
}

@media (max-width: 767px) {
  .p-mv-slider .slick-prev {
    left: 4.8%;
  }
}

.p-mv-slider .slick-prev::before {
  left: 2px;
  transform: rotate(-135deg);
}

@media (max-width: 767px) {
  .p-mv-slider .slick-next {
    right: 4.8%;
  }
}

.p-mv-slider .slick-next::before {
  right: 2px;
  transform: rotate(45deg);
}

.p-mv-slider__items::before {
  display: block;
  background-color: #ccc;
  padding-top: 37.5%;
  width: 100%;
  content: "";
}

.p-mv-slider__items.slick-initialized::before {
  display: none;
}

.p-mv-slider__items.slick-initialized .p-mv-slider__img {
  display: block;
}

.p-mv-slider__items.slick-initialized .c-page-header {
  opacity: 1;
}

.p-mv-slider__item {
  position: relative;
}

.p-mv-slider__img {
  display: none;
}

.p-mv-slider__img img {
  width: 100%;
  min-height: 450px;
  object-fit: cover;
}

.p-mv-slider .c-page-header {
  position: absolute;
  bottom: 48px;
  left: 0;
  opacity: 0;
  z-index: 100;
  padding: 0 4.8%;
  color: #fff;
}

.p-mv-slider .c-page-header__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
  word-break: break-all;
}

@media (min-width: 768px) {
  .p-mv-slider .c-page-header {
    padding: 0 48px;
  }
  .p-mv-slider .c-page-header__title {
    -webkit-line-clamp: 1;
  }
}

.p-mv-slider .c-slide-counter {
  position: absolute;
  right: 48px;
  bottom: 48px;
  z-index: 100;
}

.p-tiles {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .p-tiles--col3 .c-news-card,
  .p-tiles--col3 .c-entry {
    margin-right: 28px;
    width: calc(33.33333% - 18.66667px);
  }
  .p-tiles--col3 .c-news-card:nth-child(3n + 3),
  .p-tiles--col3 .c-entry:nth-child(3n + 3) {
    margin-right: 0;
  }
  .p-tiles--col3 .c-news-card:nth-child(n+4),
  .p-tiles--col3 .c-entry:nth-child(n+4) {
    margin-top: 28px;
  }
}

.u-bgc--light-gray {
  background-color: #f3f3f3;
  color: #333;
}

.u-bgc--smart-blue {
  background-color: #0079A1;
  color: #fff;
}

.u-bgc--smart-blue a {
  color: #fff;
}

.u-bgc--leaf-green {
  background-color: #83B254;
}

.u-bgc--human-blue {
  background-color: #5876aa;
  color: #fff;
}

.u-bgc--smart-blue {
  background-color: #0079a1;
  color: #fff;
}

.u-bgc--thin-blue {
  background-color: #c2cee6;
}

.u-bgc--thinner-blue {
  background-color: #e1e7f3;
}

.u-bgc--blue {
  background-color: #048ac5;
}

.u-bgc--smart-navy {
  background-color: #000b28;
  color: #fff;
}

.u-bgc--dynamic-red {
  background-color: #d0372a;
  color: #fff;
}

.u-bgc--delightful-yellow {
  background-color: #eba73e;
  color: #fff;
}

.u-bgc--light-grey {
  background-color: #f3f3f3;
  color: #333;
}

.u-bgc--white {
  background-color: #fff;
  color: #333;
}

.u-bgc--off-white {
  background-color: #eaeaea;
  color: #333;
}

.u-bgc--black {
  background-color: #181818;
  color: #fff;
}

.u-bgc--dark {
  background-color: #1d1d1f;
  color: #fff;
}

.u-bgc--dark-grey {
  background-color: #222;
  color: #fff;
}

/* 文字色
-----------------------*/
.u-c--inherit {
  color: inherit !important;
}

.u-c--inherit.c-block-content-header a, .u-c--inherit.c-block-content-header a:hover {
  color: inherit !important;
}

.u-c--normal {
  color: #333 !important;
}

.u-c--normal.c-block-content-header a, .u-c--normal.c-block-content-header a:hover {
  color: #333 !important;
}

.u-c--grey {
  color: #888 !important;
}

.u-c--human-blue {
  color: #5876aa !important;
}

.u-c--smart-blue {
  color: #0079a1 !important;
}

.u-c--thin-blue {
  color: #c2cee6 !important;
}

.u-c--thinner-blue {
  color: #e1e7f3 !important;
}

.u-c--blue {
  color: #048ac5 !important;
}

.u-c--smart-navy {
  color: #000b28 !important;
}

.u-c--dynamic-red {
  color: #d0372a !important;
}

.u-c--delightful-yellow {
  color: #eba73e !important;
}

.u-c--light-grey {
  color: #f3f3f3 !important;
}

.u-c--medium-grey {
  color: #0079a1 !important;
}

.u-c--white {
  color: #fff !important;
}

.u-c--off-white {
  color: #eaeaea !important;
}

.u-c--black {
  color: #181818 !important;
}

.u-c--dark {
  color: #1d1d1f !important;
}

.u-c--dark-grey {
  color: #222 !important;
}

.u-c--sitemap,
.u-c--sitemap a {
  color: #333 !important;
}

/* Digital用 */
.u-c--dynamic-red-digital {
  color: #BC4328 !important;
}

.u-c--delightful-yellow-digital {
  color: #E6B600 !important;
}

.u-c--smart-navy-digital {
  color: #0F1C50 !important;
}

.u-c--green-digital {
  color: #ABC677 !important;
}

.u-c--purple-accent-digital {
  color: #7F2D60 !important;
}

.u-c--smart-blue-digital {
  color: #0080b1 !important;
}

.u-d-none {
  display: none;
}

.u-d-flex {
  display: flex;
}

@media (min-width: 768px) {
  .u-d-flex--2col .u-d-flex__box {
    width: 97.5%;
  }
  .u-d-flex--2col .u-d-flex__box + .u-d-flex__box {
    margin-left: 5%;
  }
}

.u-fw--bold {
  font-weight: 700;
}

.u-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
}

@media (min-width: 768px) {
  .u-grid--3col.u-grid--gutter28 .u-grid__box {
    margin-right: 28px;
    width: calc(33.33333% - 18.66667px);
  }
  .u-grid--3col.u-grid--gutter28 .u-grid__box:nth-child(3n + 3) {
    margin-right: 0;
  }
  .u-grid--3col.u-grid--gutter28 .u-grid__box:nth-child(n + 4) {
    margin-top: 28px;
  }
  .u-grid--3col.u-grid--gutter40 .u-grid__box {
    margin-right: 40px;
    width: calc(33.33333% - 26.66667px);
  }
  .u-grid--3col.u-grid--gutter40 .u-grid__box:nth-child(3n + 3) {
    margin-right: 0;
  }
  .u-grid--3col.u-grid--gutter40 .u-grid__box:nth-child(n + 4) {
    margin-top: 40px;
  }
}

.u-maw--900 {
  margin-right: auto;
  margin-left: auto;
  max-width: 900px;
}

@media (min-width: 768px) {
  .u-pt--72 {
    padding-top: 72px;
  }
}

@media (min-width: 768px) {
  .u-pb--72 {
    padding-bottom: 72px;
  }
}

.u-ta--center {
  text-align: center;
}

.u-ta--left {
  text-align: left;
}

.u-ta--right {
  text-align: right;
}


/*
--------------------------------------------------------------------*/
.slick-service {
	max-width: 1200px;
	margin: 20px auto 0 auto;
	position: relative;
	display: flex;
}
@media all and (min-width: 769px) {
	.slick-service > li:nth-child(n+4) {
		display: none;
	}
}
.slick-service .slick-arrow {
	content: "";
	position: absolute;
	width: 40px;
	height: 40px;
	display: inline-block;
	/*top: calc(50% - 20px);*/
	top: 50%;
	transition: .3s;
	z-index: 150;
}
.slick-service .slick-arrow:hover {
	opacity: 0.7;
}
.slick-service .slick-prev {
	left: -20px !important;
	background: url("../img/service/index/slick_prev.png") no-repeat 0 0 !important;
}
@media all and (max-width: 768px) {
	.slick-service .slick-prev {
		left: -3% !important;
	}
}
.slick-service .slick-next {
	right: 0;
	background: url("../img/service/index/slick_next.png") no-repeat 0 0 !important;
}
@media all and (max-width: 768px) {
	.slick-service .slick-next {
		right: -3%;
	}
}
.slick-service li {
}
.slick-service .slick-dots {
	bottom: -40px;
}
@media all and (min-width: 769px) {
	.slick-service .slick-dots li {
		margin: 0 10px;
	}
}
.slick-service .slick-dots li button:before {
	font-size: 30px;
	opacity: 1;
	color: #DCE2ED;
}
.slick-service .slick-dots li.slick-active button:before {
	font-size: 30px;
	opacity: 1;
	color: #0F1621;
}
.solutionList,
.solutionBox {
	max-width: 1100px;
	margin: 0 auto;
}
@media all and (max-width: 768px) {
	.solutionList,
	.solutionBox {
		margin: 0 4.8%;
	}
}
.solutionList h2,
.solutionBox h2 {
	margin-top: 50px;
}
.solutionList ul,
.solutionBox .solutionBox-category {
	margin-top: 30px;
}
.solutionList ul {
	margin-bottom: 50px;
}
.solutionBox .solutionBox-category.industry li {
	background: #E5F3F9;
}
.solutionBox .solutionBox-category.industry li:hover {
	background: #32a2d1;
}
.solutionBox .solutionBox-category.theme li {
	background: #F4EBF4;
}
.solutionBox .solutionBox-category.theme li:hover {
	background: #AA61AB;
}
.solutionBox .solutionBox-category.industry h3 {
	color: #32a2d1;
}
.solutionBox .solutionBox-category.theme h3 {
	color: #AA61AB;
}
.solutionBox .solutionBox-category h3 {
	font-size: 24px;
	margin-bottom: 30px;
}
@media all and (max-width: 768px) {
	.solutionBox .solutionBox-category h3 {
		margin-bottom: 10px;
	}
}
.solutionBox .solutionBox-category ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
}
.solutionBox .solutionBox-category li {
	margin-right: 1px;
	width: calc((100% - 3px) / 4);
	transition: .2s;
}
.solutionBox .solutionBox-category li:hover {
	color: #FFF;
}
@media all and (max-width: 768px) {
	.solutionBox .solutionBox-category li {
		width: calc((100% - 2px) / 3);
	}
}
.solutionBox .solutionBox-category li a {
	display: block;
	padding: 45px 30px 30px 30px;
	transition: .4s;
}
.solutionBox .solutionBox-category li a:hover {
	text-decoration: none;
}
@media all and (min-width: 769px) {
	.solutionBox .solutionBox-category li:nth-child(4n) {
		margin-right: 0;
	}
	.solutionBox .solutionBox-category li:nth-child(n + 5) {
		margin-top: 1px;
	}
}
@media all and (max-width: 768px) {
	.solutionBox .solutionBox-category li:nth-child(3n) {
		margin-right: 0;
	}
	.solutionBox .solutionBox-category li:nth-child(n + 4) {
		margin-top: 1px;
	}
}
.solutionBox .solutionBox-category li a div {
    padding: 0 0 40px 0;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
}
@media all and (max-width: 768px) {
	.solutionBox .solutionBox-category li a div {
		padding: 0;
	}
}
@media all and (max-width: 768px) and (-ms-high-contrast:none){
	.solutionBox .solutionBox-category li a div {
		display: block;
	}
}
.solutionBox .solutionBox-category li img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}
@media all and (-ms-high-contrast:none){
	.solutionBox .solutionBox-category li img {
		margin: 0;
	}
}
.solutionBox .solutionBox-category li:hover img {
	filter: brightness(0) invert(1);
}
.solutionBox .solutionBox-category li img + img {
	display: none;
}
@media all and (-ms-high-contrast:none){
	.solutionBox .solutionBox-category li:hover img {
		display: none;
	}
	.solutionBox .solutionBox-category li:hover img + img {
		display: block;
	}
}
.solutionBox .solutionBox-category li span {
	display: block;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #333;
}
.solutionBox .solutionBox-category li:hover span {
	color: #FFF;
}
@media all and (max-width: 768px) {
	.solutionBox .solutionBox-category li a {
		padding: 20px 10px;
	}
	.solutionBox .solutionBox-category li img {
		margin: 0 auto 20px auto;
	}
	.solutionBox .solutionBox-category li span {
		font-size: 14px;
	}
}

.solutionList ul {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
}
@media all and (max-width: 768px) {
	/*.solutionList ul {
		justify-content: space-between;
	}*/
}
.solutionList ul + .list-hide ul {
	margin-bottom: 30px;
	margin-top: 0;
}
.solutionList .list-hide + .more {
	margin-bottom: 100px;
}
.solutionList ul li {
	margin: 0;
	display: flex;
	width: 50%;
}
@media all and (min-width: 769px) {
	.solutionList .list-hide li,
	.solutionList ul li:nth-child(n + 3) {
		margin-top: 10px;
	}
	.solutionList ul li:nth-child(2n) {
		margin-right: 0;
	}
}
@media all and (max-width: 768px) {
	.solutionList ul li {
		margin: 0;
		width: 100%;
	}
	.solutionList .list-hide li,
	.solutionList ul li:nth-child(n+4) {
		margin-top: 5px;
	}
}
.solutionList ul li .solutionParts {
    display: flex;
    justify-content: flex-start;
	align-items: center;
    box-sizing: border-box;
    transition: .3s;
    padding: 0 0 0 15px;
    position: relative;
    line-height: 1.4;
    font-size: 1.3rem;
}
.solutionList ul li .solutionParts:before {
    content: ">";
    font-size: 10px;
    position: absolute;
    left: 0;
    top: 2px;
    font-weight: bold;
}
.solutionList ul li a:hover {
	opacity: 0.7;
}
.solutionList ul li img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}
.list-hide {
	display: none;
}
button.more {
	width: 120px;
	margin: 20px auto 0 auto;
	display: block;
	background-color: #666;
	color: #FFF;
	padding: 10px 15px;
	border: none;
	outline: 0;
	transition: .3s;
	-erbkit-transition: .3s;
}
button.more:hover {
	opacity: 0.7;
}
button.more::after {
	content: "もっと見る";
	transition: .2s;
	-erbkit-transition: .2s;
}
button.more.on-click::after{
	content: "閉じる";
}

#colorbox, #cboxOverlay, #cboxWrapper {
    overflow: visible;
}
#cboxOverlay {
    background: #000;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99999;
    left: 0;
    top: 0;
}
#colorbox {
	background: #FFF;
	z-index: 100000;
	position: relative;
}
#cboxClose {
    text-indent: -999px;
    overflow: hidden;
    position: absolute;
    right: 35px;
    top: 15px;
    border: none;
    display: inline-block;
    width: 30px;
    height: 30px;
	cursor: pointer;
	background: url("../img/common/color-close.png") no-repeat center center;
}
@media all and (max-width: 768px) {
	#cboxClose {
		right: 15px;
	}
}
/*#cboxClose:before,
#cboxClose:after {
	content: "";
	height: 1px;
	width: 30px;
	background: #333;
}
#cboxClose:before {
	transform: rotate(45deg);
}
#cboxClose:after {
	transform: rotate(-45deg);
}*/
#cboxLoadedContent {
	overflow: inherit !important;
}
.cboxIframe {
	width: 100%;
	/*height: 100%;*/
}
@media all and (-ms-high-contrast:none){
	.cboxIframe {
		height: 100%;
	}
}

.color-Body {
	box-sizing: border-box;
	padding: 30px;
}
.color-Body .color-ttl {
	font-size: 30px;
	color: #32a2d1;
}
.color-Body.theme-Body .color-ttl {
	color: #AA61AB;
}
@media all and (max-width: 768px) {
	.color-Body .color-ttl {
		font-size: 20px;
	}
}
.color-Body .color-num {
	margin: 30px 0;
	font-size: 20px;
}
@media all and (max-width: 768px) {
	.color-Body .color-num {
		margin: 15px 0;
		font-size: 16px;
	}
}
.color-Body ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.color-Body ul li {
    background: #FFF;
    /*max-width: 22.5%;*/
	width: 22.5%;
    margin-right: 3%;
    box-shadow: 0 0 10px #999;
    box-sizing: border-box;
    padding: 10px 1.5% 1.5% 1.5%;
    border-radius: 5px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
}
@media all and (min-width: 769px) {
	.color-Body ul li:nth-child(4n) {
		margin-right: 0;
	}
	.color-Body ul li:nth-child(n + 5) {
		margin-top: 3%;
	}
}
@media all and (max-width: 768px) {
	.color-Body ul {
		justify-content: space-between;
		
		/*display: block;*/
	}
	.color-Body ul li {
		background: #FFF;
		max-width: 50%;
		width: 48%;
		margin-right: 0;
		box-shadow: 0 0 10px #999;
		box-sizing: border-box;
		padding: 10px 1.5% 1.5% 1.5%;
		border-radius: 5px;
		/*display: flex;
		align-items: flex-start;
		flex-wrap: wrap;*/
		position: relative;
		
		display: block;
	}
	.color-Body ul li:nth-child(n + 3) {
		margin-top: 2%;
	}
}
.color-Body ul li .cbitem,
.color-Body ul li a {
	width: 100%;
	display: block;
	color: #333;
}
.color-Body ul li img {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}
.color-Body ul li .color-name {
	font-size: 22px;
	font-weight: bold;
	word-break: break-all;
	width: 100%;
}
.color-Body ul li .color-name span {
	display: block;
	font-size: 12px;
	margin-bottom: 10px;
}
@media all and (max-width: 768px) {
	.color-Body ul li .color-name {
		font-size: 14px;
		word-break: break-all;
	}
	.color-Body ul li .color-name span {
		margin-bottom: 10px;
	}
}
.color-Body ul li .cbitem + .color-name,
.color-Body ul li a + .color-name,
.color-Body ul li img + .color-name,
.color-Body ul li p,
.color-Body ul li .color-tag {
	margin-top: 20px;
}
.color-Body ul li .color-tag {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.color-Body ul li .color-tag span {
	color: #7e7e7e;
	font-size: 12px;
	margin: 0 10px 5px 0;
}
.color-Body ul li .color-reverse {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: #32a2d1;
    opacity: 0;
    text-align: center;
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
    -webkit-transition: .5s;
    transition: .5s;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 5%;
	text-decoration: none;
}
.color-Body ul li .color-reverse p {
	margin-top: 0 !important;
}

.color-Body.theme-Body ul li .color-reverse {
	background: #AA61AB;
}
@media all and (max-width: 768px) {
	.color-Body ul li .color-reverse {
		display: none !important;
	}
}
.color-Body ul li:hover .color-reverse {
    -webkit-transform: rotateX(0);
    transform: rotateX(0);
    opacity: 1 !important;
}
.color-Body ul li .color-reverse p {
	text-align: left;
}
@media all and (min-width: 769px) {
	.hide-pc {
		display: none;
	}
}

.sc_header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.sc_header .sc_div {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
@media all and (min-width: 769px) {
	.sc_header .sc_div {
		min-width: 300px;
	}
}
.sc_header a {
    display: flex;
	justify-content: center;
    align-items: center;
    color: #FFF;
    background: #5876AA;
    padding: 5px 15px;
	text-decoration: none !important;
	transition: .3s;
	flex: 1;
	box-sizing: border-box;
}
.sc_header .sc_div a + a {
	margin-left: 1px;
}
.sc_header a:hover {
	opacity: 0.7;
}
.sc_header a:before {
	content: "";
	display: inline-block;
	margin-right: 10px;
}
.sc_header a.sc_catalog:before {
	background: url("../img/service/index/icon-sc_header.png") no-repeat center center;
	background-size: 12px;
    width: 13px;
    height: 17px;
}
.sc_header a.sc_inquiry:before {
	background: url("../img/service/index/icon-sc_header02.png") no-repeat center center;
	background-size: 12px;
    width: 13px;
    height: 17px;
}
@media all and (max-width: 768px) {
	.sc_header {
		flex-wrap: wrap;
	}
	.sc_header .sc_div {
		display: flex;
		justify-content: space-between;
		width: 100%;
		margin-bottom: 30px;
	}
	.sc_header .sc_div a {
		padding: 15px;
	}
}

#colorbox {
	width: 90vw !important;
}
#cboxWrapper {
	width: 100% !important;
	height: auto !important;
	min-height: 100vh;
}
#colorbox #cboxContent {
	width: 100% !important;
}
#colorbox #cboxLoadedContent {
	width: 100% !important;
	display: flex;
}
#colorbox .cboxWrapper {
	width: 100% !important;
	height: auto !important;
	min-height: 100vh;
}
#colorbox {
    left: calc(50% - 45vw) !important;
}

.solMenulist {
	display: flex;
	justify-content: space-between;
}
.solMenulist li {
	flex: 1;
	margin-top: 0 !important;
}
@media all and (max-width: 768px) {
	.solMenulist {
		flex-wrap: wrap;
		justify-content: space-between !important;
	}
	.solMenulist li {
		flex: initial;
		width: 49% !important;
		margin-left: 0 !important;
	}
	.solMenulist li:nth-child(n+3) {
		margin-top: 1% !important;
	}
}
.solMenulist li + li {
	margin-left: 10px;
}
.solMenulist a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #2A5EB7;
	width: 100%;
	padding: 10px 0;
	border: 1px solid #2A5EB7;
	position: relative;
}
.solMenulist a:after {
    content: "";
    width: 5px;
    height: 5px;
    border-right: 1px solid #2A5EB7;
    border-bottom: 1px solid #2A5EB7;
    position: absolute;
    right: 10px;
    transform: rotate(45deg);
}
.solMenulist a:hover {
	background: #2A5EB7;
	color: #FFF;
	text-decoration: none;
}
.solMenulist a:hover:after {
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
}
.sollist-Box {
	margin-bottom: 50px;
}
.sollist-Box .sollist-inner {
	position: relative;
	font-size: 18px;
	font-weight: bold;
	padding: 5px 15px;
	margin-bottom: 20px;
	background: #F2F2F2;
	border-bottom: 2px solid #CCC;
}
.sollist-Box .sollist-inner:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 150px;
	height: 2px;
	background: #2A5EB7;
}
.sollist-Box .sollist-inner span {
	font-size: 15px;
	display: inline-block;
	margin-left: 3px;
	margin-right: 3px;
}
.solutionList .sollist-Box ul {
	margin: 0 !important;
}
.solutionList .sollist-Box ul li {
}
.solutionList .sollist-Box ul li a {
    font-size: 1.4rem;
}
.pictcoming {
	display: flex;
	justify-content: center;
	align-items: center;
}
@media all and (max-width: 768px) {
	.pictcoming.pictSpnone {
		display: none;
	}
	.solutionList ul li .solutionParts {
		display: block;
	}
}
.sollist-inner-mini {
    display: block;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 5px 0 10px 10px;
    border-bottom: 1px dotted #CCC;
}
ul + .sollist-inner-mini {
    margin-top: 20px;
}

