@charset "UTF-8";
@font-face {
  src: url("../fonts/IwaUCDAGothStd-Lt.otf") format("opentype"), url("../fonts/IwaUCDAGothStd-Md.otf") format("opentype"), url("../fonts/IwaUCDAGothStd-R2.otf") format("opentype"), url("../fonts/IwaUCDAGothStd-Th.otf") format("opentype");
  font-family: 'minmoji';
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Base style
----------------------------------------------------------- */
/* ----- reset ----- */
html {
  -webkit-box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  box-sizing: border-box;
  word-break: normal;
  tab-size: 4;
}

*,
::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

/* General elements */
hr {
  height: 0;
  overflow: visible;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

ol,
ul,
dl {
  list-style: none;
}

em {
  font-style: normal;
}

small {
  font-size: 0.875em;
}

[hidden] {
  display: none;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms */
input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: bold;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'],
[role='button'] {
  color: inherit;
  cursor: pointer;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

button,
input,
select,
textarea {
  border-style: none;
  background-color: transparent;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  display: table;
  max-width: 100%;
  max-width: 100%;
  border: 0;
  color: inherit;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

/* Specify media element style */
img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

svg:not([fill]) {
  fill: currentColor;
}

/* Accessibility */

[aria-busy='true'] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

/* ----- default ----- */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  background: #f3f5f7;
  color: #000000;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  overflow-wrap: break-word;
}

a {
  -webkit-transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
  color: #000000;
  text-decoration: none;
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

button {
  border: none;
  cursor: pointer;
}

img {
  -webkit-backface-visibility: hidden;
  max-width: 100%;
  backface-visibility: hidden;
  vertical-align: top;
}

a img {
  -webkit-transition: opacity 0.15s ease-in-out;
  transition: opacity 0.15s ease-in-out;
}

/* Layout style
----------------------------------------------------------- */
/* ----- wrapper ----- */
body.is-fixed-body {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

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

/* ----- header ----- */
.header {
  -webkit-transition: 1s cubic-bezier(0.55, 0.085, 0, 0.99);
  -webkit-transition-property: background-color, -webkit-transform;
  z-index: 10;
  position: fixed;
  right: 0;
  width: 100%;
  height: 110px;
  transition: 1s cubic-bezier(0.55, 0.085, 0, 0.99);
  transition-property: background-color, -webkit-transform;
  transition-property: transform, background-color;
  transition-property: transform, background-color, -webkit-transform;
}

.header::after {
  display: block;
  clear: both;
  content: '';
}

.header::after {
  position: absolute;
  right: 0;
  left: 0;
  height: 131px;
  margin: 0 auto;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.42)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0));
  content: "";
}

.header.is-opened::after {
  display: none;
}

.header-information + .header {
  position: absolute;
}

.header-logo {
  z-index: 10;
  position: relative;
  margin: 20px 34px 26px;
  float: left;
  line-height: 1;
}

.header.is-fixed .header-logo {
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out;
}

.header.is-fixed .header-logo a {
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out;
}

.header-logo a {
  display: block;
  width: 136px;
  padding: 11px 11px 10px;
}

.header-logo a:hover {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.header.is-opened .header-logo {
  -webkit-transition: none;
  -webkit-animation: 1.0s fade-in ease-in 0.5s forwards;
  animation: 1.0s fade-in ease-in 0.5s forwards;
  opacity: 0;
  transition: none;
}

.header-hamburger {
  display: block;
  z-index: 10;
  position: relative;
  width: 80px;
  height: 64px;
  margin: 20px 18px;
  padding: 16px;
  float: right;
}

.header.is-fixed .header-hamburger {
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out;
}

.header-hamburger.is-opened {
  margin: 20px 18px 20px 0;
}

.header-hamburger-line {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  display: block;
  position: absolute;
  right: 16px;
  width: 48px;
  height: 2px;
  margin: auto;
  overflow: hidden;
  border-radius: 2px;
  transition: -webkit-transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.header-hamburger-line::before, .header-hamburger-line::after {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 2px;
  background-color: #ffffff;
  content: "";
}

.header-hamburger-line::before {
  left: 0;
}

.header-hamburger-line::after {
  left: -180%;
}

.header-hamburger-line:nth-child(1) {
  top: 16px;
}

.header-hamburger-line:nth-child(2) {
  top: 0;
  bottom: 0;
}

.header-hamburger-line:nth-child(3) {
  bottom: 16px;
}

.header-hamburger.is-opened .header-hamburger-line::before, .header-hamburger.is-opened .header-hamburger-line::after {
  background-color: #000000;
}

.header-hamburger.is-opened .header-hamburger-line:nth-child(1) {
  -webkit-transform: translateY(15px) rotate(45deg);
  transform: translateY(15px) rotate(45deg);
}

.header-hamburger.is-opened .header-hamburger-line:nth-child(2) {
  width: 0;
}

.header-hamburger.is-opened .header-hamburger-line:nth-child(3) {
  -webkit-transform: translateY(-15px) rotate(-45deg);
  transform: translateY(-15px) rotate(-45deg);
}

.header-hamburger.is-opened .header-hamburger-line:nth-child(3)::after {
  right: -180%;
  left: auto;
}

.header-nav {
  z-index: 5;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  pointer-events: none;
}

.header.is-opened .header-nav {
  -webkit-transition: opacity 0.3s ease;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.3s ease;
}

.header-nav-inner {
  scrollbar-width: none;
  -webkit-backdrop-filter: blur(6px);
  height: 100%;
  overflow-y: auto;
  backdrop-filter: blur(6px);
}

.header-nav-inner::-webkit-scrollbar {
  display: none;
}

.header-nav-container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 34px 0 49px;
}

.header-search {
  font-size: 1.3rem;
}

.header-search-tags a {
  display: block;
  position: relative;
  padding-right: 1.5em;
}

.header-search-tags a::after {
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% - 12px);
  width: 12px;
  height: 6px;
  margin: auto;
  background: url(/common/images/icon_arrow_r.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.header-search-tags a:hover::after {
  -webkit-transform: translateX(8px);
  transform: translateX(8px);
}

.header-search-keyword {
  position: relative;
  height: 40px;
  overflow: hidden;
}

.header-search-keyword-input {
  width: 100%;
  height: 100%;
  padding: 6px 35px 6px 24px;
  border: 1px solid #000000;
  border-radius: 20px;
  background-color: #ffffff;
}

.header-search-keyword-input::-webkit-input-placeholder {
  color: #898989;
  opacity: 1;
}

.header-search-keyword-input::-moz-placeholder {
  color: #898989;
  opacity: 1;
}

.header-search-keyword-input:-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.header-search-keyword-input::-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.header-search-keyword-input::placeholder {
  color: #898989;
  opacity: 1;
}

.header-search-keyword-button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  align-items: center;
  justify-content: flex-start;
  width: 35px;
  height: 100%;
  border-radius: 0 20px 20px 0;
}

.header-search-keyword-button i {
  -webkit-transform: rotate(-42deg);
  position: relative;
  width: 13px;
  height: 13px;
  margin: 5px;
  transform: rotate(-42deg);
  border: 1px solid #000000;
  border-radius: 50%;
}

.header-search-keyword-button i::after {
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
  width: 1px;
  height: 5px;
  margin: 0 auto;
  border-radius: 2px;
  background-color: #000000;
  content: '';
}

.header-contents {
  position: relative;
  margin-top: 44px;
}

#header .header-contents.is-lv1 .header-topics,
#header .header-contents.is-lv2 .header-topics {
  -webkit-transition: none;
  opacity: 0;
  transition: none;
}

.header-menu-item {
  font-weight: 500;
  line-height: 1.46667;
}

.header-menu-item + .header-menu-item {
  border-top: 1px solid #ebebeb;
}

.header-menu-item a {
  display: block;
  position: relative;
  padding: .25em 1em;
}

.header-dropdown {
  -webkit-transform: translateX(-30px);
  -webkit-transition: .3s ease;
  -webkit-transition-property: opacity, visibility, margin, border, -webkit-transform;
  visibility: hidden;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-30px);
  opacity: 0;
  transition: .3s ease;
  transition-property: opacity, visibility, margin, border, -webkit-transform;
  transition-property: opacity, visibility, transform, margin, border;
  transition-property: opacity, visibility, transform, margin, border, -webkit-transform;
}

.header-dropdown.is-opened {
  -webkit-transform: translateX(0);
  visibility: visible;
  transform: translateX(0);
  opacity: 1;
}

.header-dropdown-button {
  position: relative;
  padding-right: 2em;
}

.header-dropdown-button::after {
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% - 30px);
  width: 12px;
  height: 6px;
  margin: auto;
  background: url(/common/images/icon_arrow_r.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.header-dropdown-button:hover:after {
  width: 26px;
  background-image: url(/common/images/icon_arrow_r_long.svg);
}

.header-dropdown-title {
  margin-bottom: -1px;
  border-bottom: 1px solid #ebebeb;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.header-dropdown-title a {
  padding: 0.77778em 1.11111em 0.83333em 1.11111em;
}

.header-dropdown-menu {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-height: calc(100% - 57px);
  overflow: hidden;
  overflow-y: scroll;
}

.header-dropdown-menu-item {
  border-top: 1px solid #ebebeb;
}

.header-dropdown-menu-item:nth-child(1) {
  border-top: none;
}

.header-dropdown-back-button {
  display: none;
  z-index: 2;
  position: absolute;
  position: absolute;
  bottom: 100%;
  left: 0;
  padding: 5px 10px 5px 30px;
  background-color: #000000;
  color: #ffffff;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
}

.header-dropdown-back-button::after {
  -webkit-transform: rotate(135deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 14px;
  width: 10px;
  height: 10px;
  margin: auto;
  transform: rotate(135deg);
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  content: "";
}

.header-topics {
  -webkit-transition: .3s ease;
  -webkit-transition-property: opacity, visibility;
  transition: .3s ease;
  transition-property: opacity, visibility;
}

.header-topics-banner {
  -webkit-transition: opacity 0.3s ease-in-out;
  text-align: center;
  transition: opacity 0.3s ease-in-out;
}

.header-topics-banner img {
  width: 100%;
}

.header-topics-breadcrumb {
  margin-bottom: 10px;
}

.header-topics-breadcrumb::before {
  content: "■";
}

.header-topics-breadcrumb > li {
  display: inline;
}

.header-topics-breadcrumb > li:not(:first-child):before {
  margin: 0 .25em;
  content: "＞";
}

.header-topics-title {
  margin: 110px 0 20px;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.4;
}

.header-topics-box {
  -webkit-transition: opacity 0.3s ease-in-out;
  display: block;
  transition: opacity 0.3s ease-in-out;
}

.header-topics-box-pict {
  margin-bottom: 12px;
}

.header-topics-box-pict img {
  width: 100%;
}

.header-topics-box-title {
  font-size: 1.4rem;
  font-weight: 500;
}

.header-topics-box-tags {
  position: relative;
  margin-top: 1em;
  padding-top: 0.75em;
  font-size: 1.3rem;
}

.header-topics-box-tags::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 33px;
  border-top: 1px solid;
  content: '';
}

.header-topics-box-tags > li {
  display: inline;
  margin-right: 0.75em;
}

.header-topics-box-list {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px;
}

.header-topics-box-list > li {
  width: 48%;
  max-width: 320px;
}

.header-link-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
}

.header-link-list li {
  padding: 10px 12px;
}

.header-link-list.-logo li {
  -webkit-transition: opacity 0.3s ease-in-out;
  width: 16.60079%;
  min-height: 64px;
  padding: 10px;
  transition: opacity 0.3s ease-in-out;
}

.header-link-list.-logo li a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 5px;
  background-color: #ffffff;
  text-align: center;
}

.header-link-list.-logo li a[target='_blank'] {
  position: relative;
}

.header-link-list.-logo li a[target='_blank']::after {
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 9px;
  height: 9px;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

.header-link-list.-logo li a img {
  max-height: 20px;
}

.header-links {
  padding: 12px 34px;
  background-color: rgba(0, 0, 0, 0.9);
  color: #ffffff;
  font-size: 1.3rem;
}

.header-links a {
  color: #ffffff;
}

.header-links-group {
  padding: 18px 34px;
  background-color: rgba(239, 239, 239, 0.9);
}

.header.is-opened {
  position: fixed;
  top: 0;
  width: 80%;
  min-width: 1222px;
}

.header.is-fixed {
  -webkit-transition: .3s ease-out;
  position: fixed;
  top: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.42)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0));
  transition: .3s ease-out;
}

.header.is-fixed::after {
  content: none;
}

.header.-black {
  background-color: #313131;
}

.header.-black::after {
  content: none;
}

.jp-en-btn {
  z-index: 90;
  position: relative;
  margin: 20px 0;
  padding: 16px;
  float: right;
  color: #ffffff;
  font-size: 20px;
  font-weight: bold;
  text-shadow: 0px 3px 5px #5875ac;
  pointer-events: auto;
}

.-black .jp-en-btn {
  text-shadow: none;
}

.is-fixed .jp-en-btn {
  margin: 16px 0;
  padding: 10px 0;
  font-size: 16px;
}

.is-opened .jp-en-btn {
  color: #000000;
  font-size: 16px;
  text-shadow: 0px 3px 5px transparent;
}

.jp-en-btn .jp-btn {
  padding-right: 24px;
  color: #ffffff;
}

.jp-en-btn .jp-btn.-not-jp {
  color: #C3C6C9;
}

.is-opened .jp-en-btn .jp-btn {
  color: #000000;
}

.jp-en-btn .en-btn {
  padding-left: 24px;
  color: #ffffff;
}

.jp-en-btn .en-btn.-not-en {
  color: #C3C6C9;
}

.is-opened .jp-en-btn .en-btn {
  color: #000000;
}

.header-information {
  position: relative;
  padding: 14px 0;
  background-color: #ffffff;
}

.header-information-inner {
  max-width: 933px;
  margin: 0 auto;
  padding: 0 34px;
}

.header-information-body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 100%;
}

.header-information-close {
  -webkit-transform: rotate(45deg);
  -webkit-transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: 20px;
  right: 12px;
  width: 20px;
  height: 20px;
  transform: rotate(45deg);
  transition: opacity 0.3s ease-in-out;
}

.header-information-close::before, .header-information-close::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #000000;
  content: "";
}

.header-information-close::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

/* ----- footer ----- */
.footer {
  position: relative;
  padding: 50px 0 40px;
  background-color: #000000;
  color: #ffffff;
  font-size: 1.3rem;
  text-align: center;
}

.footer a {
  color: #ffffff;
}

.footer-inner {
  width: 100%;
  max-width: 1266px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
}

.footer-links {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -1.5em;
  line-height: 2;
}

.footer-links > li {
  position: relative;
  padding: 0 1.5em;
}

.footer-links > li::before {
  position: absolute;
  left: -.5em;
  content: "｜";
}

.footer-links > li:first-child::before {
  content: none;
}

.footer-links > li a {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.footer-links-wrap {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}

.footer-logo {
  margin-top: 30px;
  text-align: center;
}

.footer-logo:first-child {
  margin-top: 0;
}

.footer-logo a {
  display: block;
  width: 136px;
  margin: 0 auto;
  padding: 11px 11px 10px;
}

.footer-copyright {
  margin-top: 30px;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-weight: 300;
  text-align: center;
}

.gdpr-bg {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 15000;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 30px 5%;
  background: #313131;
}

.gdpr-link {
  color: #fff;
  text-decoration: underline;
}

.gdpr-bg-inner {
  position: relative;
}

.gdpr-btn {
  position: absolute;
  right: -2%;
  margin-bottom: 10px;
  font-size: 0;
  line-height: 0;
  text-align: right;
}

.gdpr-btn a {
  display: inline-block;
}

.gdpr-btn img {
  width: 24px;
  height: 24px;
}

.gdpr-text {
  color: #fff;
  font-size: 13px;
  line-height: 1.8;
}

.gdpr-box {
  -webkit-box-align: end;
  -ms-flex-align: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: end;
}

.gdpr-accept {
  min-width: 180px;
  padding: 0 20px;
}

.gdpr-accept a {
  -webkit-transition: all .15s;
  display: block;
  padding: 10px 32px;
  border-radius: 4px;
  background-color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  transition: all .15s;
}

.gdpr-accept a:hover {
  background-color: #000;
  color: #fff;
  text-decoration: none;
}

.pagetop {
  position: absolute;
  right: 45px;
  bottom: calc(100% + 26px);
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 1.6rem;
}

.pagetop a {
  -webkit-transition: opacity 0.3s ease-in-out;
  display: inline-block;
  padding: 10px 20px;
  border-radius: 30px;
  color: #000000;
  transition: opacity 0.3s ease-in-out;
}

.pagetop a span {
  display: block;
  position: relative;
  padding-right: 27px;
}

.pagetop a span::after {
  -webkit-transform: rotate(-45deg) translate(-2px, 2px);
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  width: 10px;
  height: 10px;
  margin: auto 0;
  transform: rotate(-45deg) translate(-2px, 2px);
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  content: "";
}

/* ----- content ----- */
.content {
  position: relative;
  padding: 70px 0;
}

.content.bg-dark {
  color: #ffffff;
}

.content-header {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  height: 500px;
  overflow: hidden;
  text-align: center;
}

.content-header-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.content-header-bg img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 500px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.content-header-text {
  position: relative;
  padding: 0 10px;
  color: #ffffff;
  text-shadow: 0 6px 10px rgba(0, 0, 0, 0.58);
}

.content-header-heading {
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.content-header-heading-sub {
  display: block;
  margin-top: 1em;
  font-size: 3rem;
  letter-spacing: .05em;
}

.content-header-heading-sub.-horizontal {
  display: inline-block;
  margin-top: 0;
}

.content-body {
  margin-top: 110px;
}

.content-header + .content-body {
  margin-top: 0;
}

.content-top {
  padding: 50px 0 80px;
}

.content-inner {
  width: 100%;
  max-width: 1266px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
}

.content-narrow {
  max-width: 1086px;
  margin: 0 auto;
}

.content-narrow.content-inner {
  max-width: 1106px;
}

.content-narrow-sm {
  max-width: 814px;
  margin: 0 auto;
}

.content-narrow-sm.content-inner {
  max-width: 834px;
}

.content-narrow-sm > .heading-lv2, .article-post .content-narrow-sm > h2 {
  margin-bottom: 30px;
}

.content-hr {
  position: relative;
  width: 100%;
  height: 1px;
  margin: 70px 0;
  border: 0;
}

.content-hr:first-child {
  margin-top: 0;
}

.content-hr::before {
  -webkit-transform: translateX(-50%);
  position: absolute;
  top: 0;
  left: 50%;
  width: 1252px;
  transform: translateX(-50%);
  border-top: 1px solid #000000;
  content: "";
}

.content-hr:before {
  bottom: 0;
  margin: auto;
}

.content-hr-light {
  position: relative;
  width: 100%;
  height: 1px;
  margin: 50px 0;
  border: 0;
}

.content-hr-light::before {
  -webkit-transform: translateX(-50%);
  position: absolute;
  top: 0;
  left: 50%;
  width: 1035px;
  transform: translateX(-50%);
  border-top: 1px solid #d8d8d8;
  content: "";
}

.content-section {
  margin-top: 100px;
}

.content-section:first-child, .content-hr + .content-section, .content-hr-light + .content-section {
  margin-top: 0;
}

.content-bg-movie {
  -o-object-fit: cover;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  margin: auto;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.content-bg-movie.-semitransparent {
  opacity: .5;
}

/* ----- column ----- */
.column {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: row wrap;
  margin: -26px;
  list-style: none;
}

.column.-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.column.-left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.column.-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.column.-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.column.-top {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.column.-middle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.column.-bottom {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.column .column-col, .column .column-col-auto, .column .column-col-1, .column .column-col-2, .column .column-col-3, .column .column-col-4, .column .column-col-5, .column .column-col-6 {
  padding: 26px;
}

.column .column-col {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.column .column-col-auto {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.column .column-col-1 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.column .column-col-2 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.column .column-col-3 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.column .column-col-4 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.column .column-col-5 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%;
}

.column .column-col-6 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.column.-gap-sm {
  margin: -13px;
}

.column.-gap-sm .column-col, .column.-gap-sm .column-col-auto, .column.-gap-sm .column-col-1, .column.-gap-sm .column-col-2, .column.-gap-sm .column-col-3, .column.-gap-sm .column-col-4, .column.-gap-sm .column-col-5, .column.-gap-sm .column-col-6 {
  padding: 13px;
}

/* Mmodule style
----------------------------------------------------------- */
/* ----- heading ----- */
.heading-lv1, .heading-lv2, .article-post h2, .heading-lv3, .article-post h3, .heading-lv4, .heading-lv5 {
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.4;
}

.heading-lv1:first-child, .heading-lv2:first-child, .article-post h2:first-child, .heading-lv3:first-child, .article-post h3:first-child, .heading-lv4:first-child, .heading-lv5:first-child {
  margin-top: 0;
}

.heading-lv1:last-child, .heading-lv2:last-child, .article-post h2:last-child, .heading-lv3:last-child, .article-post h3:last-child, .heading-lv4:last-child, .heading-lv5:last-child {
  margin-bottom: 0;
}

.heading-lv1 {
  margin-bottom: 1.5em;
  font-size: 4rem;
}

.heading-lv2, .article-post h2 {
  margin: 2em 0 1.5em;
  font-size: 3.2rem;
}

.heading-lv2-latin {
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 4rem;
}

.heading-lv2 + .heading-lv3, .article-post h2 + .heading-lv3, .article-post .heading-lv2 + h3, .article-post h2 + h3 {
  margin: 1.5em 0 1em;
}

.heading-lv3, .article-post h3 {
  margin: 3em 0 1em;
  font-size: 3rem;
}

.heading-lv3 + .panel-outline, .article-post h3 + .panel-outline {
  margin-top: 0;
}

.heading-lv4 {
  margin: 3em 0 1em;
  font-size: 2.1rem;
}

.heading-lv5 {
  margin: 3em 0 1em;
}

/* ----- text ----- */
.text-block {
  margin: 50px auto;
}

.text-block:first-child {
  margin-top: 0;
}

.text-block:last-child {
  margin-bottom: 0;
}

.text-block > p {
  margin: 1.5em 0;
}

.text-block > p:first-child {
  margin-top: 0;
}

.text-block > p:last-child {
  margin-bottom: 0;
}

.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-indent {
  text-indent: 1em;
}

.text-line-camp-1, .text-line-camp-2, .text-line-camp-3, .text-line-camp-4, .text-line-camp-5 {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.text-line-camp-1 {
  -webkit-line-clamp: 1 !important;
}

.text-line-camp-2 {
  -webkit-line-clamp: 2 !important;
}

.text-line-camp-3 {
  -webkit-line-clamp: 3 !important;
}

.text-line-camp-4 {
  -webkit-line-clamp: 4 !important;
}

.text-line-camp-5 {
  -webkit-line-clamp: 5 !important;
}

.text-line-camp-unset {
  -webkit-line-clamp: unset !important;
}

.text-note {
  margin: .75em 0;
  font-size: 1.3rem;
}

.text-note:first-child {
  margin-top: 0;
}

.text-note:last-child {
  margin-bottom: 0;
}

/* ----- indent ----- */
.indent-block {
  padding-left: 1em;
  text-indent: -1em;
}

/* ----- button ----- */
.button-block, .button-block-bg, .button-list-item {
  text-align: center;
}

.button-block .button, .button-block-bg .button, .button-list-item .button {
  min-width: 260px;
}

.-lg.button-block .button, .-lg.button-block-bg .button, .-lg.button-list-item .button {
  width: 390px;
}

.-xl.button-block .button, .-xl.button-block-bg .button, .-xl.button-list-item .button {
  width: 500px;
}

.button-block {
  margin-top: 60px;
}

.button-block-bg {
  padding: 74px 0 66px;
  background: -webkit-gradient(linear, left top, left bottom, from(#eff1f4), to(#e1e6ea)) no-repeat;
  background: linear-gradient(180deg, #eff1f4, #e1e6ea) no-repeat;
}

.button-list.-column .button, .button-list.-column-2 .button, .button-list.-column-3 .button, .button-list.-column-4 .button {
  width: 100%;
}

.button-list {
  margin: 70px 0 -40px;
}

.button-list.-left {
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
}

.button-list:first-child {
  margin-top: 0;
}

.button-list + .button-list, .button-block + .button-list {
  margin-top: 60px;
}

.button-list-item {
  padding-bottom: 40px;
}

.button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-box-shadow: -2px -2px 5px #ffffff, 10px 10px 20px rgba(0, 0, 0, 0.25);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 60px;
  padding: 5px 40px;
  border-radius: 60px;
  background: -webkit-gradient(linear, left top, left bottom, from(#eff1f4), to(#e1e6ea)) no-repeat;
  background: linear-gradient(180deg, #eff1f4, #e1e6ea) no-repeat;
  box-shadow: -2px -2px 5px #ffffff, 10px 10px 20px rgba(0, 0, 0, 0.25);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1), -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.button:hover {
  -webkit-box-shadow: -1px -1px 3px #ffffff, 5px 5px 10px rgba(0, 0, 0, 0.25);
  box-shadow: -1px -1px 3px #ffffff, 5px 5px 10px rgba(0, 0, 0, 0.25);
}

.button:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.button::after {
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 19px;
  height: 9px;
  margin: auto;
  background: url(/common/images/icon_arrow_r_bold.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.button:hover {
  text-decoration: none;
}

.button:hover::after {
  -webkit-transform: translate(8px);
  transform: translate(8px);
}

.button[target="_blank"]::after {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/icon_blank.svg);
}

.button[target="_blank"]:hover::after {
  -webkit-transform: translate(0);
  transform: translate(0);
}

.button.-dark {
  -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.92), 0 0 14px rgba(100, 100, 100, 0.5);
  background: linear-gradient(93deg, #14141a, #1f1f22);
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.92), 0 0 14px rgba(100, 100, 100, 0.5);
  color: #ffffff;
}

.button.-dark::after {
  background-image: url(/common/images/icon_arrow_r_bold_white.svg);
}

.button.-dark:hover {
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.92), 0 0 7px rgba(100, 100, 100, 0.5);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.92), 0 0 7px rgba(100, 100, 100, 0.5);
}

.button.-dark:active {
  -webkit-box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.15) inset, -2px -2px 2px rgba(100, 100, 100, 0.5) inset, 3px 3px 3px rgba(0, 0, 0, 0.15) inset;
  box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.15) inset, -2px -2px 2px rgba(100, 100, 100, 0.5) inset, 3px 3px 3px rgba(0, 0, 0, 0.15) inset;
}

.button.-not-arrow {
  padding-right: 10px;
  padding-left: 10px;
}

.button.-not-arrow::after {
  content: none;
}

.button.-back::after {
  right: auto;
  left: 20px;
  background-image: url(/common/images/icon_arrow_l_bold.svg);
}

.button.-back:hover::after {
  -webkit-transform: translate(-8px);
  transform: translate(-8px);
}

.button.-outline {
  -webkit-box-shadow: none;
  border: 1px solid;
  background: transparent;
  box-shadow: none;
}

.button.-outline.-dx {
  border: none;
  background: #b8b9f2;
  transition: all .4s;
}

.button.-outline.-dx:hover {
  color: #ffffff;
  background: #443472;
  transition: all .4s;
}

.button.-outline.-dx::after {
  transition: all .2s;
}

.button.-outline.-dx:hover::after {
  background-image: url(/common/images/icon_arrow_r_bold_white.svg);
  transition: all .4s;
}

.button.-outline.-light {
  color: #ffffff;
}

.button.-outline.-light::after {
  background-image: url(/common/images/icon_arrow_r_bold_white.svg);
}

/* ----- link ----- */
.link-text[href$=".pdf"]::after, .link-list-title a[href$=".pdf"]::after, .link-list > li > a[href$=".pdf"]::after, .link-text.-mb[href$=".pdf"]::after, .link-list-title a.-mb[href$=".pdf"]::after, .link-list > li > a.-mb[href$=".pdf"]::after, .link-text[href$=".epub"]::after, .link-list-title a[href$=".epub"]::after, .link-list > li > a[href$=".epub"]::after, .link-text[href$=".xls"]::after, .link-list-title a[href$=".xls"]::after, .link-list > li > a[href$=".xls"]::after, .link-text[href$=".xlsx"]::after, .link-list-title a[href$=".xlsx"]::after, .link-list > li > a[href$=".xlsx"]::after, .link-text[href$=".doc"]::after, .link-list-title a[href$=".doc"]::after, .link-list > li > a[href$=".doc"]::after, .link-text[href$=".zip"]::after, .link-list-title a[href$=".zip"]::after, .link-list > li > a[href$=".zip"]::after, .link-text[href$=".ppt"]::after, .link-list-title a[href$=".ppt"]::after, .link-list > li > a[href$=".ppt"]::after, .link-text.-mb[href$=".ppt"]::after, .link-list-title a.-mb[href$=".ppt"]::after, .link-list > li > a.-mb[href$=".ppt"]::after, .link-text[href$=".pptx"]::after, .link-list-title a[href$=".pptx"]::after, .link-list > li > a[href$=".pptx"]::after, .link-text.-mb[href$=".pptx"]::after, .link-list-title a.-mb[href$=".pptx"]::after, .link-list > li > a.-mb[href$=".pptx"]::after, .link-text[href$=".key"]::after, .link-list-title a[href$=".key"]::after, .link-list > li > a[href$=".key"]::after {
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 1em;
  padding-left: 23px;
  background: no-repeat 0 50%;
  background-size: 13.5px 18px;
  font-weight: 400;
  text-decoration: none;
  vertical-align: .25em;
}

.link-text[href$=".pdf"]:after, .link-list-title a[href$=".pdf"]:after, .link-list > li > a[href$=".pdf"]:after, .link-text.-mb[href$=".pdf"]:after, .link-list-title a.-mb[href$=".pdf"]:after, .link-list > li > a.-mb[href$=".pdf"]:after, .link-text[href$=".epub"]:after, .link-list-title a[href$=".epub"]:after, .link-list > li > a[href$=".epub"]:after, .link-text[href$=".xls"]:after, .link-list-title a[href$=".xls"]:after, .link-list > li > a[href$=".xls"]:after, .link-text[href$=".xlsx"]:after, .link-list-title a[href$=".xlsx"]:after, .link-list > li > a[href$=".xlsx"]:after, .link-text[href$=".doc"]:after, .link-list-title a[href$=".doc"]:after, .link-list > li > a[href$=".doc"]:after, .link-text[href$=".zip"]:after, .link-list-title a[href$=".zip"]:after, .link-list > li > a[href$=".zip"]:after, .link-text[href$=".ppt"]:after, .link-list-title a[href$=".ppt"]:after, .link-list > li > a[href$=".ppt"]:after, .link-text.-mb[href$=".ppt"]:after, .link-list-title a.-mb[href$=".ppt"]:after, .link-list > li > a.-mb[href$=".ppt"]:after, .link-text[href$=".pptx"]:after, .link-list-title a[href$=".pptx"]:after, .link-list > li > a[href$=".pptx"]:after, .link-text.-mb[href$=".pptx"]:after, .link-list-title a.-mb[href$=".pptx"]:after, .link-list > li > a.-mb[href$=".pptx"]:after, .link-text[href$=".key"]:after, .link-list-title a[href$=".key"]:after, .link-list > li > a[href$=".key"]:after {
  vertical-align: 0;
}

.link-text[target="_blank"]:not(:hover)[href$=".pdf"], .link-list-title a[target="_blank"]:not(:hover)[href$=".pdf"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".pdf"], .link-text[target="_blank"]:not(:hover)[href$=".epub"], .link-list-title a[target="_blank"]:not(:hover)[href$=".epub"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".epub"], .link-text[target="_blank"]:not(:hover)[href$=".xls"], .link-list-title a[target="_blank"]:not(:hover)[href$=".xls"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".xls"], .link-text[target="_blank"]:not(:hover)[href$=".xlsx"], .link-list-title a[target="_blank"]:not(:hover)[href$=".xlsx"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".xlsx"], .link-text[target="_blank"]:not(:hover)[href$=".doc"], .link-list-title a[target="_blank"]:not(:hover)[href$=".doc"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".doc"], .link-text[target="_blank"]:not(:hover)[href$=".zip"], .link-list-title a[target="_blank"]:not(:hover)[href$=".zip"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".zip"], .link-text[target="_blank"]:not(:hover)[href$=".ppt"], .link-list-title a[target="_blank"]:not(:hover)[href$=".ppt"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".ppt"], .link-text[target="_blank"]:not(:hover)[href$=".pptx"], .link-list-title a[target="_blank"]:not(:hover)[href$=".pptx"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".pptx"], .link-text[target="_blank"]:not(:hover)[href$=".key"], .link-list-title a[target="_blank"]:not(:hover)[href$=".key"], .link-list > li > a[target="_blank"]:not(:hover)[href$=".key"] {
  text-decoration: underline;
}

.link-text[href$=".pdf"][target="_blank"]::after, .link-list-title a[href$=".pdf"][target="_blank"]::after, .link-list > li > a[href$=".pdf"][target="_blank"]::after, .link-text[href$=".epub"][target="_blank"]::after, .link-list-title a[href$=".epub"][target="_blank"]::after, .link-list > li > a[href$=".epub"][target="_blank"]::after, .link-text[href$=".xls"][target="_blank"]::after, .link-list-title a[href$=".xls"][target="_blank"]::after, .link-list > li > a[href$=".xls"][target="_blank"]::after, .link-text[href$=".xlsx"][target="_blank"]::after, .link-list-title a[href$=".xlsx"][target="_blank"]::after, .link-list > li > a[href$=".xlsx"][target="_blank"]::after, .link-text[href$=".doc"][target="_blank"]::after, .link-list-title a[href$=".doc"][target="_blank"]::after, .link-list > li > a[href$=".doc"][target="_blank"]::after, .link-text[href$=".zip"][target="_blank"]::after, .link-list-title a[href$=".zip"][target="_blank"]::after, .link-list > li > a[href$=".zip"][target="_blank"]::after, .link-text[href$=".ppt"][target="_blank"]::after, .link-list-title a[href$=".ppt"][target="_blank"]::after, .link-list > li > a[href$=".ppt"][target="_blank"]::after, .link-text[href$=".pptx"][target="_blank"]::after, .link-list-title a[href$=".pptx"][target="_blank"]::after, .link-list > li > a[href$=".pptx"][target="_blank"]::after, .link-text[href$=".key"][target="_blank"]::after, .link-list-title a[href$=".key"][target="_blank"]::after, .link-list > li > a[href$=".key"][target="_blank"]::after {
  width: auto;
  height: auto;
  background-position: 0 50%;
  background-size: 13.5px 18px;
}

.link-text[target="_blank"][href$=".epub"].-mb:after, .link-list-title a[target="_blank"][href$=".epub"].-mb:after, .link-list > li > a[target="_blank"][href$=".epub"].-mb:after {
  content: "EPUB（" attr(data-file-capacity) "MB）";
}

.link-text[target="_blank"][href$=".key"].-mb:after, .link-list-title a[target="_blank"][href$=".key"].-mb:after, .link-list > li > a[target="_blank"][href$=".key"].-mb:after {
  content: "KEY（" attr(data-file-capacity) "MB）";
}

.link-text, .link-list-title a, .link-list > li > a {
  text-decoration: underline;
}

.link-text:hover, .link-list-title a:hover, .link-list > li > a:hover {
  text-decoration: none;
}

.link-text[target="_blank"], .link-list-title a[target="_blank"], .link-list > li > a[target="_blank"] {
  text-decoration: none;
}

.link-text[target="_blank"]::after, .link-list-title a[target="_blank"]::after, .link-list > li > a[target="_blank"]::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 0.6em;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

.link-text[target="_blank"]::after, .link-list-title a[target="_blank"]::after, .link-list > li > a[target="_blank"]::after {
  vertical-align: middle;
}

.link-text[target="_blank"]:hover, .link-list-title a[target="_blank"]:hover, .link-list > li > a[target="_blank"]:hover {
  text-decoration: underline;
}

.link-text[href$=".pdf"]:after, .link-list-title a[href$=".pdf"]:after, .link-list > li > a[href$=".pdf"]:after {
  background-image: url(/common/images/icon_pdf.svg);
  content: "PDF（" attr(data-file-capacity) "KB）";
}

.link-text[href$=".pdf"].-mb:after, .link-list-title a[href$=".pdf"].-mb:after, .link-list > li > a[href$=".pdf"].-mb:after {
  background-image: url(/common/images/icon_pdf.svg);
  content: "PDF（" attr(data-file-capacity) "MB）";
}

.link-text[href$=".ppt"]:after, .link-list-title a[href$=".ppt"]:after, .link-list > li > a[href$=".ppt"]:after, .link-text[href$=".pptx"]:after, .link-list-title a[href$=".pptx"]:after, .link-list > li > a[href$=".pptx"]:after {
  background-image: url(/common/images/icon_ppt.svg);
  content: "PPT（" attr(data-file-capacity) "KB）";
}

.link-text[href$=".ppt"].-mb:after, .link-list-title a[href$=".ppt"].-mb:after, .link-list > li > a[href$=".ppt"].-mb:after, .link-text[href$=".pptx"].-mb:after, .link-list-title a[href$=".pptx"].-mb:after, .link-list > li > a[href$=".pptx"].-mb:after {
  background-image: url(/common/images/icon_ppt.svg);
  content: "PPT（" attr(data-file-capacity) "MB）";
}

.link-text[href$=".epub"]:after, .link-list-title a[href$=".epub"]:after, .link-list > li > a[href$=".epub"]:after {
  content: "EPUB（" attr(data-file-capacity) "KB）";
}

.link-text[href$=".key"]:after, .link-list-title a[href$=".key"]:after, .link-list > li > a[href$=".key"]:after {
  content: "KEY（" attr(data-file-capacity) "KB）";
}

.link-text[href$=".xls"]:after, .link-list-title a[href$=".xls"]:after, .link-list > li > a[href$=".xls"]:after, .link-text[href$=".xlsx"]:after, .link-list-title a[href$=".xlsx"]:after, .link-list > li > a[href$=".xlsx"]:after {
  background-image: url(/common/images/icon_xls.svg);
  content: "XLS（" attr(data-file-capacity) "KB）";
}

.link-text[href$=".xls"].-mb:after, .link-list-title a[href$=".xls"].-mb:after, .link-list > li > a[href$=".xls"].-mb:after, .link-text[href$=".xlsx"].-mb:after, .link-list-title a[href$=".xlsx"].-mb:after, .link-list > li > a[href$=".xlsx"].-mb:after {
  background-image: url(/common/images/icon_xls.svg);
  content: "XLS（" attr(data-file-capacity) "MB）";
}

.link-text[href$=".doc"]:after, .link-list-title a[href$=".doc"]:after, .link-list > li > a[href$=".doc"]:after {
  background-image: url(/common/images/icon_doc.svg);
  content: "DOC（" attr(data-file-capacity) "KB）";
}

.link-text[href$=".doc"].-mb:after, .link-list-title a[href$=".doc"].-mb:after, .link-list > li > a[href$=".doc"].-mb:after {
  background-image: url(/common/images/icon_doc.svg);
  content: "DOC（" attr(data-file-capacity) "MB）";
}

.link-text[href$=".zip"]:after, .link-list-title a[href$=".zip"]:after, .link-list > li > a[href$=".zip"]:after {
  background-image: url(/common/images/icon_pdf.svg);
  content: "ZIP（" attr(data-file-capacity) "KB）";
}

.link-text[href$=".zip"].-mb:after, .link-list-title a[href$=".zip"].-mb:after, .link-list > li > a[href$=".zip"].-mb:after {
  background-image: url(/common/images/icon_pdf.svg);
  content: "ZIP（" attr(data-file-capacity) "MB）";
}

.link-list-title {
  margin: 30px 0 10px;
  font-size: 2.1rem;
  font-weight: 700;
}

.link-list-title:first-child {
  margin-top: 0;
}

.link-list-title .link-arrow {
  text-decoration: none;
}

.link-list > li + li {
  margin-top: 10px;
}

.link-list > li .link-arrow, .link-list > li .link-anchor {
  text-decoration: none;
}

.link-list-inside {
  margin-top: 40px;
}

.link-list-inside:first-child {
  margin-top: 0;
}

.link-arrow, .link-arrow-list > li > a {
  display: inline-block;
  text-decoration: none;
}

.link-arrow::after, .link-arrow-list > li > a::after {
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  display: inline-block;
  width: 12px;
  height: 6px;
  margin-left: .5em;
  background: url(/common/images/icon_arrow_r_bold.svg) no-repeat 50% 50%;
  background-size: contain;
  vertical-align: .25em;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.link-arrow:hover::after, .link-arrow-list > li > a:hover::after {
  -webkit-transform: translateX(8px);
  transform: translateX(8px);
}

.link-arrow-list > li + li {
  margin-top: 10px;
}

.link-anchor, .link-anchor-list > li > a {
  display: inline-block;
  position: relative;
  text-decoration: none;
}

.link-anchor::after, .link-anchor-list > li > a::after {
  -webkit-transform: rotate(135deg);
  position: absolute;
  top: 0;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(135deg);
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  content: "";
}

.link-anchor:hover, .link-anchor-list > li > a:hover {
  text-decoration: underline;
}

.link-anchor {
  padding-right: 20px;
}

.link-anchor::after {
  right: 2px;
}

.link-anchor-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin: -20px;
}

.link-anchor-list.-narrow > li {
  padding-bottom: 0px;
}

.link-anchor-list > li {
  padding: 20px;
}

.link-anchor-list > li > a {
  padding-left: 20px;
  font-weight: 500;
}

.link-anchor-list > li > a:after {
  left: 2px;
}

.link-anchor-block {
  margin: 40px 0;
}

.link-anchor-block:first-child {
  margin-top: 0;
}

.link-anchor-block:last-child {
  margin-bottom: 0;
}

.link-rss {
  -webkit-transition: opacity 0.3s ease-in-out;
  display: inline-block;
  font-size: 1.3rem;
  line-height: 1;
  text-align: center;
  transition: opacity 0.3s ease-in-out;
}

.link-rss::before {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 auto 6px;
  background: url(/common/images/icon_rss.svg) no-repeat 50% 50%;
  background-size: contain;
  content: "";
}

/* ----- list ----- */

.list-annotation {
  font-size: 1.3rem;
}

.list-annotation > li {
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
}

.list-annotation > li::before {
  -ms-flex-negative: 0;
  display: block;
  flex-shrink: 0;
  margin-right: 10px;
}

ul.list-annotation > li::before {
  content: "※";
}

ol.list-annotation {
  counter-reset: count 0;
}

ol.list-annotation.-no-reset {
  counter-reset: none;
}

ol.list-annotation > li {
  counter-increment: count;
}

ol.list-annotation > li::before {
  content: "*" counter(count);
}

.list-decimal, .article-post ol {
  list-style: decimal;
}

.list-decimal > li, .article-post ol > li {
  margin-left: 18px;
  padding-left: 8px;
}

.list-decimal > li .list-disc, .article-post ol > li .list-disc, .list-decimal > li .article-post ul, .article-post .list-decimal > li ul, .article-post ol > li ul {
  margin-top: 1.0em;
}

.list-annotation, .list-decimal, .article-post ol, .list-disc, .article-post ul {
  margin: 40px 0;
}

.list-annotation:first-child, .list-decimal:first-child, .article-post ol:first-child, .list-disc:first-child, .article-post ul:first-child, h2 + .list-annotation, h2 + .list-decimal, .article-post h2 + ol, h2 + .list-disc, .article-post h2 + ul, h3 + .list-annotation, h3 + .list-decimal, .article-post h3 + ol, h3 + .list-disc, .article-post h3 + ul {
  margin-top: 0;
}

.list-annotation:last-child, .list-decimal:last-child, .article-post ol:last-child, .list-disc:last-child, .article-post ul:last-child {
  margin-bottom: 0;
}

.list-annotation > li + li, .list-decimal > li + li, .article-post ol > li + li, .list-disc > li + li, .article-post ul > li + li {
  margin-top: 1em;
}

.-compact.list-annotation > li + li, .-compact.list-decimal > li + li, .article-post ol.-compact > li + li, .-compact.list-disc > li + li, .article-post ul.-compact > li + li {
  margin-top: 0em;
}

.list-disc > li, .article-post ul > li, .list-disc > li > ul > li, .article-post ul > li > ul > li {
  position: relative;
  padding-left: 20px;
}

.list-disc > li::before, .article-post ul > li::before, .list-disc > li > ul > li::before, .article-post ul > li > ul > li::before {
  position: absolute;
  top: .6em;
  left: 0;
  width: 10px;
  height: 10px;
  border: 1px solid #000000;
  border-radius: 50%;
  background-color: #000000;
  content: "";
}

.list-disc > li > ul, .article-post ul > li > ul {
  margin: 40px 0 40px 10px;
}

.list-disc > li > ul > li::before, .article-post ul > li > ul > li::before {
  background-color: transparent;
}

.list-disc > li:last-child > ul, .article-post ul > li:last-child > ul {
  margin-bottom: 0;
}

/* ----- image ----- */
.image-block, .iframe-block {
  position: relative;
  margin: 50px 0;
  text-align: center;
}

.image-block.-sm img, .-sm.iframe-block img {
  max-width: 70%;
}

.image-block:first-child, .iframe-block:first-child, [class*="heading-lv"] + .image-block, [class*="heading-lv"] + .iframe-block {
  margin-top: 0;
}

.image-block:last-child, .iframe-block:last-child {
  margin-bottom: 0;
}

.image-block.-white-bg, .-white-bg.iframe-block {
  padding: 20px;
  border-radius: 10px;
  background: #fff;
}

.image-fluid {
  width: 100%;
}

.image-radius {
  overflow: hidden;
  border-radius: 20px;
}

.image-border {
  border: 1px solid #d8d8d8;
}

/* ----- iframe ----- */
.iframe-fluid iframe, .iframe-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.iframe-fluid {
  position: relative;
  padding-top: 56.25%;
}

.iframe-responsive {
  position: relative;
  padding-top: 56.25%;
}

/* ----- social ----- */
.social-block {
  margin: 70px 0;
}

.social-block:first-child {
  margin-top: 0;
}

.social-block:last-child {
  margin-bottom: 0;
}

.social-list {
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -9px;
}

.social-list.-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.social-list.-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.social-list-item {
  margin: 0 9px;
}

.social-list-item a {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.social-list-item img {
  height: 32px;
}

/* ----- label ----- */
.label {
  display: inline-block;
  min-width: 76px;
  padding: 3px 10px 2px;
  background-color: #000000;
  color: #ffffff;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.2;
  text-align: center;
}

.label.-new {
  background-color: #ff0000;
}

.label.-closed {
  background-color: #888888;
}

/* ----- tag ----- */
.hashtag-list {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  position: relative;
  /*IE対策*/
  height: 2.5em;
  padding-top: 0.75em;
  overflow: hidden;
  font-size: 1.3rem;
  text-overflow: ellipsis;
  word-break: break-all;
}

.hashtag-list::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 33px;
  border-top: 1px solid;
  content: '';
}

.hashtag-list > li {
  display: inline;
  margin-right: 0.75em;
}

.hashtag-list.-normal {
  -webkit-line-clamp: inherit;
  display: block;
  height: auto;
  padding-top: 0;
  overflow: visible;
  text-overflow: inherit;
}

.hashtag-list.-normal::before {
  content: none;
}

.tag-button {
  -webkit-transition: .15s ease-in-out;
  -webkit-transition-property: color, background-color;
  padding: 3px 11px;
  border-radius: 12px;
  font-weight: 500;
  transition: .15s ease-in-out;
  transition-property: color, background-color;
}

.-lg .tag-button {
  font-size: 1.6rem;
}

.tag-button:hover {
  text-decoration: none;
}

.tag-button.is-active {
  background-color: #000000;
  color: #ffffff;
}

.tag-field {
  -webkit-box-shadow: -3px 0 6px #ffffff inset, -4px 0 15px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  z-index: 1;
  position: relative;
  padding: 38px 78px;
  border: solid #ffffff;
  border-width: 0 1px 1px 0;
  border-radius: 20px;
  background-color: #ebeef2;
  box-shadow: -3px 0 6px #ffffff inset, -4px 0 15px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  text-align: center;
}

.tag-field + .tag-field {
  margin-top: 30px;
}

.tag-field-title {
  margin: 40px 0 20px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}

.tag-field-title:first-of-type {
  margin-top: 0;
}

.tag-field-footer {
  margin: 18px -50px -16px;
  text-align: right;
}

.tag-field .tag-button-list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.tag-field .more-button-block {
  margin-top: 20px;
}

.tag-field.-recommend .tag-field-title-inner {
  position: relative;
}

.tag-field.-recommend .tag-field-title-inner::before, .tag-field.-recommend .tag-field-title-inner::after {
  display: block;
  position: absolute;
  top: 50%;
  width: 60px;
  height: 0;
  border-top: 2px solid #000;
  content: "";
}

.tag-field.-recommend .tag-field-title-inner::before {
  -webkit-transform: translate(-100%, -50%);
  left: -1em;
  transform: translate(-100%, -50%);
}

.tag-field.-recommend .tag-field-title-inner::after {
  -webkit-transform: translate(100%, -50%);
  right: -1em;
  transform: translate(100%, -50%);
}

.tag-button-list, .tag-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin: -6px;
}

.tag-button-list-item, .tag-list-item {
  margin: 6px;
}

.tag-button, .tag {
  display: inline-block;
  background-color: #ffffff;
  line-height: 1.2;
  text-align: center;
}

.tag {
  padding: 4px 6px;
  border-radius: 4px;
  font-size: 1.4rem;
}

/* ----- filtering ----- */
.filtering-area {
  padding: 50px 0 80px;
}

.filtering-button {
  -webkit-transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transition-property: opacity, -webkit-box-shadow;
  -webkit-box-shadow: 5px 6px 10px rgba(0, 0, 0, 0.21), -3px 0 10px #ffffff, 3px 0 10px #ffffff, -3px -2px 12px #ffffff;
  display: block;
  z-index: 1;
  position: relative;
  width: 100%;
  height: calc(100% - 13px);
  margin-bottom: 13px;
  border: solid #ffffff;
  border-width: 1px 0 0 1px;
  border-radius: 10px;
  background-color: #e6eaee;
  box-shadow: 5px 6px 10px rgba(0, 0, 0, 0.21), -3px 0 10px #ffffff, 3px 0 10px #ffffff, -3px -2px 12px #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition-property: opacity, -webkit-box-shadow;
  transition-property: box-shadow, opacity;
  transition-property: box-shadow, opacity, -webkit-box-shadow;
}

.filtering-button::before {
  -webkit-transform: rotate(45deg);
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  width: 17px;
  height: 17px;
  margin: auto;
  transform: rotate(45deg);
  background-color: #e6eaee;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  content: "";
  opacity: 0;
}

.filtering-button:hover {
  text-decoration: none;
}

.filtering-button-inner {
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 13px 10px 15px;
  border-radius: 10px;
  background-color: #e6eaee;
  opacity: 0.5;
}

.filtering-button.is-active .filtering-button-inner {
  opacity: 1;
}

.filtering-button.is-active::before {
  opacity: 1;
}

.filtering-button:not(.is-active):hover {
  -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
  box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
}

.filtering-button:not(.is-active):active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.filtering-button:not(.is-active):active .filtering-button-inner:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.filtering-button.-toggle {
  position: relative;
}

.filtering-button.-toggle::after {
  -webkit-transform: rotate(45deg) translate(-1px, -1px);
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(45deg) translate(-1px, -1px);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  content: "";
}

.filtering-button.-toggle::after {
  z-index: 1;
}

.filtering-button.-toggle .filtering-button-inner {
  padding-right: 25px;
  padding-left: 25px;
}

.filtering-button-list {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: relative;
  justify-content: space-between;
  margin: 0 auto 14px;
}

.filtering-button-list-item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  position: relative;
  flex: 1;
  margin-left: 48px;
}

.-narrow .filtering-button-list-item {
  margin-left: 24px;
}

.filtering-button-list-item:first-child {
  margin-left: 0;
}

.filtering-button-list-item .filtering-selectbox {
  margin: 0 -4px;
  padding: 44px 38px 30px;
}

.filtering-selectbox-moblie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  opacity: 0;
}

.filtering-selectbox {
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.37);
  padding: 50px 45px 25px;
  overflow: hidden;
  border: solid #ffffff;
  border-width: 1px 0 0 1px;
  border-radius: 15px;
  background: linear-gradient(135deg, #eff1f4, #e1e6ea);
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.37);
}

.filtering-selectbox-option {
  -webkit-transition: color .2s;
  border-bottom: 1px solid #cecece;
  transition: color .2s;
}

.filtering-selectbox-option-inner {
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.12, 0.88, 0.33, 1.18);
  display: block;
  padding: 11px 0;
  cursor: pointer;
  transition: -webkit-transform 0.9s cubic-bezier(0.12, 0.88, 0.33, 1.18);
  transition: transform 0.9s cubic-bezier(0.12, 0.88, 0.33, 1.18);
  transition: transform 0.9s cubic-bezier(0.12, 0.88, 0.33, 1.18), -webkit-transform 0.9s cubic-bezier(0.12, 0.88, 0.33, 1.18);
}

.filtering-selectbox-option.is-hidden {
  display: none;
}

.filtering-selectbox-group {
  position: relative;
}

.filtering-selectbox-group .filtering-label.is-active {
  z-index: 2;
}

.filtering-selectbox-group .is-active + .filtering-content {
  z-index: 1;
}

.filtering.-toggle {
  border: 1px solid #d8d8d8;
  border-radius: 20px;
}

.filtering.-toggle .filtering-label::before, .filtering.-toggle .filtering-label::after, .filtering.-toggle .filtering-content-close::before, .filtering.-toggle .filtering-content-close::after {
  width: 30px;
  height: 1px;
  border: solid #000000;
  border-width: 1px 0 0;
}

.filtering.-toggle .filtering-label {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-shadow: -3px 0 6px #ffffff inset, -4px 0 15px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  padding: 15px 80px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  border-radius: 20px;
  background-color: #ebeef2;
  box-shadow: -3px 0 6px #ffffff inset, -4px 0 15px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  color: #000000;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}

.filtering.-toggle .filtering-label::before, .filtering.-toggle .filtering-label::after {
  right: 40px;
}

.filtering.-toggle .filtering-label::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
}

.filtering.-toggle .filtering-label::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.filtering.-toggle .filtering-content-close {
  width: 30px;
  height: 30px;
}

.filtering.-toggle .filtering-content-close::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}

.filtering {
  position: relative;
  font-size: 1.4rem;
}

.filtering-label {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-shadow: -6px -6px 6px #ffffff inset, -5px -5px 5px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  height: 50px;
  padding: 8px 40px 8px 20px;
  border-radius: 25px;
  box-shadow: -6px -6px 6px #ffffff inset, -5px -5px 5px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  color: #898989;
  line-height: 1.2;
  cursor: pointer;
}

.filtering-label::after {
  -webkit-transform: rotate(45deg) translate(-1px, -1px);
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(45deg) translate(-1px, -1px);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  content: "";
}

.filtering-label:focus, .filtering-label:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.filtering-label.is-active {
  -webkit-box-shadow: none;
  border-radius: 15px;
  background-color: transparent;
  box-shadow: none;
}

.filtering-label.is-active::after {
  -webkit-transform: rotate(-135deg) translate(-2px, -2px);
  transform: rotate(-135deg) translate(-2px, -2px);
}

.filtering-content {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.is-active + .filtering-content {
  display: block;
}

.filtering-content-close {
  display: block;
  position: absolute;
  top: 18px;
  right: 30px;
  width: 20px;
  height: 20px;
}

.filtering-content-close::after {
  -webkit-transform: rotate(-135deg) translate(-1px, -1px);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(-135deg) translate(-1px, -1px);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  content: "";
}

.filtering-link-block {
  margin-top: 20px;
  text-align: center;
}

.filtering-link-block a {
  -webkit-transition: opacity 0.3s ease-in-out;
  position: relative;
  position: relative;
  padding-right: 14px;
  transition: opacity 0.3s ease-in-out;
}

.filtering-link-block a::after {
  -webkit-transform: rotate(-45deg) translate(-1px, -1px);
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(-45deg) translate(-1px, -1px);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  content: "";
}

.filtering-clear {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-transition: opacity 0.3s ease-in-out;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  font-size: 1.5rem;
  font-weight: 500;
  transition: opacity 0.3s ease-in-out;
}

.filtering-clear-icon {
  -webkit-transform: rotate(45deg);
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  transform: rotate(45deg);
  border-radius: 50%;
  background-color: #ffffff;
}

.filtering-clear-icon::before, .filtering-clear-icon::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 13px;
  height: 1px;
  margin: auto;
  background-color: #000000;
  content: "";
}

.filtering-clear-icon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.filtering-block {
  margin: 40px 0 50px;
}

.filtering-block:first-child {
  margin-top: 0;
}

.filtering-block:last-child {
  margin-bottom: 0;
}

.filtering-block .filtering-label {
  width: 380px;
}

/* ----- information ----- */
.information-list-item {
  position: relative;
}

.information-list-item::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 391px;
  margin: 0 auto;
  border-bottom: 1px solid #d8d8d8;
  content: "";
}

.information-list.-multiple .information-list-item::after {
  width: 100%;
}

.information-list.-emergency .information-list-item::after {
  content: none;
}

.information-list.-link-list .information-list-item::after {
  content: none;
}

.information-list-item + .information-list-item {
  margin-top: 18px;
}

.information-list.-multiple .information-list-item + .information-list-item {
  margin-top: 30px;
}

.information-section {
  max-width: 1035px;
  margin: 40px auto 0;
}

.information-section + .information-section {
  margin-top: 60px;
}

.information-section:first-child {
  margin-top: 0;
}

.information {
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: flex-start;
  padding-bottom: 1em;
  line-height: 1.625;
}

.information-list.-multiple .information {
  padding-bottom: 30px;
}

.information-list.-link-list .information .information-title {
  font-weight: normal;
}

.information::after {
  display: block;
  clear: both;
  content: '';
}

.information-data {
  -ms-flex-negative: 0;
  display: inline-block;
  flex-shrink: 0;
  min-width: 6em;
  margin-top: 5px;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.21429;
}

.information-category {
  display: inline-block;
  min-width: 10em;
  margin-left: .75em;
  font-size: 1.4rem;
}

.information-title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 1.25em;
  font-weight: 700;
}

[target="_blank"] .information-title::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 0.6em;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

[target="_blank"] .information-title::after {
  vertical-align: 0;
}

.information-title-arrow {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 1em;
}

.information-title-arrow::after {
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  display: inline-block;
  width: 12px;
  height: 6px;
  margin-left: .5em;
  background: url(/common/images/icon_arrow_r.svg) no-repeat 50% 50%;
  background-size: contain;
  vertical-align: .25em;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.information:hover .information-title-arrow::after {
  -webkit-transform: translateX(8px);
  transform: translateX(8px);
}

.information-pict {
  -ms-flex-negative: 0;
  position: relative;
  flex-shrink: 0;
  width: 228px;
  margin-right: 20px;
  padding-top: 128px;
  overflow: hidden;
  border-radius: 15px;
  background-color: #ffffff;
}

.information-pict img {
  -o-object-fit: contain;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

.information-content::after {
  display: block;
  clear: both;
  content: '';
}

.information-content .information-data {
  padding-right: 0;
}

.information-content .information-title {
  margin-bottom: 20px;
}

.information-label, .information-tags {
  margin-bottom: 10px;
  line-height: 1;
}

.information-label {
  margin-right: 8px;
}

.information-hashtags {
  margin-top: 20px;
}

/* ----- card ----- */
.card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-shadow: 9px 8px 10px rgba(0, 0, 0, 0.21), 0 0 5px 0 #ffffff, -4px 0 5px 0 #ffffff, -4px -6px 15px #ffffff;
  -webkit-transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 40px;
  overflow: hidden;
  border: solid #ffffff;
  border-width: 1px 0 0 1px;
  border-radius: 30px;
  background: linear-gradient(-38deg, #eff1f4, #e1e6ea);
  box-shadow: 9px 8px 10px rgba(0, 0, 0, 0.21), 0 0 5px 0 #ffffff, -4px 0 5px 0 #ffffff, -4px -6px 15px #ffffff;
  transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1), -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.card::after {
  display: block;
  clear: both;
  content: '';
}

.card:not(:first-child), .card:not(:last-child) {
  height: auto;
}

.card:hover {
  -webkit-box-shadow: 15px 14px 17px rgba(0, 0, 0, 0.21), 0 0 8px 0 #ffffff, -7px 0 8px 0 #ffffff, -7px -10px 26px #ffffff;
  box-shadow: 15px 14px 17px rgba(0, 0, 0, 0.21), 0 0 8px 0 #ffffff, -7px 0 8px 0 #ffffff, -7px -10px 26px #ffffff;
  text-decoration: none;
}

.card:hover .card-pict img {
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}

.card:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.card:active {
  border-color: transparent;
}

.card + .card {
  margin-top: 50px;
}

.card-pict {
  position: relative;
  margin-bottom: 15px;
  padding-top: 56.25%;
  overflow: hidden;
  border-radius: 20px;
  background-color: #ffffff;
}

.card-pict img {
  -o-object-fit: contain;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

.card-pict img {
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.card-pict.-book, .card-pict.-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.card-pict.-book {
  height: 220px;
}

.card-pict.-book img {
  width: 122px;
  height: 171px;
  border: 1px solid #d8d8d8;
}

.card-pict.-thumb {
  padding-top: 95%;
}

.card-pict.-thumb img {
  -o-object-fit: cover;
  object-fit: cover;
}

.card-pict.-icon {
  height: 178px;
}

.card-pict.-icon img {
  width: 125px;
  height: 125px;
}

.card-content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.card-content p {
  margin-bottom: 20px;
}

.card-content p:last-child {
  margin-bottom: 0;
}

.card-content .card-title {
  margin-bottom: 10px;
}

.card-content .card-category {
  margin-bottom: 5px;
}

.card-data {
  margin-bottom: 3px;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 1.3rem;
  line-height: 1.15385;
}

.card-category {
  display: block;
  font-size: 1.4rem;
}

.card-heading {
  margin-bottom: 10px;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.26667;
}

[target="_blank"] .card-heading::after {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-left: 0.25em;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

.card-title {
  font-size: 2.1rem;
  font-weight: 700;
}

.card-title.-sm {
  font-size: 1.6rem;
}

.card-title > span {
  font-size: 1.5rem;
}

.card[target='_blank'] .card-title::after {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-left: 0.25em;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

.relation-link .card-title {
  -webkit-line-clamp: unset;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.35;
}

.relation-link .card-title > span {
  font-size: 1.3rem;
  font-weight: bold;
}

.card-description {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.card-description.-blank-icon::after {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-left: 0.25em;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

.relation-link .card-description {
  -webkit-line-clamp: unset;
  line-height: 1.35;
}

.card-hashtags {
  margin-top: auto;
}

.column-col-3 .card.-horizontal {
  padding: 20px;
  border-radius: 20px;
}

.card-content.relation-link > p {
  font-size: 1.5rem;
}

.card-list-item {
  margin: 0 auto 40px;
}

.card-list-item:not(.-wide) {
  max-width: 1073px;
}

.card-list-item:last-child {
  margin-bottom: 0;
}

.card-slider-list {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -25px;
}

.card-slider-list-item {
  width: 100%;
  padding: 0 25px;
}

.card-slider-list.slick-initialized {
  display: block;
}

.card-slider-list .slick-list {
  overflow: visible;
}

/* ----- box ----- */
.box {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.box + .box {
  margin-top: 46px;
}

.box-pict {
  margin-bottom: 20px;
  text-align: center;
}

.box-pict:first-child {
  margin-top: 0;
}

.box-pict:last-child {
  margin-bottom: 0;
}

.box-date {
  display: block;
  margin-bottom: 5px;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 1.3rem;
  line-height: 1.15385;
}

.box-category {
  margin-bottom: 5px;
  font-size: 1.4rem;
  line-height: 1.28571;
}

.box-heading {
  margin-bottom: 10px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.26667;
}

.box-heading:last-child {
  margin-bottom: 0;
}

.box-title {
  margin-bottom: 10px;
  font-size: 2.1rem;
  font-weight: 700;
}

.box-title.-sm {
  font-size: 1.6rem;
}

.box-tags {
  margin-top: auto;
}

.box-content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.box-content p, .box-content ul {
  margin-bottom: 1em;
}

.box-content p:last-child, .box-content ul:last-child {
  margin-bottom: 0;
}

.box-content ul {
  margin-top: 0;
}

.box-content .box-title {
  margin-bottom: 10px;
}

.box.-float::after {
  display: block;
  clear: both;
  content: '';
}

.box.-float-sp.-reverse .box-pict {
  margin-left: 15px;
  float: right;
}

.column-col-4 .box-title {
  font-size: 1.6rem;
}

/* ----- table ----- */
.table-responsive {
  overflow-x: auto;
}

.table-responsive + .table-responsive {
  margin-top: 50px;
}

/* th-width(px) 20-300 */
table.-th-w-20 th {
  width: 20px !important;
}

table.-th-w-40 th {
  width: 40px !important;
}

table.-th-w-60 th {
  width: 60px !important;
}

table.-th-w-80 th {
  width: 80px !important;
}

table.-th-w-100 th {
  width: 100px !important;
}

table.-th-w-120 th {
  width: 120px !important;
}

table.-th-w-140 th {
  width: 140px !important;
}

table.-th-w-160 th {
  width: 160px !important;
}

table.-th-w-180 th {
  width: 180px !important;
}

table.-th-w-200 th {
  width: 200px !important;
}

table.-th-w-220 th {
  width: 220px !important;
}

table.-th-w-240 th {
  width: 240px !important;
}

table.-th-w-260 th {
  width: 260px !important;
}

table.-th-w-280 th {
  width: 280px !important;
}

table.-th-w-300 th {
  width: 300px !important;
}

.table, .article-post table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1.6rem;
}

.-space .table, .-space .article-post table, .article-post .-space table {
  margin-top: 1.5em;
}

.-wide .table td, .-wide .article-post table td, .article-post .-wide table td, .-wide .table th, .-wide .article-post table th, .article-post .-wide table th {
  padding: 25px 15px;
}

.table.-no-decoration tbody th, .article-post table.-no-decoration tbody th {
  background-color: #ffffff;
  text-align: left;
}

.table.-no-decoration tbody tr, .article-post table.-no-decoration tbody tr {
  background-color: #ffffff;
}

.table.-no-decoration tbody td, .article-post table.-no-decoration tbody td {
  background-color: #ffffff;
}

.table.-no-decoration thead, .article-post table.-no-decoration thead {
  background-color: #ffffff;
  color: #000000;
}

.table.-decoration th, .article-post table.-decoration th, .table.-decoration td, .article-post table.-decoration td {
  border: 2px solid #ffffff;
}

.table + .table, .article-post table + .table, .article-post .table + table, .article-post table + table {
  margin-top: 50px;
}

.table th, .article-post table th, .table td, .article-post table td {
  padding: 8px 6px 7px;
  border: 1px solid #adadad;
  line-height: 1.5;
}

.table.-gray thead, .article-post table.-gray thead {
  background-color: #000000;
  color: #ffffff;
}

.table.-thead-left thead, .article-post table.-thead-left thead {
  text-align: left;
}

.table.-thead-left th, .article-post table.-thead-left th {
  padding: 8px 6px 7px;
}

.table thead, .article-post table thead {
  background-color: #000000;
  color: #ffffff;
  text-align: center;
}

.table thead th, .article-post table thead th {
  padding: 8px 2px 7px;
  font-weight: 500;
}

.table tbody th, .article-post table tbody th {
  background-color: #e1e6ea;
  font-weight: 400;
}

.table tbody tr:nth-child(odd), .article-post table tbody tr:nth-child(odd) {
  background-color: #f3f5f7;
}

.table tbody tr:nth-child(even), .article-post table tbody tr:nth-child(even) {
  background-color: #ffffff;
}

.table-section {
  margin-top: 50px;
}

.table.-td-color-gray tbody tr td:nth-child(4), .article-post table.-td-color-gray tbody tr td:nth-child(4) {
  background-color: #f3f5f7;
}

.table.-td-color-gray tbody tr td:nth-child(6), .article-post table.-td-color-gray tbody tr td:nth-child(6) {
  background-color: #f3f5f7;
}

.table.-td-color-gray tbody tr td:nth-child(9), .article-post table.-td-color-gray tbody tr td:nth-child(9) {
  background-color: #f3f5f7;
}

.table.-td-color-white tbody tr td:nth-child(2), .article-post table.-td-color-white tbody tr td:nth-child(2) {
  background-color: #ffffff;
}

.table.-td-color-white tbody tr td:nth-child(3), .article-post table.-td-color-white tbody tr td:nth-child(3) {
  background-color: #ffffff;
}

.table.-td-color-white tbody tr td:nth-child(5), .article-post table.-td-color-white tbody tr td:nth-child(5) {
  background-color: #ffffff;
}

.table.-td-color-white tbody tr td:nth-child(7), .article-post table.-td-color-white tbody tr td:nth-child(7) {
  background-color: #ffffff;
}

.table.-td-color-white tbody tr td:nth-child(8), .article-post table.-td-color-white tbody tr td:nth-child(8) {
  background-color: #ffffff;
}

.table.-vertical tbody tr td:nth-child(odd), .article-post table.-vertical tbody tr td:nth-child(odd) {
  background-color: #f3f5f7;
}

.table.-vertical tbody tr td:nth-child(even), .article-post table.-vertical tbody tr td:nth-child(even) {
  background-color: #ffffff;
}

.table.-inversion tbody tr:nth-child(even), .article-post table.-inversion tbody tr:nth-child(even) {
  background-color: #f3f5f7;
}

.table.-inversion tbody tr:nth-child(odd), .article-post table.-inversion tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

.table.-last-gray tbody tr:last-child, .article-post table.-last-gray tbody tr:last-child {
  background-color: #f3f5f7;
}

.table.-last-gray tbody tr:not(:last-child), .article-post table.-last-gray tbody tr:not(:last-child) {
  background-color: #ffffff;
}

.table.-free tbody tr, .article-post table.-free tbody tr {
  background-color: #ffffff;
}

.table.-free tbody tr.-gyay, .article-post table.-free tbody tr.-gyay {
  background-color: #f3f5f7;
}

/* ----- form ----- */
.form-control, .form-control-radius {
  display: block;
  width: 100%;
  font-size: 1.6rem;
}

.form-control:focus, .form-control-radius:focus {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.form-control::-webkit-input-placeholder, .form-control-radius::-webkit-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control::-moz-placeholder, .form-control-radius::-moz-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control:-ms-input-placeholder, .form-control-radius:-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control::-ms-input-placeholder, .form-control-radius::-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control::placeholder, .form-control-radius::placeholder {
  color: #898989;
  opacity: 1;
}

.is-error .form-control, .is-error .form-control-radius, .is-error .form-control-select > select {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.form-control {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-shadow: -6px -6px 6px #ffffff inset, -5px -5px 5px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 50px;
  padding: 8px 40px 8px 20px;
  border-radius: 10px;
  box-shadow: -6px -6px 6px #ffffff inset, -5px -5px 5px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  line-height: 1.2;
}

.form-control::-webkit-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control::-moz-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control::-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control::placeholder {
  color: #898989;
  opacity: 1;
}

.form-control-radius {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-shadow: -6px -6px 6px #ffffff inset, -5px -5px 5px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 50px;
  padding: 8px 40px 8px 20px;
  border-radius: 25px;
  box-shadow: -6px -6px 6px #ffffff inset, -5px -5px 5px #ffffff inset, 0 3px 6px rgba(0, 0, 0, 0.16) inset;
  line-height: 1.2;
}

.form-control-radius::-webkit-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control-radius::-moz-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control-radius:-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control-radius::-ms-input-placeholder {
  color: #898989;
  opacity: 1;
}

.form-control-radius::placeholder {
  color: #898989;
  opacity: 1;
}

textarea.form-control, textarea.form-control-radius {
  height: auto;
}

.form-control-select {
  position: relative;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.4;
}

.form-control-select::after {
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(45deg);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  content: "";
}

.form-control-select > select {
  -webkit-transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-box-shadow: 5px 6px 10px rgba(0, 0, 0, 0.21), -3px 0 10px #ffffff, 3px 0 10px #ffffff, -3px -2px 12px #ffffff;
  display: block;
  width: 100%;
  height: 53px;
  padding: 15px 36px;
  border: solid #ffffff;
  border-width: 1px 0 0 1px;
  border-radius: 10px;
  background-color: #e6eaee;
  box-shadow: 5px 6px 10px rgba(0, 0, 0, 0.21), -3px 0 10px #ffffff, 3px 0 10px #ffffff, -3px -2px 12px #ffffff;
  font-weight: 500;
  transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1), -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.form-control-select > select:hover {
  -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
  box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
}

.form-control-select > select:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.form-control-select-outline {
  position: relative;
  width: 100%;
  font-size: 1.6rem;
}

.form-control-select-outline::after {
  -webkit-transform: rotate(45deg) translate(-1px, -1px);
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(45deg) translate(-1px, -1px);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  content: "";
}

.form-control-select-outline > select {
  display: block;
  width: 100%;
  height: 40px;
  padding: 4px 16px;
  border: 1px solid #000000;
  border-radius: 4px;
  background-color: #ffffff;
}

.form-control-checkbox, .form-control-radio {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.form-control-checkbox > span, .form-control-radio > span {
  position: relative;
  min-height: 38px;
  padding-left: 38px;
}

.form-control-checkbox > span::before, .form-control-radio > span::before, .form-control-checkbox > span::after, .form-control-radio > span::after {
  -webkit-transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.form-control-checkbox > span::before, .form-control-radio > span::before {
  -webkit-transition-property: -webkit-box-shadow;
  -webkit-box-shadow: -5px -5px 10px #ffffff, 2px 2px 10px rgba(0, 0, 0, 0.31);
  width: 38px;
  height: 38px;
  background: linear-gradient(-40deg, rgba(239, 241, 244, 0.4), rgba(225, 230, 234, 0.4));
  box-shadow: -5px -5px 10px #ffffff, 2px 2px 10px rgba(0, 0, 0, 0.31);
  transition-property: -webkit-box-shadow;
  transition-property: box-shadow;
  transition-property: box-shadow, -webkit-box-shadow;
}

.form-control-checkbox > span > span, .form-control-radio > span > span {
  display: inline-block;
  padding-left: 10px;
  vertical-align: middle;
}

.form-control-checkbox input, .form-control-radio input {
  display: none;
}

.form-control-checkbox input:checked + span::before, .form-control-radio input:checked + span::before {
  -webkit-box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.16), inset -3px 0 6px #ffffff, inset -2px 0 5px #ffffff;
  border: solid #ffffff;
  border-width: 0 1px 1px 0;
  box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.16), inset -3px 0 6px #ffffff, inset -2px 0 5px #ffffff;
}

.form-control-checkbox > span::before {
  border-radius: 5px;
}

.form-control-checkbox > span::after {
  left: 9px;
  width: 21px;
  height: 16px;
  background: url(/common/images/icon_checked.svg) no-repeat 50% 50%;
  background-size: contain;
  opacity: 0;
}

.form-control-checkbox input[type="checkbox"]:checked + span::after {
  opacity: 1;
}

.form-control-radio > span::before, .form-control-radio > span::after {
  border-radius: 50%;
}

.form-control-radio > span::after {
  left: 10px;
  width: 16px;
  height: 16px;
  border: 1px solid #000000;
  background-color: #ffffff;
}

.form-control-radio input[type="radio"]:checked + span::after {
  background-color: #000000;
}

.form-control-list > li {
  margin-top: 15px;
}

.form-control-list.-horizontal {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}

.form-control-list.-horizontal > li {
  margin-right: 15px;
}

.form-button {
  -webkit-transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-box-shadow: 5px 6px 10px rgba(0, 0, 0, 0.21), -3px 0 10px #ffffff, 3px 0 10px #ffffff, -3px -2px 12px #ffffff;
  display: inline-block;
  padding: 13px 10px 15px;
  border: solid #ffffff;
  border-width: 1px 0 0 1px;
  border-radius: 10px;
  background-color: #e6eaee;
  box-shadow: 5px 6px 10px rgba(0, 0, 0, 0.21), -3px 0 10px #ffffff, 3px 0 10px #ffffff, -3px -2px 12px #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.35714;
  text-align: center;
  transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1), -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.form-button:hover {
  -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
  box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
}

.form-button:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.form-button-fill {
  padding: 9px 10px;
  border-radius: 4px;
  background-color: #000000;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.form-button-group {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 75px;
}

.form-button-group-item {
  width: 260px;
  margin-left: 45px;
}

.form-button-group-item:first-child {
  margin-left: 0;
}

.form-button-group-item .button {
  width: 100%;
}

.form-button-group-item.-sm {
  max-width: 145px;
}

.form-row-gruop {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-left: -20px;
}

.form-row-gruop > * {
  margin-left: 20px;
}

.form-row-gruop .form-button-fill {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 92px;
}

.form-row-gruop .form-control, .form-row-gruop .form-control-radius, .form-row-gruop .form-control-select, .form-row-gruop .form-control-select-outline {
  min-width: 110px;
}

.form-row-gruop .-max.form-control, .form-row-gruop .-max.form-control-radius, .form-row-gruop .-max.form-control-select, .form-row-gruop .-max.form-control-select-outline {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.form-group {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
}

.form-group + .form-group {
  margin-top: 45px;
}

.form-group-label.-required::after {
  color: #ff0000;
  content: "＊";
}

.error-message {
  display: none;
  width: 100%;
  margin: .75em 0;
  color: #ff0000;
}

.error-message:first-child {
  margin-top: 0;
}

.error-message:last-child {
  margin-bottom: 0;
}

.is-error .error-message {
  display: block;
}

.form-field {
  max-width: 865px;
  margin: 0 auto;
}

.form-search {
  margin: 40px 0;
}

.form-search:first-child {
  margin-top: 0;
}

.form-search:last-child {
  margin-bottom: 0;
}

.form-search-group {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  max-width: 870px;
  margin: 0 auto;
}

.form-search-group input[type=text] {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  font-size: 1.4rem;
}

.form-search-group input[type=submit] {
  -ms-flex-negative: 0;
  -ms-flex-item-align: stretch;
  flex-shrink: 0;
  align-self: stretch;
  width: 92px;
  margin-left: 18px;
}

/* ----- more ----- */
.more-button {
  -webkit-transition: opacity 0.3s ease-in-out;
  display: inline-block;
  position: relative;
  padding-right: 20px;
  font-weight: 500;
  transition: opacity 0.3s ease-in-out;
}

.more-button::after {
  -webkit-transform: rotate(45deg) translate(-1px, -1px);
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  transform: rotate(45deg) translate(-1px, -1px);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  content: "";
}

.more-button-block {
  margin-top: 60px;
  text-align: center;
}

.more-button-block:first-child {
  margin-top: 0;
}

/* ----- slider ----- */
.slider-arrows {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 15px;
}

.slider-arrows .slick-arrow {
  -webkit-transform: translateY(0);
  -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-box-shadow: -5px -5px 10px #ffffff, 2px 2px 10px rgba(0, 0, 0, 0.31);
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  width: 50px;
  height: 50px;
  padding: 0;
  padding-right: 0;
  transform: translateY(0);
  border-radius: 50%;
  background: linear-gradient(-40deg, #eff1f4, #e1e6ea) no-repeat;
  box-shadow: -5px -5px 10px #ffffff, 2px 2px 10px rgba(0, 0, 0, 0.31);
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.slider-arrows .slick-arrow:hover {
  -webkit-box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
  box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
}

.slider-arrows .slick-arrow::after {
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 24px;
  height: 10px;
  margin: auto;
  background: url(/common/images/icon_arrow_r.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.slider-arrows .slick-arrow::before {
  content: none;
}

.slider-arrows .slick-arrow::after {
  -webkit-transform: translateY(-1px);
  left: 0;
  transform: translateY(-1px);
}

.slider-arrows .slick-arrow:hover::after {
  -webkit-transform: translate(5px, -1px);
  transform: translate(5px, -1px);
}

.slider-arrows .slick-arrow:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.slider-arrows .slick-arrow:not(:first-child) {
  margin-left: 30px;
}

.slider-arrows .slick-arrow.slick-disabled {
  opacity: .5;
  pointer-events: none;
}

.slider-arrows .slick-arrow.slick-disabled::after {
  opacity: .57;
}

.slider-arrows .slick-prev::after {
  -webkit-transform: scale(-1, 1) translateY(-1px);
  transform: scale(-1, 1) translateY(-1px);
}

.slider-arrows .slick-prev:hover::after {
  -webkit-transform: scale(-1, 1) translate(5px, -1px);
  transform: scale(-1, 1) translate(5px, -1px);
}

.home-content-heading + .slider-arrows {
  margin-top: -45px;
}

/* ----- tab ----- */
.tab-button {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-transition: 0.15s ease-in-out;
  -webkit-transition-property: color, -webkit-box-shadow;
  -webkit-box-shadow: 8px 10px 20px rgba(0, 0, 0, 0.21), -6px 0 10px #ffffff, -6px -5px 15px #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 10px 10px 14px;
  border: solid #ffffff;
  border-width: 1px 0 0 1px;
  border-radius: 10px 10px 0 0;
  background-color: #e6eaee;
  box-shadow: 8px 10px 20px rgba(0, 0, 0, 0.21), -6px 0 10px #ffffff, -6px -5px 15px #ffffff;
  font-weight: 500;
  text-align: center;
  opacity: 0.5;
  transition: 0.15s ease-in-out;
  transition-property: color, -webkit-box-shadow;
  transition-property: color, box-shadow;
  transition-property: color, box-shadow, -webkit-box-shadow;
}

.tab-button-list {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  max-width: 874px;
  margin: 0 auto;
}

.tab-button-list-item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 75px;
  padding-top: 12px;
}

.tab-button-list-item.is-active {
  padding-top: 0;
}

.tab-button-list-item.is-active .tab-button {
  z-index: 1;
  padding-bottom: 20px;
  opacity: 1;
}

.tab-button-list-item:not(.is-active) .tab-button:hover {
  -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
  box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
}

.tab-button-list-item:not(.is-active) .tab-button:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.tab-panel {
  display: none;
  z-index: 2;
  position: relative;
  padding: 20px 0 70px;
  background-color: #e6eaee;
}

.tab-panel.is-active {
  display: block;
}

/* ----- animation ----- */
.header .header-nav [data-effect=fade-in], .header-nav .header [data-effect=fade-in], .header .header-nav [data-effect-list=fade-in] > *, .header-nav .header [data-effect-list=fade-in] > *, .header .header-nav [data-effect=slide-up], .header-nav .header [data-effect=slide-up], .header .header-nav [data-effect-list=slide-up] > *, .header-nav .header [data-effect-list=slide-up] > *, .header .header-nav [data-effect=slide-up-order] > li, .header-nav .header [data-effect=slide-up-order] > li, .header .header-nav [data-effect=slide-right-order] > li, .header-nav .header [data-effect=slide-right-order] > li, .header .header-nav [data-effect=slide-left], .header-nav .header [data-effect=slide-left], .header .header-nav [data-effect-list=slide-left] > *, .header-nav .header [data-effect-list=slide-left] > *, .header .header-nav [data-effect=slide-right], .header-nav .header [data-effect=slide-right], .header .header-nav [data-effect-list=slide-right] > *, .header-nav .header [data-effect-list=slide-right] > * {
  -webkit-transition: none;
  opacity: 0;
  transition: none;
}

.header.is-opened .header-nav [data-effect=fade-in], .header-nav .header.is-opened [data-effect=fade-in], .header.is-opened .header-nav [data-effect-list=fade-in] > *, .header-nav .header.is-opened [data-effect-list=fade-in] > *, .header.is-opened .header-nav [data-effect=slide-up], .header-nav .header.is-opened [data-effect=slide-up], .header.is-opened .header-nav [data-effect-list=slide-up] > *, .header-nav .header.is-opened [data-effect-list=slide-up] > *, .header.is-opened .header-nav [data-effect=slide-up-order] > li, .header-nav .header.is-opened [data-effect=slide-up-order] > li, .header.is-opened .header-nav [data-effect=slide-right-order] > li, .header-nav .header.is-opened [data-effect=slide-right-order] > li, .header.is-opened .header-nav [data-effect=slide-left], .header-nav .header.is-opened [data-effect=slide-left], .header.is-opened .header-nav [data-effect-list=slide-left] > *, .header-nav .header.is-opened [data-effect-list=slide-left] > *, .header.is-opened .header-nav [data-effect=slide-right], .header-nav .header.is-opened [data-effect=slide-right], .header.is-opened .header-nav [data-effect-list=slide-right] > *, .header-nav .header.is-opened [data-effect-list=slide-right] > * {
  -webkit-transition: opacity 0.2s ease-in, -webkit-transform 0.3s cubic-bezier(0, 1.01, 0.87, 0.95);
  -webkit-transition-delay: 1s,1s;
  -webkit-transform: none;
  transform: none;
  opacity: 1;
  transition: opacity 0.2s ease-in, -webkit-transform 0.3s cubic-bezier(0, 1.01, 0.87, 0.95);
  transition: opacity 0.2s ease-in, transform 0.3s cubic-bezier(0, 1.01, 0.87, 0.95);
  transition: opacity 0.2s ease-in, transform 0.3s cubic-bezier(0, 1.01, 0.87, 0.95), -webkit-transform 0.3s cubic-bezier(0, 1.01, 0.87, 0.95);
  transition-delay: 1s,1s;
}

.header .header-nav [data-effect=slide-up], .header .header-nav [data-effect-list=slide-up] > * {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

.header .header-nav [data-effect=slide-up-order] > li {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

.header .header-nav [data-effect=slide-right-order] > li {
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
}

.header .header-nav [data-effect=slide-left], .header .header-nav [data-effect-list=slide-left] > * {
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
}

.header .header-nav [data-effect=slide-right], .header .header-nav [data-effect-list=slide-right] > * {
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
}

.header-nav [data-effect-delay="1"] {
  -webkit-transition-delay: 0.05s !important;
  transition-delay: 0.05s !important;
}

.header-nav [data-effect-delay="2"] {
  -webkit-transition-delay: 0.1s !important;
  transition-delay: 0.1s !important;
}

.header-nav [data-effect-delay="3"] {
  -webkit-transition-delay: 0.15s !important;
  transition-delay: 0.15s !important;
}

.header-nav [data-effect-delay="4"] {
  -webkit-transition-delay: 0.2s !important;
  transition-delay: 0.2s !important;
}

.header-nav [data-effect-delay="5"] {
  -webkit-transition-delay: 0.25s !important;
  transition-delay: 0.25s !important;
}

.header-nav [data-effect-delay="6"] {
  -webkit-transition-delay: 0.3s !important;
  transition-delay: 0.3s !important;
}

.header-nav [data-effect-delay="7"] {
  -webkit-transition-delay: 0.35s !important;
  transition-delay: 0.35s !important;
}

.header-nav [data-effect-delay="8"] {
  -webkit-transition-delay: 0.4s !important;
  transition-delay: 0.4s !important;
}

.header-nav [data-effect-delay="9"] {
  -webkit-transition-delay: 0.45s !important;
  transition-delay: 0.45s !important;
}

.header-nav [data-effect-delay="10"] {
  -webkit-transition-delay: 0.5s !important;
  transition-delay: 0.5s !important;
}

.header-nav [data-effect-delay="11"] {
  -webkit-transition-delay: 0.55s !important;
  transition-delay: 0.55s !important;
}

.header-nav [data-effect-delay="12"] {
  -webkit-transition-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}

.header-nav [data-effect-delay="13"] {
  -webkit-transition-delay: 0.65s !important;
  transition-delay: 0.65s !important;
}

.header-nav [data-effect-delay="14"] {
  -webkit-transition-delay: 0.7s !important;
  transition-delay: 0.7s !important;
}

.header-nav [data-effect-delay="15"] {
  -webkit-transition-delay: 0.75s !important;
  transition-delay: 0.75s !important;
}

.header-nav [data-effect-delay="16"] {
  -webkit-transition-delay: 0.8s !important;
  transition-delay: 0.8s !important;
}

.header-nav [data-effect-delay="17"] {
  -webkit-transition-delay: 0.85s !important;
  transition-delay: 0.85s !important;
}

.header-nav [data-effect-delay="18"] {
  -webkit-transition-delay: 0.9s !important;
  transition-delay: 0.9s !important;
}

.header-nav [data-effect-delay="19"] {
  -webkit-transition-delay: 0.95s !important;
  transition-delay: 0.95s !important;
}

.header-nav [data-effect-delay="20"] {
  -webkit-transition-delay: 1s !important;
  transition-delay: 1s !important;
}

@-webkit-keyframes arrow-rotate {
  0% {
    background-position-x: 0;
    opacity: 1;
  }
  30% {
    background-position-x: 10px;
    opacity: 0;
  }
  35% {
    background-position-x: 0;
    opacity: 0;
  }
  75% {
    background-position-x: -10px;
    opacity: 0;
  }
  100% {
    background-position-x: 0;
    opacity: 1;
  }
}

@keyframes arrow-rotate {
  0% {
    background-position-x: 0;
    opacity: 1;
  }
  30% {
    background-position-x: 10px;
    opacity: 0;
  }
  35% {
    background-position-x: 0;
    opacity: 0;
  }
  75% {
    background-position-x: -10px;
    opacity: 0;
  }
  100% {
    background-position-x: 0;
    opacity: 1;
  }
}

@-webkit-keyframes hamburger-line-top {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  0% {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
}

@keyframes hamburger-line-top {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  0% {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
}

@-webkit-keyframes hamburger-line-middle {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

@keyframes hamburger-line-middle {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

[data-effect=fade-in], [data-effect-list=fade-in] > *, [data-effect=slide-up], [data-effect-list=slide-up] > *, [data-effect=slide-up-order] > li, [data-effect=slide-right-order] > li, [data-effect=slide-left], [data-effect-list=slide-left] > *, [data-effect=slide-right], [data-effect-list=slide-right] > * {
  -webkit-transition: 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-property: opacity, -webkit-transform;
  opacity: 0;
  transition: 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

.is-visible[data-effect=fade-in], [data-effect-list=fade-in] > .is-visible, .is-visible[data-effect=slide-up], [data-effect-list=slide-up] > .is-visible, [data-effect=slide-up-order] > li.is-visible, [data-effect=slide-right-order] > li.is-visible, .is-visible[data-effect=slide-left], [data-effect-list=slide-left] > .is-visible, .is-visible[data-effect=slide-right], [data-effect-list=slide-right] > .is-visible {
  -webkit-transform: none;
  transform: none;
  opacity: 1;
}

[data-effect=slide-up], [data-effect-list=slide-up] > * {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

[data-effect=slide-up-order] > li {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

[data-effect=slide-right-order] > li {
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
}

[data-effect=slide-left], [data-effect-list=slide-left] > * {
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
}

[data-effect=slide-right], [data-effect-list=slide-right] > * {
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
}

[data-effect-delay="1"] {
  -webkit-transition-delay: 0.1s !important;
  transition-delay: 0.1s !important;
}

[data-effect-delay="2"] {
  -webkit-transition-delay: 0.2s !important;
  transition-delay: 0.2s !important;
}

[data-effect-delay="3"] {
  -webkit-transition-delay: 0.3s !important;
  transition-delay: 0.3s !important;
}

[data-effect-delay="4"] {
  -webkit-transition-delay: 0.4s !important;
  transition-delay: 0.4s !important;
}

[data-effect-delay="5"] {
  -webkit-transition-delay: 0.5s !important;
  transition-delay: 0.5s !important;
}

[data-effect-delay="6"] {
  -webkit-transition-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}

[data-effect-delay="7"] {
  -webkit-transition-delay: 0.7s !important;
  transition-delay: 0.7s !important;
}

[data-effect-delay="8"] {
  -webkit-transition-delay: 0.8s !important;
  transition-delay: 0.8s !important;
}

[data-effect-delay="9"] {
  -webkit-transition-delay: 0.9s !important;
  transition-delay: 0.9s !important;
}

[data-effect-delay="10"] {
  -webkit-transition-delay: 1s !important;
  transition-delay: 1s !important;
}

/* ----- pagination ----- */
.pagination {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination .page {
  padding: 0 7.5px;
}

.pagination .page a {
  padding: 4px 10px;
  border: 2px solid #000000;
  border-radius: 3px;
  background: #ffffff;
  color: #000000;
  font-size: 1.5rem;
  text-decoration: none;
}

.pagination .page a:hover {
  text-decoration: underline;
}

.pagination .page.is-active {
  margin: 0 7.5px;
  padding: 1.5px 10px;
  border: 2px solid #000000;
  border-radius: 3px;
  background: #000000;
  color: #ffffff;
  font-size: 1.5rem;
  text-decoration: none;
}

.pagination .arrow-button {
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
}

.pagination .next .arrow-button {
  margin-left: 17.5px;
}

.pagination .next .arrow-button::after {
  -webkit-transform: translateY(-1px);
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 10px;
  margin: auto;
  transform: translateY(-1px);
  background: url(/common/images/icon_arrow_r_bold.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.pagination .next .arrow-button:hover::after {
  -webkit-transform: translate(5px, -1px);
  transform: translate(5px, -1px);
}

.pagination .prev .arrow-button {
  margin-right: 17.5px;
}

.pagination .prev .arrow-button::after {
  -webkit-transform: scale(-1, 1) translateY(-1px);
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 10px;
  margin: auto;
  transform: scale(-1, 1) translateY(-1px);
  background: url(/common/images/icon_arrow_r_bold.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.pagination .prev .arrow-button:hover::after {
  -webkit-transform: scale(-1, 1) translate(5px, -1px);
  transform: scale(-1, 1) translate(5px, -1px);
}

/* Project style
----------------------------------------------------------- */
/* ----- panel ----- */
.panel-outline {
  margin-top: 75px;
  padding: 50px 46px;
  border: 1px solid #000000;
  border-radius: 20px;
}

.panel-outline.-square {
  border-radius: 0;
}

.panel-outline.-square.-bold {
  border-width: 5px;
}

.panel-outline.-square.-red {
  border-color: #ff0000;
  color: #ff0000;
}

.panel-outline.-square.-red p, .panel-outline.-square.-red dl, .panel-outline.-square.-red dt, .panel-outline.-square.-red dd, .panel-outline.-square.-red h1, .panel-outline.-square.-red h2, .panel-outline.-square.-red h3, .panel-outline.-square.-red h4, .panel-outline.-square.-red a, .panel-outline.-square.-red ul, .panel-outline.-square.-red li {
  color: #ff0000;
}

.panel-outline.-square.-dotted {
  border: dotted;
}

.panel-outline.-square.-double {
  border: double;
}

.panel-outline.-square.-double-bold {
  position: relative;
  border-width: 3px;
}

.panel-outline.-square.-double-bold.-red::before {
  border: 1px solid #ff0000;
}

.panel-outline.-square.-double-bold::before {
  -webkit-transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  width: 99.5%;
  min-height: 99.5%;
  transform: translate(-50%, -50%);
  border: 1px solid #000000;
  content: "";
}

.panel-outline:first-child {
  margin-top: 0;
}

.panel-outline.-sm {
  padding: 20px;
}

.panel-outline.-sm ul:not(:first-child) {
  margin-top: 10px;
}

.panel-outline.-sm ul:not(:last-child) {
  margin-bottom: 10px;
}

.panel-outline.-sm ul > li + li {
  margin-top: 5px;
}

.panel-outline-title {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 50px;
  color: #000000;
  font-size: 2.1rem;
  font-weight: 700;
  text-align: center;
}

.panel-outline-title::before, .panel-outline-title::after {
  display: inline-block;
  width: 55px;
  border-top: 1px solid;
  content: "";
}

.panel-outline.-sm .panel-outline-title {
  margin-bottom: 20px;
}

.panel-outline-title > span {
  padding: 0 1em;
}

.panel-outline .panel-outline-link-text {
  margin: 2.5em 0;
  text-align: center;
}

.panel-outline.-bookstore {
  padding: 20px 46px 30px;
}

.panel-outline.-bookstore .panel-outline-title {
  margin-bottom: 0;
}

.panel-outline.-bookstore .text-block {
  margin-top: 30px;
}

/* ----- article ----- */
.article {
  padding: 45px 0 70px;
  background: -webkit-gradient(linear, left top, left bottom, from(#eff1f4), to(#e1e6ea)) no-repeat;
  background: linear-gradient(180deg, #eff1f4, #e1e6ea) no-repeat;
  font-size: 1.6rem;
}

.article img {
  height: auto;
}

.article-inner {
  width: 100%;
  max-width: 954px;
  margin: 0 auto;
  padding: 0 70px;
}

.article-panel {
  padding: 30px 70px 50px;
  border-radius: 30px;
  background-color: #ffffff;
}

.article-header h1 {
  margin-bottom: .5em;
}

.article-header > p {
  margin-top: 1em;
}

.article-header > p:first-child {
  margin-top: 0;
}

.article-body {
  margin-top: 50px;
}

.article-body h2 + p, .article-body h2 + figure, .article-body h2 + ul, .article-body h3 + p, .article-body h3 + figure, .article-body h3 + ul {
  margin-top: 0;
}

.article-body .heading-lv2, .article-body .article-post h2, .article-post .article-body h2 {
  margin-bottom: 1em;
}

.article-body > p, .article-body > figure, .article-body > ul {
  margin: 1.5em 0;
}

.article-body > p:first-child, .article-body > figure:first-child, .article-body > ul:first-child {
  margin-top: 0;
}

.article-body > p:last-child, .article-body > figure:last-child, .article-body > ul:last-child {
  margin-bottom: 0;
}

.article-body .text-note {
  margin: .75em 0;
}

.article-body figure {
  text-align: center;
}

.article-body .hashtag-list {
  margin-top: 50px;
}

.article-category {
  margin-bottom: .75em;
  color: #888888;
  font-size: 2.1rem;
  letter-spacing: .05em;
}

.article-category > a {
  color: #888888;
}

.article-date {
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 1.4rem;
}

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

.article-tags > li {
  margin-right: 1em;
}

.article-tags > li.-pdf {
  margin-left: auto;
}

.article-tags .link-text[href$=".pdf"]:after, .article-tags .link-list-title a[href$=".pdf"]:after, .link-list-title .article-tags a[href$=".pdf"]:after, .article-tags .link-list > li > a[href$=".pdf"]:after {
  padding-left: 26px;
  background-size: auto 32px;
  line-height: 1.25;
  text-indent: .5em;
  white-space: pre;
  content: "PDF\a（" attr(data-file-capacity) "KB）";
}

.article-post > p, .article-post > figure {
  margin: 1.5em 0;
}

.article-post > p:first-child, .article-post > figure:first-child {
  margin-top: 0;
}

.article-post > p:last-child, .article-post > figure:last-child {
  margin-bottom: 0;
}

.article-post small {
  display: block;
  margin-top: 1em;
  font-size: 1.3rem;
}

.article-post small:first-child {
  margin-top: 0;
}

.article-figure {
  position: relative;
  margin: 50px 0;
  text-align: center;
}

.article-figure:first-child, h2 + .article-figure, h3 + .article-figure {
  margin-top: 0;
}

.article-figure:last-child {
  margin-bottom: 0;
}

.article-figure figure {
  display: inline-block;
}

.article-figure figure img {
  height: auto;
}

.article-figure figcaption {
  margin: .75em 0;
  text-align: left;
}

.article-figure figcaption:first-child {
  margin-top: 0;
}

.article-figure figcaption:last-child {
  margin-bottom: 0;
}

.news .article-post h2:first-child {
  font-size: 2.4rem;
}

/* ----- toggle ----- */
.toggle-box {
  margin: 40px 0;
  padding: 27px 80px 26px;
  border-radius: 10px;
  background-color: #f3f5f7;
  font-size: 1.6rem;
}

.toggle-box:first-child {
  margin: 0;
}

.toggle-box:last-child {
  margin-bottom: 0;
}

.toggle-box + .toggle-box {
  margin-top: 30px;
}

.toggle-box.-light {
  background-color: #ffffff;
}

.toggle-box-header {
  position: relative;
  padding-right: 16px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}

.toggle-box-body {
  padding-bottom: 25px;
}

.toggle-box-body.-nenpyo {
  display: none;
}

.toggle-box-content {
  margin-top: 25px;
}

.toggle-box-content ul, .toggle-box-content ol {
  margin: 30px 0;
}

.toggle-box-icon {
  position: absolute;
  top: 0;
  right: -43px;
  bottom: 0;
  width: 30px;
  height: 30px;
  margin: auto;
  border: 1px solid #000000;
}

.toggle-box-icon::before, .toggle-box-icon::after {
  -webkit-transition: 200ms ease-in-out;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 15px;
  height: 1px;
  margin: auto;
  background-color: #000000;
  content: "";
  transition: 200ms ease-in-out;
}

.toggle-box-icon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.is-opened .toggle-box-icon::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
  opacity: 0;
}

.toggle-panel {
  padding: 50px 80px;
  border-radius: 10px;
  background-color: #f3f5f7;
  font-size: 1.6rem;
}

.toggle-panel.-light {
  background-color: #ffffff;
}

.toggle-panel-section {
  position: relative;
}

.toggle-panel-section + .toggle-panel-section:not(.is-first) {
  margin-top: 50px;
  padding-top: 50px;
}

.toggle-panel-section + .toggle-panel-section:not(.is-first)::before {
  position: absolute;
  top: 0;
  right: -40px;
  left: -40px;
  height: 1px;
  margin: auto;
  background-color: #d8d8d8;
  content: "";
}

.toggle-panel-title {
  margin: 2em 0 1em;
  font-size: 1.8rem;
  font-weight: 500;
}

.toggle-panel-title:first-child {
  margin-top: 0;
}

.toggle-panel-title:last-child {
  margin-bottom: 0;
}

.toggle-panel .toggle-box {
  margin: 26px 0;
  padding: 0;
  background-color: transparent;
}

.toggle-panel .toggle-box-header {
  text-align: right;
}

.toggle-panel .toggle-box-body {
  padding-bottom: 0;
}

/* ----- modal ----- */
.modal-button {
  -webkit-transform: translateY(0);
  -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-box-shadow: -5px -5px 10px #ffffff, 2px 2px 10px rgba(0, 0, 0, 0.31);
  display: block;
  width: 50px;
  height: 50px;
  padding: 0;
  transform: translateY(0);
  border-radius: 50%;
  background: linear-gradient(-40deg, #eff1f4, #e1e6ea) no-repeat;
  box-shadow: -5px -5px 10px #ffffff, 2px 2px 10px rgba(0, 0, 0, 0.31);
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.modal-button:hover {
  -webkit-box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
  box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
}

.modal-button:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.modal-button::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(/common/images/icon_search_plus.svg) no-repeat 50% 50%;
  background-size: contain;
  content: "";
}

[data-modal-src] {
  display: block;
  position: relative;
  cursor: pointer;
}

.modal {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-transition: 0.2s ease-in-out 0.2s;
  -webkit-transition-property: opacity, visibility;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  z-index: 15;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 80px 30px 40px;
  overflow-y: auto;
  background-color: rgba(0, 0, 0, 0.8);
  text-align: center;
  opacity: 0;
  transition: 0.2s ease-in-out 0.2s;
  transition-property: opacity, visibility;
}

.modal.is-show {
  -webkit-transition-delay: 0s;
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.modal-pict, .modal-movie {
  -webkit-transform: translateY(-50%);
  -webkit-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transition-property: opacity, -webkit-transform;
  width: 100%;
  max-width: 1246px;
  margin: 0 auto;
  overflow-y: auto;
  transform: translateY(-50%);
  text-align: center;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

.modal-pict.is-active, .modal-movie.is-active {
  -webkit-transform: translateY(0);
  -webkit-transition-delay: 0.4s;
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.4s;
}

.modal-movie {
  width: 100%;
  max-width: 940px;
}

.modal-movie .movie-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  text-align: left;
}

.modal-movie .movie-wrap .movie {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal-close-button {
  -webkit-transform: rotate(45deg);
  z-index: 1;
  position: absolute;
  top: 15px;
  right: 30px;
  width: 52px;
  height: 52px;
  transform: rotate(45deg);
  cursor: pointer;
}

.modal-close-button::before, .modal-close-button::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  margin: auto;
  border-radius: 20px;
  background-color: #ffffff;
  content: "";
}

.modal-close-button::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

/* ----- carousel ----- */
.carousel-visual {
  margin: 46px 0;
}

.carousel-visual:first-child {
  margin-top: 0;
}

.carousel-visual:last-child {
  margin-bottom: 0;
}

.carousel-visual-item {
  position: relative;
}

.carousel-visual-item img {
  width: 100%;
}

.carousel-visual-dots {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  right: 0;
  bottom: 25px;
  left: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.js-carousel-visual.-dx .carousel-visual-dots {
  display: none !important;
}
.carousel-visual-dots > li {
  line-height: 1;
}

.carousel-visual-dots > li button {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
  text-indent: -9999px;
}

.carousel-visual-dots > li button::before {
  position: absolute;
  top: 5px;
  right: 5px;
  bottom: 5px;
  left: 5px;
  margin: auto;
  border-radius: 50%;
  background-color: #cccccc;
  content: "";
}

.carousel-visual-dots > li.slick-active button::before {
  background-color: #666666;
}

.carousel-visual-arrow {
  -webkit-transform: rotate(45deg);
  z-index: 2;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 51px;
  height: 51px;
  margin: auto;
  transform: rotate(45deg);
  border: 1px solid #000000;
}

.carousel-visual-arrow.-prev {
  left: 28px;
  border-width: 0 0 1px 1px;
}

.carousel-visual-arrow.-next {
  right: 28px;
  border-width: 1px 1px 0 0;
}

/* ----- 関連コンテンツ----- */
.relation-content {
  position: relative;
}

.relation-content + .relation-content {
  margin-top: 100px;
  padding-top: 70px;
}

.relation-content + .relation-content::before {
  -webkit-transform: translateX(-50%);
  position: absolute;
  top: 0;
  left: 50%;
  width: 1252px;
  transform: translateX(-50%);
  border-top: 1px solid #000000;
  content: "";
}

.relation {
  padding: 70px 0;
  background-color: #e9ecef;
}

/* ----- お問い合わせ----- */
.contact-list {
  margin: 40px auto;
  font-size: 1.6rem;
  text-align: left;
}

.contact-list:first-child {
  margin-top: 0;
}

.contact-list:last-child {
  margin-bottom: 0;
}

.contact-list-head {
  padding-right: 1em;
  font-weight: 700;
}

.contact-list-body {
  width: 100%;
  max-width: 300px;
}

.contact-panel {
  padding: 70px;
  background-color: #ffffff;
}

.contact {
  padding: 70px 0;
  background-color: #ffffff;
  background-size: cover;
  text-align: center;
}

.contact + .contact {
  margin-top: 90px;
}

.contact[class*="bg-base"] {
  padding-top: 60px;
  padding-bottom: 60px;
}

.contact-lead-block {
  margin-top: 70px;
  font-size: 2.1rem;
}

.contact-lead-block > p {
  margin-top: 1em;
}

.contact-button-block {
  margin-top: 70px;
}

/* ----- グループ会社一覧----- */
.group-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin: -15px -26px;
}

.group-list-item {
  width: 33.33333%;
  min-height: 95px;
  padding: 15px 26px;
}

.group-list-item a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-shadow: -5px -5px 10px #ffffff, 5px 5px 10px rgba(0, 0, 0, 0.16);
  -webkit-transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 16px;
  border-radius: 15px;
  background-color: #eaeaea;
  box-shadow: -5px -5px 10px #ffffff, 5px 5px 10px rgba(0, 0, 0, 0.16);
  text-align: center;
  transition: -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1), -webkit-box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.group-list-item a[target='_blank'] {
  position: relative;
}

.group-list-item a[target='_blank']::after {
  position: absolute;
  right: 18px;
  bottom: 9px;
  width: 15px;
  height: 15px;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

.group-list-item a:hover {
  -webkit-box-shadow: -2px -2px 5px #ffffff, 2px 2px 5px rgba(0, 0, 0, 0.16);
  box-shadow: -2px -2px 5px #ffffff, 2px 2px 5px rgba(0, 0, 0, 0.16);
}

.group-list-item a:active {
  -webkit-box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  outline: none;
  box-shadow: -1px -1px 1px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
}

.group-list-item a img {
  max-height: 32px;
}

.group {
  padding: 56px 0 86px;
  background-color: #f2f2f2;
}

/* ----- フリーユニット----- */
.unit-case {
  overflow: hidden;
  background-color: #e9ecef;
}

.unit-case .box {
  position: relative;
}

.unit-case .box-pict {
  margin-bottom: 0;
}

.unit-case .box-pict img {
  width: 100%;
}

.unit-iframe {
  position: relative;
}

.unit-iframe-button {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 70px;
  left: 0;
  margin: 0 auto;
  text-align: center;
}

.unit-message {
  margin: 0 auto;
  text-align: center;
}

.unit-message-heading {
  margin: 20px 0;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2.15385;
}

.unit-message-title {
  font-size: 1.6rem;
}

/* ----- 検索結果ページ----- */
.search-control {
  margin-bottom: 75px;
}

.search-control-filtering {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.search-control-filtering-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 25px;
}

.search-control-filtering-item > [data-sitesearch] {
  width: 100%;
}

body.search ._popfind_sitesearch ._searchstatus {
  margin: 0;
}

body.search ._popfind_sitesearch ._countselector, body.search ._popfind_sitesearch ._sortorderselector, body.search ._popfind_sitesearch ._attributegroup {
  margin: 0;
  padding: 0;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._group {
  margin-bottom: 1em;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin: -6px;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute {
  margin: 6px;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute input {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
  clip-path: inset(50%);
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute input:focus + ._label {
  background-color: #bbbbbb;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute ._label {
  -webkit-transition: .15s ease-in-out;
  -webkit-transition-property: color, background-color;
  display: inline-block;
  padding: 3px 11px;
  border-radius: 12px;
  background-color: #ffffff;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  transition: .15s ease-in-out;
  transition-property: color, background-color;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute ._count {
  display: none;
  margin-left: 8px;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute._select ._label {
  background-color: #000000;
  color: #ffffff;
}

body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute._disable {
  opacity: .6;
}

body.search ._popfind_sitesearch .search-control ._countselector ._label, body.search ._popfind_sitesearch .search-control ._countselector ._group, body.search ._popfind_sitesearch .search-control ._sortorderselector ._label, body.search ._popfind_sitesearch .search-control ._sortorderselector ._group, body.search ._popfind_sitesearch .search-control ._attributegroup ._label, body.search ._popfind_sitesearch .search-control ._attributegroup ._group {
  font-size: 1.6rem;
  font-weight: 400;
}

body.search ._popfind_sitesearch .search-control ._countselector select, body.search ._popfind_sitesearch .search-control ._sortorderselector select, body.search ._popfind_sitesearch .search-control ._attributegroup select {
  display: block;
  width: 110px;
  height: 40px;
  padding: 5px 20px 4px;
  overflow: hidden;
  border: 1px solid #000000;
  border-radius: 4px;
  background: url(/common/images/icon-chevron-down.svg) no-repeat right 12px top 50%;
  background-color: #ffffff;
  line-height: 1;
  text-align: center;
  text-align: -webkit-center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.search ._popfind_sitesearch ._items ._item {
  margin-bottom: 30px;
  padding: 0 0 25px;
  border-bottom: 1px solid #d8d8d8;
}

body.search ._popfind_sitesearch ._items ._item:last-child {
  margin-bottom: 0;
}

body.search ._popfind_sitesearch ._items ._item ._wrap {
  width: auto;
}

body.search ._popfind_sitesearch ._items ._item ._wrap::after {
  display: block;
  clear: both;
  content: '';
}

body.search ._popfind_sitesearch ._items ._item ._wrap *[class^=_] {
  padding: 0;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._layoutgroup1 {
  width: 228px;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail {
  padding: 0;
  overflow: hidden;
  border-radius: 15px;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail::before, body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail::after {
  content: none;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail a {
  position: relative;
  padding-top: 128px;
  overflow: hidden;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail a img {
  -o-object-fit: cover;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail a::before {
  content: none;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail img {
  border: 0;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._title {
  margin-bottom: .75em;
  font-size: 1.6rem;
  line-height: 1.4;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._snippet {
  margin-bottom: 1em;
}

body.search ._popfind_sitesearch ._items ._item ._wrap ._link {
  margin-top: 1.5em;
  font-size: 1.3rem;
}

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

body.search ._pagenator {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

body.search ._button {
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
}

body.search ._next ._button {
  margin-left: 10px;
}

body.search ._next ._button::after {
  -webkit-transform: translateY(-1px);
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 10px;
  margin: auto;
  transform: translateY(-1px);
  background: url(/common/images/icon_arrow_r_bold.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

body.search ._next ._button:hover::after {
  -webkit-transform: translate(5px, -1px);
  transform: translate(5px, -1px);
}

body.search ._prev ._button {
  margin-right: 10px;
}

body.search ._prev ._button::after {
  -webkit-transform: translateY(-1px);
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 10px;
  margin: auto;
  transform: scale(-1, 1) translateY(-1px);
  background: url(/common/images/icon_arrow_r_bold.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

body.search ._prev ._button:hover::after {
  -webkit-transform: scale(-1, 1) translate(5px, -1px);
  transform: scale(-1, 1) translate(5px, -1px);
}

body.search ._first ._button {
  margin-right: 10px;
}

body.search ._first ._button::after {
  -webkit-transform: translateY(-1px);
  -webkit-transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 10px;
  margin: auto;
  transform: scale(-1, 1) translateY(-1px);
  background: url(/common/images/icon_arrow_r_bold.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

body.search ._first ._button:hover::after {
  -webkit-transform: scale(-1, 1) translate(5px, -1px);
  transform: scale(-1, 1) translate(5px, -1px);
}

body.search ._popfind_sitesearch ._pagenator {
  margin: 56px 0 0;
  padding: 0;
}

body.search ._popfind_sitesearch ._pagenator ._nav._page {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  margin: 0 7.5px;
  padding: 0;
  border: 2px solid #000000;
  border-radius: 3px;
}

body.search ._popfind_sitesearch ._pagenator ._nav._page a {
  -ms-flex-item-align: stretch;
  display: block;
  align-self: stretch;
  width: 100%;
  padding: 4px;
  border-radius: 3px;
  background: #ffffff;
  color: #000000;
  font-size: 1.5rem;
  text-decoration: none;
}

body.search ._popfind_sitesearch ._pagenator ._nav._page._current {
  margin: 0 7.5px;
  padding: 4px;
  background: #000000;
  color: #ffffff;
  font-size: 1.5rem;
  text-decoration: none;
}

body.search ._popfind_sitesearch ._pagenator ._nav {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

body.search ._popfind_sitesearch ._pagenator ._nav ._button {
  display: block;
  position: relative;
  width: 24px;
  height: 100%;
  padding: 0;
  border-bottom: none;
  border-radius: 5px;
  background: none;
  background-color: transparent;
}

body.search ._popfind_sitesearch ._pagenator ._nav._prev,
body.search ._popfind_sitesearch ._pagenator ._nav._next {
  text-indent: -9999px;
}

body.search ._popfind_sitesearch ._pagenator ._nav._first {
  display: none;
}

/* Page style
----------------------------------------------------------- */
/* ----- Home ----- */
.home-content {
  padding: 70px 0;
}

.home-content-heading {
  margin-bottom: 45px;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.home-content-heading-sub {
  display: block;
  font-size: .7em;
  line-height: 1;
}


.home-content-lead {
  margin-bottom: 30px;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}

.home-mainvisual {
  text-align: center;
  position: relative;
}

.home-mainvisual-item {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: #ffffff;
}

.home-mainvisual-item::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 158px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.42)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.42));
  content: "";
}
.home-mainvisual-item.-ad::after, .home-mainvisual-item.-dx::after {
  content: none;
}

.home-mainvisual-pict {
  position: relative;
}

.home-mainvisual-pict img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 51.0981%;
  min-height: 500px;
  object-fit: cover;
}

.home-mainvisual-button {
  z-index: 1;
  position: absolute;
  right: 0;
  top: 84%;
  left: 0;
  margin: 0 auto;
  text-align: center;
}
.home-mainvisual-button.-dx {
  top: 88.5%;
}

.home-mainvisual-button a {
  min-width: 260px;
}

.home-mainvisual-button.-dx a {
  min-width: 260px;
  min-height: 42px;
  border-radius: 0px;
  border: 2px solid #fff;
}

.home-company {
  background-color: #ffffff;
  text-align: center;
}

.home-company-lead {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}

.home-company .button-block {
  margin-top: 75px;
}

.home-service {
  padding: 45px 0 75px;
  background-color: #f7f7f7;
  text-align: center;
}

.home-service-pict {
  position: relative;
  margin: 30px 0 40px;
  text-align: center;
}

.home-service-link > li {
  position: absolute;
  width: 200px;
  height: 140px;
  margin: auto;
}

.home-service-link > li a {
  display: block;
  width: 100%;
  height: 100%;
}

.home-service-link > li.ax {
  top: -2%;
  right: 2%;
  left: 0;
}

.home-service-link > li.bx {
  top: 0;
  right: 0;
  bottom: 0;
  left: -42%;
}

.home-service-link > li.cx {
  right: 2%;
  bottom: -2%;
  left: 0;
}

.home-service-link > li.dx {
  top: 0;
  right: -39%;
  bottom: 0;
  left: 0;
}

.home-service .button-block {
  margin-top: 40px;
}

.home-topics {
  padding-top: 40px;
}

.home-topics .slider-arrows {
  margin: 70px 0 40px;
}

.home-topics-list-main-item {
  margin-top: 50px;
}

.home-topics-list-main-item [target="_blank"] .card-heading::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 0.3em;
  background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
  background-size: contain;
  content: '';
}

.home-topics-list-main-item:first-child {
  margin-top: 0;
}

.home-topics-list-sub {
  margin: 60px -5px -1px;
}

.slider-arrows + .home-topics-list-sub {
  margin-top: 0;
}

.home-topics-list-sub + .home-topics-list-sub {
  margin-top: 50px;
}

.home-topics-list-sub-item .card {
  padding: 20px 24px 25px;
}

.home-topics-list-sub-item .card-pict {
  margin-bottom: 10px;
}

.home-topics-list-sub-item .card-description {
  -webkit-line-clamp: 2;
}

.home-topics-list-sub[data-slider-link] {
  display: block;
}

.home-topics-list-sub .slick-list {
  overflow: visible;
}

.home-filtering-header-row {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.home-filtering-lead {
  margin-bottom: 1em;
  color: #888888;
}

.home-filtering-title {
  -ms-flex-negative: 0;
  position: relative;
  flex-shrink: 0;
  padding: 0 2em 4px 0;
  color: #888888;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
}

.home-filtering-title::before, .home-filtering-title::after {
  position: absolute;
  top: 0;
  right: .5em;
  bottom: 0;
  width: 1em;
  height: 1px;
  margin: auto 0;
  border-radius: 3px;
  background-color: #000000;
  content: "";
}

.home-filtering-title::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.home-filtering-title::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.home-filtering-box {
  width: 380px;
}

.home-filtering-box .filtering-label {
  font-size: 2rem;
  font-weight: 700;
}

/* ----- Our Capabilities ----- */
.capabilities-inner {
  max-width: 1050px;
}

.content-inner .capabilities-inner {
  max-width: 1030px;
  margin: 0 auto;
}

.capabilities .lgp-bg {
  padding: 45px 20px 55px;
  background: rgba(255, 255, 255, 0.5);
}

.capabilities .lgp-bg .capabilities-about-lead p {
  font-size: 2.3rem;
}

.capabilities .heading-lgp {
  margin: 0 0 1em;
  font-size: 3rem;
}

.capabilities-bg {
  padding: 30px 0 70px;
  background-color: #e6eaee;
}

.capabilities-business-card-title-en, .capabilities-section-category-en, .capabilities-tab .tab-button > em {
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
  font-weight: 700;
  line-height: 1;
}

.capabilities-business-card-title-en > span, .capabilities-section-category-en > span, .capabilities-tab .tab-button > em > span {
  display: block;
  margin-top: 6px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}

[data-capabilities-category="ax"] .capabilities-business-card-title-en, [data-capabilities-category="ax"] .capabilities-section-category-en, [data-capabilities-category="ax"] .capabilities-tab .tab-button > em, .capabilities-tab [data-capabilities-category="ax"] .tab-button > em {
  background-image: -webkit-gradient(linear, left top, right top, from(#3de1ff), to(#02c5ff));
  background-image: linear-gradient(90deg, #3de1ff, #02c5ff);
  color: #3de1ff;
}

[data-capabilities-category="bx"] .capabilities-business-card-title-en, [data-capabilities-category="bx"] .capabilities-section-category-en, [data-capabilities-category="bx"] .capabilities-tab .tab-button > em, .capabilities-tab [data-capabilities-category="bx"] .tab-button > em {
  background-image: -webkit-gradient(linear, left top, right top, from(#ED1690), to(#ED1654));
  background-image: linear-gradient(90deg, #ED1690, #ED1654);
  color: #ED1690;
}

[data-capabilities-category="cx"] .capabilities-business-card-title-en, [data-capabilities-category="cx"] .capabilities-section-category-en, [data-capabilities-category="cx"] .capabilities-tab .tab-button > em, .capabilities-tab [data-capabilities-category="cx"] .tab-button > em {
  background-image: -webkit-gradient(linear, left top, right top, from(#1963B0), to(#5019B0));
  background-image: linear-gradient(90deg, #1963B0, #5019B0);
  color: #1963B0;
}

[data-capabilities-category="dx"] .capabilities-business-card-title-en, [data-capabilities-category="dx"] .capabilities-section-category-en, [data-capabilities-category="dx"] .capabilities-tab .tab-button > em, .capabilities-tab [data-capabilities-category="dx"] .tab-button > em {
  background-image: -webkit-gradient(linear, left top, right top, from(#ff9d00), to(#ff853b));
  background-image: linear-gradient(90deg, #ff9d00, #ff853b);
  color: #ff9d00;
}

.capabilities-about {
  position: relative;
  padding: 90px 0 70px;
  text-align: center;
}

.capabilities-about-title {
  margin-bottom: 70px;
}

.capabilities-about-title > img {
  width: 460px;
}

.capabilities-about-lead {
  max-width: 854px;
  margin: 0 auto;
  font-weight: 700;
  text-align: left;
}

.capabilities-about .button-block {
  margin-top: 90px;
}

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

.capabilities-business-cards .capabilities-business-card {
  width: calc((100% - 30px * 3) / 4);
  margin-left: 30px;
}

.capabilities-business-cards .capabilities-business-card:nth-child(4n + 1) {
  margin-left: 0;
}

.capabilities-business-cards .capabilities-business-card:nth-child(n + 5) {
  margin-top: 30px;
}

.capabilities-business-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  padding: 24px 8px 40px;
  border-radius: 20px;
  background-color: #ffffff;
  line-height: 1.375;
  text-align: center;
}

.capabilities-business-card-title {
  margin-bottom: 22px;
  font-size: 1.6rem;
  font-weight: 700;
}

.capabilities-business-card-title-en {
  display: block;
  margin-bottom: 16px;
  font-size: 7.1rem;
}

.capabilities-business-card-title-en > span {
  min-height: 2.4em;
}

.capabilities-business-card-text {
  margin-top: auto;
}

.capabilities-business-lead {
  max-width: 800px;
  margin: 40px auto 0;
}

.capabilities-model {
  padding: 70px 0 60px;
  background: radial-gradient(#1A1A3B, #000000 79.26829%, #03061B);
  color: #ffffff;
  text-align: center;
}

.capabilities-model-figure {
  z-index: 1;
  position: relative;
  max-width: 896px;
  margin: 0 auto;
}

.capabilities-model-figure-bg img {
  width: 100%;
}

.capabilities-model-figure-item {
  position: absolute;
  width: 250px;
  width: min(27.29258vw, 250px);
  height: 250px;
  height: min(27.29258vw, 250px);
  padding: 10px;
  padding: min(1.0917vw, 10px);
  overflow: hidden;
  border-radius: 50%;
  line-height: 1.5625;
}

.capabilities-model-figure-item::before {
  -webkit-box-shadow: 0 3px 6px #000000 inset;
  -webkit-backdrop-filter: blur(33px) brightness(19%);
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  border-radius: 50%;
  backdrop-filter: blur(33px) brightness(19%);
  background: url(/capabilities/images/capabilities_model_bg.png) no-repeat 50% 50%;
  box-shadow: 0 3px 6px #000000 inset;
  mix-blend-mode: multiply;
  content: "";
  opacity: .2;
}

.capabilities-model-figure-item[data-capabilities-category="ax"] {
  top: 27.8777%;
  right: 0;
}

.capabilities-model-figure-item[data-capabilities-category="bx"] {
  top: 27.8777%;
  left: 0;
}

.capabilities-model-figure-item[data-capabilities-category="cx"] {
  top: 0;
  right: 34.26339%;
}

.capabilities-model-figure-item[data-capabilities-category="dx"] {
  right: 34.26339%;
  bottom: 0;
}

.capabilities-model-figure-item .capabilities-title-en {
  margin-bottom: 16px;
  margin-bottom: min(1.74672vw, 16px);
  font-size: 6rem;
  font-size: min(6.55022vw, 60px);
}

.capabilities-model-figure-item .capabilities-title-en > span {
  font-size: min(1.63755vw, 15px);
}

.capabilities-model-figure-inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #ffffff;
  color: #000000;
}

.capabilities-model-figure-text {
  font-weight: 700;
}

.capabilities-section {
  padding: 70px 0;
}

.capabilities-section-category {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.2381;
}

.capabilities-section-category-en {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 20px;
  font-size: 6rem;
}

.capabilities-section-heading {
  margin-bottom: 20px;
  font-size: 3rem;
  font-weight: 700;
}

.capabilities-tab .tab-button {
  color: rgba(0, 0, 0, 0.5);
  line-height: 1.33333;
  opacity: 1;
}

.capabilities-tab .tab-button > em {
  margin-bottom: 12px;
  font-size: 6rem;
}

.capabilities-tab .tab-button-list {
  max-width: 1016px;
}

.capabilities-tab .tab-button-list-item {
  margin: 0 -7px;
}

.capabilities-tab .tab-button-list-item:not(.is-active) .tab-button > em {
  -webkit-text-fill-color: rgba(0, 0, 0, 0.5);
  background-image: none;
  color: rgba(0, 0, 0, 0.5);
}

.capabilities-article {
  position: relative;
  margin-top: 50px;
  line-height: 1.86667;
}

.capabilities-article::after {
  display: block;
  clear: both;
  content: '';
}

.capabilities-article + .capabilities-article {
  margin-top: 70px;
}

.capabilities-article-heading {
  margin-bottom: 20px;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.42857;
}

.capabilities-article-text > p {
  margin: 1em 0;
}

.capabilities-article-text > p:first-child {
  margin-top: 0;
}

.capabilities-article-text > p:last-child {
  margin-bottom: 0;
}

.capabilities-article-profile {
  margin-top: 20px;
}

.capabilities-article-profile-name {
  margin-bottom: 8px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5625;
}

.capabilities-article-button {
  padding-top: 30px;
}

.capabilities-article-button > a {
  min-width: 260px;
}

.capabilities-article-avatar {
  width: 27.28155%;
  overflow: hidden;
  border-radius: 20px;
}

.capabilities-article-avatar img {
  width: 100%;
}

.-capabilities .box-pict .name-area {
  margin-top: 5px;
  text-align: center;
}

.-capabilities .box-pict .name-area .text-name {
  display: inline-block;
  text-align: left;
}

.-capabilities .box-pict .name-area .text-name .name {
  font-weight: bold;
}

.-capabilities .box-pict .name-area .text-name .division {
  font-size: 1.4rem;
}

.box-content.-ie {
  width: 100%;
}

/* Utility style
----------------------------------------------------------- */
/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  content: '';
}

.clear-both {
  clear: both !important;
}

/* color */
.fc-base {
  color: #000000 !important;
}

.fc-white {
  color: #ffffff !important;
}

.fc-attention {
  color: #ff0000 !important;
}

/* background-color */
.bg-white {
  background-color: #ffffff !important;
}

.bg-base {
  background-color: #f3f5f7 !important;
}

.bg-base-dark {
  background-color: #e9ecef !important;
}

.bg-base-gradient {
  background: -webkit-gradient(linear, left top, left bottom, from(#eff1f4), to(#e1e6ea)) no-repeat !important;
  background: linear-gradient(180deg, #eff1f4, #e1e6ea) no-repeat !important;
}

.bg-dark {
  background-color: #26262C !important;
}

/* border-color */
.no-border {
  border: none !important;
}

.ftSmall {
  font-size: 1.4rem;
}

/* float */
.fl-left {
  float: left !important;
}

.fl-right {
  float: right !important;
}

.fl-none {
  float: none !important;
}

/* font-weight */
.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

.fw-normal {
  font-weight: normal !important;
}

.fw-bold {
  font-weight: bold !important;
}

/* font-size */
.fs-sm {
  font-size: 1.3rem !important;
}

.fs-md {
  font-size: 1.5rem !important;
}

.fs-lg {
  font-size: 1.6rem !important;
}

.fs-12 {
  font-size: 1.2rem !important;
}

.fs-18 {
  font-size: 1.8rem !important;
}

.fs-24 {
  font-size: 2.4rem !important;
}

.fs-30 {
  font-size: 3rem !important;
}

.fs-36 {
  font-size: 3.6rem !important;
}

.fs-42 {
  font-size: 4.2rem !important;
}

.fs-48 {
  font-size: 4.8rem !important;
}

.ff-base {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", meiryo, sans-serif;
}

.ff-minmoji {
  font-family: "minmoji";
}

/* margin */
.m-auto {
  margin: 0 auto !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

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

.ml-20 {
  margin-left: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

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

.ml-30 {
  margin-left: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

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

.ml-40 {
  margin-left: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mt-55 {
  margin-top: 55px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.ml-55 {
  margin-left: 55px !important;
}

.mr-55 {
  margin-right: 55px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mt-65 {
  margin-top: 65px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.ml-65 {
  margin-left: 65px !important;
}

.mr-65 {
  margin-right: 65px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.mt-75 {
  margin-top: 75px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.ml-75 {
  margin-left: 75px !important;
}

.mr-75 {
  margin-right: 75px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

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

.ml-80 {
  margin-left: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.mt-85 {
  margin-top: 85px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.ml-85 {
  margin-left: 85px !important;
}

.mr-85 {
  margin-right: 85px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.mt-95 {
  margin-top: 95px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.ml-95 {
  margin-left: 95px !important;
}

.mr-95 {
  margin-right: 95px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.ml-100 {
  margin-left: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

/* padding */
.pt-0 {
  padding-top: 0px !important;
}

.pt-0per {
  padding-top: 0% !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pt-5per {
  padding-top: 5% !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pt-10per {
  padding-top: 10% !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pt-15per {
  padding-top: 15% !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pt-20per {
  padding-top: 20% !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pt-25per {
  padding-top: 25% !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pt-30per {
  padding-top: 30% !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pt-35per {
  padding-top: 35% !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pt-40per {
  padding-top: 40% !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pt-45per {
  padding-top: 45% !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pt-50per {
  padding-top: 50% !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pt-55 {
  padding-top: 55px !important;
}

.pt-55per {
  padding-top: 55% !important;
}

.pb-55 {
  padding-bottom: 55px !important;
}

.pl-55 {
  padding-left: 55px !important;
}

.pr-55 {
  padding-right: 55px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pt-60per {
  padding-top: 60% !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pt-65 {
  padding-top: 65px !important;
}

.pt-65per {
  padding-top: 65% !important;
}

.pb-65 {
  padding-bottom: 65px !important;
}

.pl-65 {
  padding-left: 65px !important;
}

.pr-65 {
  padding-right: 65px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pt-70per {
  padding-top: 70% !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pt-75 {
  padding-top: 75px !important;
}

.pt-75per {
  padding-top: 75% !important;
}

.pb-75 {
  padding-bottom: 75px !important;
}

.pl-75 {
  padding-left: 75px !important;
}

.pr-75 {
  padding-right: 75px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pt-80per {
  padding-top: 80% !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pt-85 {
  padding-top: 85px !important;
}

.pt-85per {
  padding-top: 85% !important;
}

.pb-85 {
  padding-bottom: 85px !important;
}

.pl-85 {
  padding-left: 85px !important;
}

.pr-85 {
  padding-right: 85px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pt-90per {
  padding-top: 90% !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pt-95 {
  padding-top: 95px !important;
}

.pt-95per {
  padding-top: 95% !important;
}

.pb-95 {
  padding-bottom: 95px !important;
}

.pl-95 {
  padding-left: 95px !important;
}

.pr-95 {
  padding-right: 95px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pt-100per {
  padding-top: 100% !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

/* text-align */
.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

/* vertical-align */
.va-top {
  vertical-align: top !important;
}

.va-middle {
  vertical-align: middle !important;
}

.va-bottom {
  vertical-align: bottom !important;
}

/* white-space */
.ws-nowrap {
  white-space: nowrap !important;
}

/* text-color */
.text-red-type01 {
  color: #FF0000;
}

.text-red-type02 {
  color: #ff3366;
}

.text-red-type03 {
  color: #ff6633;
}

.text-red-type04 {
  color: #ff6347;
}

.text-blue-type01 {
  color: #0000FF;
}

.text-blue-type02 {
  color: #0099cc;
}

.text-green-type01 {
  color: #33cc00;
}

.text-green-type02 {
  color: #006600;
}

.text-purple-type01 {
  color: #663399;
}

.text-purple-type02 {
  color: #4b0082;
}

.text-yellow-type01 {
  color: #ffcc00;
}

.sp-content {
  display: none !important;
}

/* display */
.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-i-block {
  display: inline-block !important;
}

.d-table {
  display: table !important;
}

.d-t-row {
  display: table-row !important;
}

.d-t-cell {
  display: table-cell !important;
}

.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-i-flex {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

/* overflow */
.of-auto {
  overflow: auto;
}

.of-hidden {
  overflow: hidden;
}

/* visibility */
.hidden {
  visibility: hidden !important;
}

.visible {
  visibility: visible !important;
}

/* hover */
.hover-opacity {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

/* width(px) 5-600 */
.w-5 {
  width: 5px !important;
}

.w-10 {
  width: 10px !important;
}

.w-15 {
  width: 15px !important;
}

.w-20 {
  width: 20px !important;
}

.w-25 {
  width: 25px !important;
}

.w-30 {
  width: 30px !important;
}

.w-35 {
  width: 35px !important;
}

.w-40 {
  width: 40px !important;
}

.w-45 {
  width: 45px !important;
}

.w-50 {
  width: 50px !important;
}

.w-55 {
  width: 55px !important;
}

.w-60 {
  width: 60px !important;
}

.w-65 {
  width: 65px !important;
}

.w-70 {
  width: 70px !important;
}

.w-75 {
  width: 75px !important;
}

.w-80 {
  width: 80px !important;
}

.w-85 {
  width: 85px !important;
}

.w-90 {
  width: 90px !important;
}

.w-95 {
  width: 95px !important;
}

.w-100 {
  width: 100px !important;
}

.w-105 {
  width: 105px !important;
}

.w-110 {
  width: 110px !important;
}

.w-115 {
  width: 115px !important;
}

.w-120 {
  width: 120px !important;
}

.w-125 {
  width: 125px !important;
}

.w-130 {
  width: 130px !important;
}

.w-135 {
  width: 135px !important;
}

.w-140 {
  width: 140px !important;
}

.w-145 {
  width: 145px !important;
}

.w-150 {
  width: 150px !important;
}

.w-155 {
  width: 155px !important;
}

.w-160 {
  width: 160px !important;
}

.w-165 {
  width: 165px !important;
}

.w-170 {
  width: 170px !important;
}

.w-175 {
  width: 175px !important;
}

.w-180 {
  width: 180px !important;
}

.w-185 {
  width: 185px !important;
}

.w-190 {
  width: 190px !important;
}

.w-195 {
  width: 195px !important;
}

.w-200 {
  width: 200px !important;
}

.w-205 {
  width: 205px !important;
}

.w-210 {
  width: 210px !important;
}

.w-215 {
  width: 215px !important;
}

.w-220 {
  width: 220px !important;
}

.w-225 {
  width: 225px !important;
}

.w-230 {
  width: 230px !important;
}

.w-235 {
  width: 235px !important;
}

.w-240 {
  width: 240px !important;
}

.w-245 {
  width: 245px !important;
}

.w-250 {
  width: 250px !important;
}

.w-255 {
  width: 255px !important;
}

.w-260 {
  width: 260px !important;
}

.w-265 {
  width: 265px !important;
}

.w-270 {
  width: 270px !important;
}

.w-275 {
  width: 275px !important;
}

.w-280 {
  width: 280px !important;
}

.w-285 {
  width: 285px !important;
}

.w-290 {
  width: 290px !important;
}

.w-295 {
  width: 295px !important;
}

.w-300 {
  width: 300px !important;
}

.w-305 {
  width: 305px !important;
}

.w-310 {
  width: 310px !important;
}

.w-315 {
  width: 315px !important;
}

.w-320 {
  width: 320px !important;
}

.w-325 {
  width: 325px !important;
}

.w-330 {
  width: 330px !important;
}

.w-335 {
  width: 335px !important;
}

.w-340 {
  width: 340px !important;
}

.w-345 {
  width: 345px !important;
}

.w-350 {
  width: 350px !important;
}

.w-355 {
  width: 355px !important;
}

.w-360 {
  width: 360px !important;
}

.w-365 {
  width: 365px !important;
}

.w-370 {
  width: 370px !important;
}

.w-375 {
  width: 375px !important;
}

.w-380 {
  width: 380px !important;
}

.w-385 {
  width: 385px !important;
}

.w-390 {
  width: 390px !important;
}

.w-395 {
  width: 395px !important;
}

.w-400 {
  width: 400px !important;
}

.w-405 {
  width: 405px !important;
}

.w-410 {
  width: 410px !important;
}

.w-415 {
  width: 415px !important;
}

.w-420 {
  width: 420px !important;
}

.w-425 {
  width: 425px !important;
}

.w-430 {
  width: 430px !important;
}

.w-435 {
  width: 435px !important;
}

.w-440 {
  width: 440px !important;
}

.w-445 {
  width: 445px !important;
}

.w-450 {
  width: 450px !important;
}

.w-455 {
  width: 455px !important;
}

.w-460 {
  width: 460px !important;
}

.w-465 {
  width: 465px !important;
}

.w-470 {
  width: 470px !important;
}

.w-475 {
  width: 475px !important;
}

.w-480 {
  width: 480px !important;
}

.w-485 {
  width: 485px !important;
}

.w-490 {
  width: 490px !important;
}

.w-495 {
  width: 495px !important;
}

.w-500 {
  width: 500px !important;
}

.w-505 {
  width: 505px !important;
}

.w-510 {
  width: 510px !important;
}

.w-515 {
  width: 515px !important;
}

.w-520 {
  width: 520px !important;
}

.w-525 {
  width: 525px !important;
}

.w-530 {
  width: 530px !important;
}

.w-535 {
  width: 535px !important;
}

.w-540 {
  width: 540px !important;
}

.w-545 {
  width: 545px !important;
}

.w-550 {
  width: 550px !important;
}

.w-555 {
  width: 555px !important;
}

.w-560 {
  width: 560px !important;
}

.w-565 {
  width: 565px !important;
}

.w-570 {
  width: 570px !important;
}

.w-575 {
  width: 575px !important;
}

.w-580 {
  width: 580px !important;
}

.w-585 {
  width: 585px !important;
}

.w-590 {
  width: 590px !important;
}

.w-595 {
  width: 595px !important;
}

.w-600 {
  width: 600px !important;
}

/* width(%) 5-100 */
.w-5per {
  width: 5% !important;
}

.w-10per {
  width: 10% !important;
}

.w-15per {
  width: 15% !important;
}

.w-20per {
  width: 20% !important;
}

.w-25per {
  width: 25% !important;
}

.w-30per {
  width: 30% !important;
}

.w-35per {
  width: 35% !important;
}

.w-40per {
  width: 40% !important;
}

.w-45per {
  width: 45% !important;
}

.w-50per {
  width: 50% !important;
}

.w-55per {
  width: 55% !important;
}

.w-60per {
  width: 60% !important;
}

.w-65per {
  width: 65% !important;
}

.w-70per {
  width: 70% !important;
}

.w-75per {
  width: 75% !important;
}

.w-80per {
  width: 80% !important;
}

.w-85per {
  width: 85% !important;
}

.w-90per {
  width: 90% !important;
}

.w-95per {
  width: 95% !important;
}

.w-100per {
  width: 100% !important;
}

/* width(em) 5-20 */
.w-1em {
  width: 1em !important;
}

.w-2em {
  width: 2em !important;
}

.w-3em {
  width: 3em !important;
}

.w-4em {
  width: 4em !important;
}

.w-5em {
  width: 5em !important;
}

.w-6em {
  width: 6em !important;
}

.w-7em {
  width: 7em !important;
}

.w-8em {
  width: 8em !important;
}

.w-9em {
  width: 9em !important;
}

.w-10em {
  width: 10em !important;
}

.w-11em {
  width: 11em !important;
}

.w-12em {
  width: 12em !important;
}

.w-13em {
  width: 13em !important;
}

.w-14em {
  width: 14em !important;
}

.w-15em {
  width: 15em !important;
}

.w-16em {
  width: 16em !important;
}

.w-17em {
  width: 17em !important;
}

.w-18em {
  width: 18em !important;
}

.w-19em {
  width: 19em !important;
}

.w-20em {
  width: 20em !important;
}

@media screen {
  [hidden~='screen'] {
    display: inherit;
  }
  [hidden~='screen']:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.3rem;
  }
  .header {
    height: 67px;
  }
  .header::after {
    height: 87px;
  }
  .header-logo {
    margin: 10px;
  }
  .header-logo a {
    width: 80px;
    padding: 8px;
  }
  .header-hamburger {
    width: 44px;
    height: 37px;
    margin: 12px 10px;
    padding: 10px;
  }
  .header-hamburger-line {
    right: 10px;
    width: 24px;
  }
  .header-hamburger-line:nth-child(1) {
    top: 10px;
  }
  .header-hamburger-line:nth-child(3) {
    bottom: 10px;
  }
  .header-hamburger.is-opened .header-hamburger-line:nth-child(1) {
    -webkit-transform: translateY(7.5px) rotate(45deg);
    transform: translateY(7.5px) rotate(45deg);
  }
  .header-hamburger.is-opened .header-hamburger-line:nth-child(3) {
    -webkit-transform: translateY(-7.5px) rotate(-45deg);
    transform: translateY(-7.5px) rotate(-45deg);
  }
  .header-nav {
    padding-top: 55px;
  }
  .header-nav-container {
    padding: 20px 15px 28px;
  }
  .header-search-tags {
    margin: 14px 10px 0;
    text-align: right;
  }
  .header-contents {
    margin-top: 25px;
  }
  .header-contents.is-lv1 .header-menu-item {
    border: none;
  }
  .header-contents.is-lv1 .header-menu-item > a {
    -webkit-transition: none;
    opacity: 0;
    transition: none;
  }
  .header-contents.is-lv1 .header-dropdown-back-button {
    display: block;
  }
  .header-contents.is-lv2 .header-dropdown.-lv1 > .header-dropdown-title,
  .header-contents.is-lv2 .header-dropdown.-lv1 > .header-dropdown-menu > .header-dropdown-menu-item > a {
    -webkit-transition: none;
    opacity: 0;
    transition: none;
  }
  .header-contents.is-lv2 .header-dropdown.-lv1 > .header-dropdown-title,
  .header-contents.is-lv2 .header-dropdown.-lv1 > .header-dropdown-menu > .header-dropdown-menu-item {
    border-top: none;
  }
  .header-menu {
    margin-top: 10px;
  }
  .header-menu-item {
    font-size: 1.4rem;
  }
  .header-menu-item a {
    padding: 12px 5px;
  }
  .header-dropdown {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
  .header-dropdown-button {
    padding-right: 20px;
  }
  .header-dropdown-button::after {
    right: 10px;
  }
  .header-link-list {
    margin: -8px;
  }
  .header-link-list li {
    width: 50%;
    padding: 8px;
  }
  .header-link-list.-logo {
    margin: -7px;
  }
  .header-link-list.-logo li {
    width: 33.33333%;
    min-height: 59px;
    padding: 7px;
  }
  .header-link-list.-logo li a[target='_blank']::after {
    width: 6px;
    height: 6px;
  }
  .header-link-list.-logo li a {
    padding: 7px 3px 8px;
  }
  .header-link-list.-logo li a[target='_blank']::after {
    width: 6px;
    height: 6px;
  }
  .header-link-list.-logo li a img.sp-content {
    max-height: 26px;
  }
  .header-links {
    padding: 20px 22px;
    font-size: 1.12rem;
  }
  .header-links .header-link-list {
    margin-bottom: 16px;
  }
  .header-links-group {
    padding: 26px 15px;
  }
  .header-links-group .header-link-list {
    margin: -7px;
  }
  .jp-en-btn {
    margin: 12px 10px;
    padding: 10px 0;
    font-size: 10px;
  }
  .is-fixed .jp-en-btn {
    margin: 12px 10px;
    padding: 10px 0;
    font-size: 10px;
  }
  .jp-en-btn .jp-btn {
    padding-right: 12px;
  }
  .jp-en-btn .en-btn {
    padding-left: 12px;
  }
  .header-information {
    padding: 10px 0;
  }
  .header-information-inner {
    padding: 0 19px;
  }
  .header-information-head {
    text-align: center;
  }
  .header-information-close {
    top: 14px;
    right: 10px;
    width: 23px;
    height: 23px;
  }
  .footer {
    padding: 30px 0;
    font-size: 1rem;
  }
  .footer-inner {
    max-width: 100%;
    padding-right: 19px;
    padding-left: 19px;
  }
  .footer-links {
    margin: -8px;
  }
  .footer-links > li {
    width: 50%;
    padding: 8px;
  }
  .footer-links > li::before {
    content: none;
  }
  .footer-logo {
    margin-top: 10px;
  }
  .footer-logo a {
    width: 98px;
    padding: 8px 8px 6px;
  }
  .footer-copyright {
    margin-top: 16px;
  }
  .gdpr-bg {
    padding: 60px 5% 30px;
  }
  .gdpr-btn {
    top: -38px;
  }
  .gdpr-box {
    display: block;
  }
  .gdpr-accept {
    margin-top: 20px;
  }
  .gdpr-accept a {
    max-width: 180px;
    margin: 0 auto;
  }
  .pagetop {
    right: 15px;
    bottom: calc(100% + 11px);
  }
  .pagetop a {
    padding: 7px 12px 5px;
  }
  .pagetop a span {
    padding-right: 22px;
  }
  .content {
    padding: 50px 0;
  }
  .content-header-heading {
    font-size: 3rem;
  }
  .content-header-heading-sub {
    font-size: 1.5rem;
  }
  .content-header {
    height: 250px;
  }
  .content-header-bg img {
    height: 250px;
  }
  .content-header-text {
    padding: 0 19px;
  }
  .content-body {
    margin-top: 67px;
  }
  .content-top {
    padding: 25px 0 35px;
  }
  .content-inner {
    max-width: 100%;
    padding-right: 19px;
    padding-left: 19px;
  }
  .content-narrow-sm > .heading-lv2, .article-post .content-narrow-sm > h2 {
    margin-bottom: 8px;
  }
  .content-hr::before {
    width: calc(100vw - 25px * 2);
  }
  .content-hr {
    margin: 50px 0;
  }
  .content-hr-light::before {
    width: 100%;
  }
  .content-hr-light {
    margin: 25px 0;
  }
  .content-section {
    margin-top: 60px;
  }
  .column {
    margin: -13px;
  }
  .column .column-col, .column .column-col-auto, .column .column-col-1, .column .column-col-2, .column .column-col-3, .column .column-col-4, .column .column-col-5, .column .column-col-6 {
    padding: 13px;
  }
  .column .column-col-1-sp {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .column .column-col-2-sp {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .column .column-col-3-sp {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .column.-gap-sm {
    margin: -5px;
  }
  .column.-gap-sm .column-col, .column.-gap-sm .column-col-auto, .column.-gap-sm .column-col-1, .column.-gap-sm .column-col-2, .column.-gap-sm .column-col-3, .column.-gap-sm .column-col-4, .column.-gap-sm .column-col-5, .column.-gap-sm .column-col-6 {
    padding: 5px;
  }
  .heading-lv1 {
    margin-bottom: 1em;
    font-size: 2.3rem;
  }
  .heading-lv2, .article-post h2 {
    margin-bottom: 27px;
    font-size: 1.6rem;
  }
  .heading-lv2-latin {
    font-size: 2.25rem;
  }
  .heading-lv3, .article-post h3 {
    font-size: 1.5rem;
  }
  .heading-lv4 {
    font-size: 1.5rem;
  }
  .text-block {
    margin: 25px 0;
  }
  .text-line-camp-1-sp {
    -webkit-line-clamp: 1 !important;
  }
  .text-line-camp-2-sp {
    -webkit-line-clamp: 2 !important;
  }
  .text-line-camp-3-sp {
    -webkit-line-clamp: 3 !important;
  }
  .text-line-camp-4-sp {
    -webkit-line-clamp: 4 !important;
  }
  .text-line-camp-5-sp {
    -webkit-line-clamp: 5 !important;
  }
  .button-block .button, .button-block-bg .button, .button-list-item .button {
    min-width: 178px;
  }
  .-lg.button-block .button, .-lg.button-block-bg .button, .-lg.button-list-item .button {
    width: 275px;
  }
  .-xl.button-block .button, .-xl.button-block-bg .button, .-xl.button-list-item .button {
    width: 100%;
  }
  .button-block {
    margin: 40px 7px 0;
  }
  .button-block-bg {
    padding: 50px 7px;
  }
  .button-list {
    margin: 30px 7px -30px;
  }
  .button-list + .button-list, .button-block + .button-list {
    margin-top: 40px;
  }
  .button-list-item {
    padding-bottom: 30px;
  }
  .button-list.-column .button-list-item .button {
    width: 178px;
  }
  .button {
    -webkit-box-shadow: -5px -5px 10px #ffffff, 2px 2px 6px rgba(0, 0, 0, 0.43), -1px -1px 5px rgba(0, 0, 0, 0.43);
    box-shadow: -5px -5px 10px #ffffff, 2px 2px 6px rgba(0, 0, 0, 0.43), -1px -1px 5px rgba(0, 0, 0, 0.43);
  }
  .button {
    min-height: 40px;
    padding: 3px 20px 5px;
    border-radius: 20px;
    font-size: 1.3rem;
    line-height: 1.23077;
  }
  .button::after {
    -webkit-transform: translateY(-2px);
    right: 9.5px;
    width: 9.5px;
    height: 4.5px;
    transform: translateY(-2px);
  }
  .button:hover::after {
    -webkit-transform: translate(4px, -2px);
    transform: translate(4px, -2px);
  }
  .button[target="_blank"]::after {
    width: 11px;
    height: 11px;
  }
  .button.-dark {
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.92), 0 0 7px rgba(100, 100, 100, 0.5);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.92), 0 0 7px rgba(100, 100, 100, 0.5);
  }
  .link-text[href$=".pdf"]::after, .link-list-title a[href$=".pdf"]::after, .link-list > li > a[href$=".pdf"]::after, .link-text.-mb[href$=".pdf"]::after, .link-list-title a.-mb[href$=".pdf"]::after, .link-list > li > a.-mb[href$=".pdf"]::after, .link-text[href$=".epub"]::after, .link-list-title a[href$=".epub"]::after, .link-list > li > a[href$=".epub"]::after, .link-text[href$=".xls"]::after, .link-list-title a[href$=".xls"]::after, .link-list > li > a[href$=".xls"]::after, .link-text[href$=".xlsx"]::after, .link-list-title a[href$=".xlsx"]::after, .link-list > li > a[href$=".xlsx"]::after, .link-text[href$=".doc"]::after, .link-list-title a[href$=".doc"]::after, .link-list > li > a[href$=".doc"]::after, .link-text[href$=".zip"]::after, .link-list-title a[href$=".zip"]::after, .link-list > li > a[href$=".zip"]::after, .link-text[href$=".ppt"]::after, .link-list-title a[href$=".ppt"]::after, .link-list > li > a[href$=".ppt"]::after, .link-text.-mb[href$=".ppt"]::after, .link-list-title a.-mb[href$=".ppt"]::after, .link-list > li > a.-mb[href$=".ppt"]::after, .link-text[href$=".pptx"]::after, .link-list-title a[href$=".pptx"]::after, .link-list > li > a[href$=".pptx"]::after, .link-text.-mb[href$=".pptx"]::after, .link-list-title a.-mb[href$=".pptx"]::after, .link-list > li > a.-mb[href$=".pptx"]::after, .link-text[href$=".key"]::after, .link-list-title a[href$=".key"]::after, .link-list > li > a[href$=".key"]::after {
    width: auto;
    height: auto;
    background-size: 12px 16px;
  }
  .link-text[href$=".pdf"]:after, .link-list-title a[href$=".pdf"]:after, .link-list > li > a[href$=".pdf"]:after, .link-text.-mb[href$=".pdf"]:after, .link-list-title a.-mb[href$=".pdf"]:after, .link-list > li > a.-mb[href$=".pdf"]:after, .link-text[href$=".epub"]:after, .link-list-title a[href$=".epub"]:after, .link-list > li > a[href$=".epub"]:after, .link-text[href$=".xls"]:after, .link-list-title a[href$=".xls"]:after, .link-list > li > a[href$=".xls"]:after, .link-text[href$=".xlsx"]:after, .link-list-title a[href$=".xlsx"]:after, .link-list > li > a[href$=".xlsx"]:after, .link-text[href$=".doc"]:after, .link-list-title a[href$=".doc"]:after, .link-list > li > a[href$=".doc"]:after, .link-text[href$=".zip"]:after, .link-list-title a[href$=".zip"]:after, .link-list > li > a[href$=".zip"]:after, .link-text[href$=".ppt"]:after, .link-list-title a[href$=".ppt"]:after, .link-list > li > a[href$=".ppt"]:after, .link-text.-mb[href$=".ppt"]:after, .link-list-title a.-mb[href$=".ppt"]:after, .link-list > li > a.-mb[href$=".ppt"]:after, .link-text[href$=".pptx"]:after, .link-list-title a[href$=".pptx"]:after, .link-list > li > a[href$=".pptx"]:after, .link-text.-mb[href$=".pptx"]:after, .link-list-title a.-mb[href$=".pptx"]:after, .link-list > li > a.-mb[href$=".pptx"]:after, .link-text[href$=".key"]:after, .link-list-title a[href$=".key"]:after, .link-list > li > a[href$=".key"]:after {
    padding-left: 20px;
  }
  .link-text[target="_blank"]::after, .link-list-title a[target="_blank"]::after, .link-list > li > a[target="_blank"]::after {
    width: 11px;
    height: 11px;
  }
  .link-list-title {
    font-size: 1.5rem;
  }
  .link-list-inside {
    margin-top: 25px;
  }
  .link-anchor-list {
    margin: -10px -15px;
  }
  .link-anchor-list > li {
    padding: 10px 15px;
  }
  .link-rss {
    font-size: 1rem;
  }
  .link-rss::before {
    width: 14px;
    height: 14px;
    margin-bottom: 3px;
  }
  .list-annotation {
    font-size: 1rem;
  }
  .list-disc > li::before, .article-post ul > li::before, .list-disc > li > ul > li::before, .article-post ul > li > ul > li::before {
    width: 10px;
    height: 10px;
  }
  .image-block.-sp-sm img, .-sp-sm.iframe-block img {
    max-width: 70%;
  }
  .image-block, .iframe-block {
    margin: 30px 0;
  }
  .image-block.-white-bg, .-white-bg.iframe-block {
    padding: 10px;
  }
  .image-responsive {
    width: 100%;
  }
  .social-block {
    margin: 40px 0;
  }
  .social-list {
    margin: 0 -6px;
  }
  .social-list-item {
    margin: 0 6px;
  }
  .social-list-item img {
    height: 22px;
  }
  .label {
    min-width: 62px;
    padding: 4px;
    font-size: 1.1rem;
  }
  .hashtag-list {
    font-size: 1rem;
  }
  .-lg .tag-button {
    font-size: 1.3rem;
  }
  .tag-button {
    padding: 3px 11px 4px;
    font-size: 1.3rem;
  }
  .tag-field + .tag-field {
    margin-top: 15px;
  }
  .tag-field {
    padding: 35px 20px;
  }
  .tag-field-title {
    font-size: 1.5rem;
  }
  .tag-field-footer {
    margin: 38px 0 -15px;
  }
  .tag-field.-recommend .tag-field-title-inner::before, .tag-field.-recommend .tag-field-title-inner::after {
    width: 40px;
  }
  .tag-button-list, .tag-list {
    margin: -3px;
  }
  .tag-button-list-item, .tag-list-item {
    margin: 3px;
  }
  .tag {
    padding: 4px 6px 5px;
    border-radius: 2px;
    font-size: 1rem;
  }
  .filtering-area {
    padding: 26px 0 43px;
  }
  .filtering-button {
    -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
    border-radius: 5px;
    box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
  }
  .filtering-button {
    height: calc(100% - 8px);
    margin-bottom: 8px;
    font-size: 1.4rem;
    line-height: 1.2;
  }
  .filtering-button::before {
    bottom: -5px;
    width: 11px;
    height: 11px;
  }
  .filtering-button-inner {
    padding: 11px 0 13px;
  }
  .filtering-button-inner > span {
    font-size: 1.1rem;
  }
  .filtering-button.-toggle {
    margin-bottom: 8px;
  }
  .filtering-button.-toggle::after {
    right: 6px;
  }
  .filtering-button.-toggle .filtering-button-inner {
    padding-right: 16px;
    padding-left: 16px;
  }
  .filtering-button-list {
    margin-bottom: 9px;
  }
  .filtering-button-list-item {
    min-height: 62px;
    margin-left: 16px;
  }
  .filtering-button-list-item .filtering-content {
    position: fixed;
    top: auto;
    bottom: 0;
    height: 200px;
    overflow-y: auto;
  }
  .filtering-button-list-item .filtering-selectbox {
    padding: 10px 19px;
  }
  .filtering-selectbox-moblie.is-active + .filtering-button {
    pointer-events: none;
  }
  .filtering-selectbox {
    -webkit-box-shadow: 1.5px 1.5px 3px rgba(0, 0, 0, 0.37);
    padding: 35px 15px 20px;
    border-radius: 10px;
    box-shadow: 1.5px 1.5px 3px rgba(0, 0, 0, 0.37);
  }
  .filtering.-toggle .filtering-label::before, .filtering.-toggle .filtering-label::after, .filtering.-toggle .filtering-content-close::before, .filtering.-toggle .filtering-content-close::after {
    width: 20px;
  }
  .filtering.-toggle .filtering-label {
    height: 61px;
    padding: 10px 35px;
  }
  .filtering.-toggle .filtering-label::before, .filtering.-toggle .filtering-label::after {
    right: 14px;
  }
  .filtering.-toggle .filtering-content-close {
    width: 20px;
    height: 20px;
    margin-top: -16px;
  }
  .filtering {
    font-size: 1rem;
  }
  .filtering-label {
    -webkit-box-shadow: -3px -3px 3px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
    height: 35px;
    padding: 4px 28px 4px 10px;
    box-shadow: -3px -3px 3px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  }
  .filtering-label::after {
    right: 18px;
  }
  .filtering-content-close {
    position: relative;
    top: 0;
    right: auto;
    margin-top: -10px;
    margin-left: auto;
  }
  .filtering-link-block {
    margin-top: 15px;
  }
  .filtering-clear {
    font-size: 1.3rem;
  }
  .filtering-block {
    margin: 32px 0 20px;
  }
  .filtering-block .filtering-label {
    width: 245px;
  }
  .information-list-item::after {
    width: 200px;
  }
  .information-list-item + .information-list-item {
    margin-top: 12px;
  }
  .information-list:not(.-multiple) .information-list-item:last-child::after {
    content: none;
  }
  .information {
    padding-bottom: .75em;
  }
  .information-list.-multiple .information {
    padding-bottom: 15px;
  }
  .information-list:not(.-emergency) .information {
    display: block;
  }
  .information-data {
    margin-top: 0;
    font-size: 1rem;
  }
  .information-list:not(.-emergency) .information-data {
    width: auto;
  }
  .information-list.-emergency .information-data {
    margin-top: .5em;
  }
  .information-category {
    font-size: 1.1rem;
  }
  [target="_blank"] .information-title::after {
    width: 11px;
    height: 11px;
  }
  .information-list:not(.-emergency) .information-title {
    margin-left: 0;
  }
  .information-pict {
    width: 43.7037%;
    margin: 0 10px 8px 0;
    padding-top: 24.59259%;
    float: left;
    border-radius: 8px;
  }
  .information-content > * {
    display: block;
    max-width: calc(100% - 43.7037% - 10px);
    margin-left: auto;
  }
  .information-content .information-data {
    margin-bottom: 5px;
  }
  .information-content .information-title {
    margin-bottom: 10px;
    overflow: hidden;
    line-height: 1.61538;
  }
  .information-label, .information-tags {
    display: inline-block;
    margin-bottom: 5px;
    vertical-align: middle;
  }
  .information-hashtags {
    max-width: 100%;
    margin-top: 10px;
    clear: both;
  }
  .card {
    -webkit-box-shadow: 4.5px 4px 10px rgba(0, 0, 0, 0.21), 0 0 5px 0 #ffffff, -2px 0 5px 0 #ffffff, -2px -3px 15px #ffffff;
    padding: 20px;
    border-width: 0;
    border-radius: 15px;
    box-shadow: 4.5px 4px 10px rgba(0, 0, 0, 0.21), 0 0 5px 0 #ffffff, -2px 0 5px 0 #ffffff, -2px -3px 15px #ffffff;
    font-size: 1.3rem;
  }
  .card + .card {
    margin-top: 24px;
  }
  .card-pict {
    margin-bottom: 10px;
    border-radius: 10px;
  }
  .card-pict.-book {
    height: 121px;
  }
  .card-pict.-book img {
    width: 71px;
    height: 100px;
  }
  .card-pict.-thumb {
    padding-top: 65%;
  }
  .card-pict.-icon {
    max-width: 83.5px;
    height: 83.5px;
  }
  .card-pict.-icon img {
    width: 62.5px;
    height: 62.5px;
  }
  .card-pict.-book, .card-pict.-logo {
    max-width: 121px;
  }
  .card-content p {
    margin-bottom: 15px;
  }
  .card-data {
    font-size: 1rem;
  }
  .card-category {
    font-size: 1.1rem;
  }
  [target="_blank"] .card-heading::after {
    width: 11px;
    height: 11px;
  }
  .card-heading {
    font-size: 1.7rem;
    line-height: 1.29412;
  }
  .card[target='_blank'] .card-title::after {
    width: 11px;
    height: 11px;
  }
  .card-title {
    font-size: 1.5rem;
    line-height: 1.33333;
  }
  .card-title.-sm {
    font-size: 1.3rem;
  }
  .card-title > span {
    font-size: 1.2rem;
  }
  .card-description.-blank-icon::after {
    width: 11px;
    height: 11px;
  }
  .card-description.-sp {
    display: block;
  }
  .card.-horizontal-sp {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    -webkit-box-align: start;
    -ms-flex-align: start;
    flex-direction: row;
    flex-grow: 1;
    align-items: flex-start;
    padding: 12px;
    border-radius: 10px;
  }
  .card.-horizontal-sp .card-pict {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 25.37879%;
    border-radius: 10px;
  }
  .card.-horizontal-sp .card-pict + .card-content {
    min-width: 0;
    margin-left: 12px;
  }
  .card.-horizontal-sp .card-pict.-square {
    padding-top: 25.37879%;
  }
  .card.-horizontal-sp .card-description {
    display: block;
  }
  .card.-media, .card.-media .card-content {
    display: block;
  }
  .card.-media {
    padding: 15px;
  }
  .card.-media .card-pict {
    width: 50.32895%;
    margin: 0 12px 10px 0;
    padding-top: 28.31003%;
    float: left;
    border-radius: 7.5px;
  }
  .card.-media .card-pict.-square {
    width: 25.37879%;
    padding-top: 25.37879%;
  }
  .card.-media .card-description {
    -webkit-line-clamp: 2;
  }
  .card.-media .card-description:not(.-not-clear) {
    margin-top: 12px;
    clear: both;
  }
  .card.-media .card-hashtags {
    margin-top: 15px;
    clear: both;
  }
  .column-col-3 .card.-horizontal {
    padding: 12px;
    border-radius: 10px;
  }
  .column-col-3 .card.-horizontal .card-pict {
    width: 25.37879%;
    border-radius: 10px;
  }
  .column-col-3 .card.-horizontal .card-pict + .card-content {
    margin-left: 12px;
  }
  .column-col-3 .card.-horizontal .card-pict.-square {
    padding-top: 25.37879%;
  }
  .card-list-item {
    margin-bottom: 20px;
  }
  .card-slider-list-item {
    padding: 0 13px;
  }
  .card-slider-list-item .card {
    padding: 18px 15px;
  }
  .card-slider-list.slick-initialized {
    margin: 0 -19px;
  }
  .box-pict {
    margin: 10px 0;
  }
  .box-heading {
    margin-bottom: 5px;
    font-size: 1.7rem;
  }
  .box-title {
    margin-bottom: 5px;
    font-size: 1.7rem;
    line-height: 1.33333;
  }
  .box-title.-sm {
    font-size: 1.5rem;
  }
  .box-content {
    font-size: 1.3rem;
  }
  .box.-horizontal .box-pict.-book, .box.-float .box-pict.-book {
    max-width: 138px;
    margin-right: auto;
    margin-bottom: 10px;
    margin-left: auto;
  }
  .box.-float-sp {
    display: block;
  }
  .box.-float-sp::after {
    display: block;
    clear: both;
    content: '';
  }
  .box.-float-sp .box-pict {
    width: 47.77448%;
    margin-right: 15px;
    float: left;
  }
  .box.-float-sp .box-content {
    display: block;
  }
  .column-col-4 .box-title {
    font-size: 1.5rem;
  }
  .table-responsive + .table-responsive {
    margin-top: 25px;
  }
  .table-responsive table {
    width: 814px;
  }
  table.-th-w-20-sp th {
    width: 20px !important;
  }
  table.-th-w-40-sp th {
    width: 40px !important;
  }
  table.-th-w-60-sp th {
    width: 60px !important;
  }
  table.-th-w-80-sp th {
    width: 80px !important;
  }
  table.-th-w-100-sp th {
    width: 100px !important;
  }
  table.-th-w-120-sp th {
    width: 120px !important;
  }
  table.-th-w-140-sp th {
    width: 140px !important;
  }
  table.-th-w-160-sp th {
    width: 160px !important;
  }
  table.-th-w-180-sp th {
    width: 180px !important;
  }
  table.-th-w-200-sp th {
    width: 200px !important;
  }
  table.-th-w-220-sp th {
    width: 220px !important;
  }
  table.-th-w-240-sp th {
    width: 240px !important;
  }
  table.-th-w-260-sp th {
    width: 260px !important;
  }
  table.-th-w-280-sp th {
    width: 280px !important;
  }
  table.-th-w-300-sp th {
    width: 300px !important;
  }
  .table th, .article-post table th {
    font-size: 1.2rem;
  }
  .table td, .article-post table td {
    font-size: 1.3rem;
  }
  .form-control, .form-control-radius {
    font-size: 1.4rem;
  }
  .form-control {
    -webkit-box-shadow: -3px -3px 3px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
    height: 40px;
    padding: 4px 28px 4px 10px;
    box-shadow: -3px -3px 3px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  }
  .form-control {
    border-radius: 5px;
  }
  .form-control-radius {
    -webkit-box-shadow: -3px -3px 3px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
    height: 35px;
    padding: 4px 28px 4px 10px;
    box-shadow: -3px -3px 3px #ffffff inset, -2px -2px 2px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.16) inset;
  }
  .form-control-select {
    font-size: 1.4rem;
  }
  .form-control-select::after {
    right: 12px;
  }
  .form-control-select > select {
    -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
    border-radius: 5px;
    box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
  }
  .form-control-select > select {
    height: 47px;
    padding: 6px 20px 8px 14px;
    font-size: 1.4rem;
  }
  .form-control-select-outline {
    font-size: 1.4rem;
  }
  .form-control-select-outline::after {
    right: 10px;
  }
  .form-control-select-outline > select {
    height: 35px;
    border-radius: 5px;
  }
  .form-control-checkbox > span, .form-control-radio > span {
    min-height: 35px;
    padding-left: 35px;
  }
  .form-control-checkbox > span::before, .form-control-radio > span::before {
    width: 35px;
    height: 35px;
  }
  .form-control-checkbox > span::after {
    left: 7px;
    width: 20px;
    height: 15px;
  }
  .form-control-radio > span::after {
    width: 15px;
  }
  .form-button {
    -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
    border-radius: 5px;
    box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.21), -1px 0 5px #ffffff, 1px 0 5px #ffffff, -1px -1px 6px #ffffff;
  }
  .form-button {
    padding: 6px 8px 8px;
    font-size: 1.4rem;
  }
  .form-button-fill {
    padding: 8px 4px;
  }
  .form-button-group {
    margin-top: 45px;
  }
  .form-button-group-item {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 35px;
  }
  .form-button-group-item.-sm {
    max-width: 35.60831%;
  }
  .form-row-gruop {
    margin-left: -15px;
  }
  .form-row-gruop > * {
    margin-left: 15px;
  }
  .form-row-gruop .form-button-fill {
    width: 69px;
  }
  .form-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 1.4rem;
  }
  .form-group + .form-group {
    margin-top: 35px;
  }
  .form-group-head {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    margin-bottom: 10px;
  }
  .form-search {
    margin: 25px 19px;
  }
  .form-search-group input[type=text] {
    font-size: 1rem;
  }
  .form-search-group input[type=submit] {
    width: 56px;
    margin-left: 10px;
  }
  .more-button {
    padding-right: 28px;
    font-size: 1.3rem;
  }
  .more-button::after {
    -webkit-transform: rotate(45deg) translate(-2px, -2px);
    width: 10px;
    height: 10px;
    transform: rotate(45deg) translate(-2px, -2px);
  }
  .more-button-block {
    margin-top: 30px;
  }
  .slider-arrows {
    margin-bottom: 20px;
  }
  .slider-arrows .slick-arrow {
    -webkit-box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
    box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
  }
  .slider-arrows .slick-arrow {
    width: 33px;
    height: 33px;
  }
  .slider-arrows .slick-arrow:not(:first-child) {
    margin-left: 20px;
  }
  .slider-arrows .slick-arrow:after {
    width: 15px;
    height: 6px;
  }
  .tab-button {
    -webkit-box-shadow: 4px 5px 10px rgba(0, 0, 0, 0.21), -3px 0 5px #ffffff, -3px -2px 7px #ffffff;
    box-shadow: 4px 5px 10px rgba(0, 0, 0, 0.21), -3px 0 5px #ffffff, -3px -2px 7px #ffffff;
  }
  .tab-button {
    border-radius: 5px 5px 0 0;
  }
  .tab-button-list {
    margin: 0 19px;
  }
  .tab-button-list-item {
    min-height: 53px;
    padding-top: 9px;
  }
  .tab-button-list-item.is-active .tab-button {
    padding-bottom: 5px;
  }
  .tab-panel {
    padding: 14px 0 35px;
  }
  .header-nav [data-effect-delay-sp="1"] {
    -webkit-transition-delay: 0.05s !important;
    transition-delay: 0.05s !important;
  }
  .header-nav [data-effect-delay-sp="2"] {
    -webkit-transition-delay: 0.1s !important;
    transition-delay: 0.1s !important;
  }
  .header-nav [data-effect-delay-sp="3"] {
    -webkit-transition-delay: 0.15s !important;
    transition-delay: 0.15s !important;
  }
  .header-nav [data-effect-delay-sp="4"] {
    -webkit-transition-delay: 0.2s !important;
    transition-delay: 0.2s !important;
  }
  .header-nav [data-effect-delay-sp="5"] {
    -webkit-transition-delay: 0.25s !important;
    transition-delay: 0.25s !important;
  }
  .header-nav [data-effect-delay-sp="6"] {
    -webkit-transition-delay: 0.3s !important;
    transition-delay: 0.3s !important;
  }
  .header-nav [data-effect-delay-sp="7"] {
    -webkit-transition-delay: 0.35s !important;
    transition-delay: 0.35s !important;
  }
  .header-nav [data-effect-delay-sp="8"] {
    -webkit-transition-delay: 0.4s !important;
    transition-delay: 0.4s !important;
  }
  .header-nav [data-effect-delay-sp="9"] {
    -webkit-transition-delay: 0.45s !important;
    transition-delay: 0.45s !important;
  }
  .header-nav [data-effect-delay-sp="10"] {
    -webkit-transition-delay: 0.5s !important;
    transition-delay: 0.5s !important;
  }
  .header-nav [data-effect-delay-sp="11"] {
    -webkit-transition-delay: 0.55s !important;
    transition-delay: 0.55s !important;
  }
  .header-nav [data-effect-delay-sp="12"] {
    -webkit-transition-delay: 0.6s !important;
    transition-delay: 0.6s !important;
  }
  .header-nav [data-effect-delay-sp="13"] {
    -webkit-transition-delay: 0.65s !important;
    transition-delay: 0.65s !important;
  }
  .header-nav [data-effect-delay-sp="14"] {
    -webkit-transition-delay: 0.7s !important;
    transition-delay: 0.7s !important;
  }
  .header-nav [data-effect-delay-sp="15"] {
    -webkit-transition-delay: 0.75s !important;
    transition-delay: 0.75s !important;
  }
  .header-nav [data-effect-delay-sp="16"] {
    -webkit-transition-delay: 0.8s !important;
    transition-delay: 0.8s !important;
  }
  .header-nav [data-effect-delay-sp="17"] {
    -webkit-transition-delay: 0.85s !important;
    transition-delay: 0.85s !important;
  }
  .header-nav [data-effect-delay-sp="18"] {
    -webkit-transition-delay: 0.9s !important;
    transition-delay: 0.9s !important;
  }
  .header-nav [data-effect-delay-sp="19"] {
    -webkit-transition-delay: 0.95s !important;
    transition-delay: 0.95s !important;
  }
  .header-nav [data-effect-delay-sp="20"] {
    -webkit-transition-delay: 1s !important;
    transition-delay: 1s !important;
  }
  .panel-outline {
    margin-top: 54px;
    padding: 35px 25px;
    border-radius: 10px;
  }
  .panel-outline-title {
    margin-bottom: 35px;
    font-size: 1.5rem;
  }
  .panel-outline-title::before, .panel-outline-title::after {
    width: 27.5px;
  }
  .article {
    padding: 18px 0 50px;
    font-size: 1.4rem;
  }
  .article-inner {
    padding: 0 19px;
  }
  .article-panel {
    width: auto;
    margin: 0 19px;
    padding: 15px 19px 30px;
    border-radius: 15px;
  }
  .article-body {
    margin-top: 25px;
  }
  .article-category {
    margin-bottom: 1em;
    font-size: 1.3rem;
  }
  .article-date {
    font-size: 1rem;
  }
  .article-tags {
    font-size: 1.1rem;
  }
  .article-tags .link-text[href$=".pdf"]:after, .article-tags .link-list-title a[href$=".pdf"]:after, .link-list-title .article-tags a[href$=".pdf"]:after, .article-tags .link-list > li > a[href$=".pdf"]:after {
    background-size: auto 28px;
  }
  .article-post small {
    font-size: 1rem;
  }
  .article-post > table {
    display: block;
    overflow-x: auto;
  }
  .article-post > table thead, .article-post > table tbody {
    display: table;
    width: 814px;
  }
  .article-figure {
    margin: 30px 0;
  }
  .news .article-post h2:first-child {
    font-size: 1.6rem;
  }
  .toggle-box {
    margin: 30px 0;
    padding: 16px 20px 18px 25px;
    font-size: 1.4rem;
  }
  .toggle-box + .toggle-box {
    margin-top: 25px;
  }
  .toggle-box-header {
    font-size: 1.4rem;
  }
  .toggle-box-body {
    padding-bottom: 15px;
  }
  .toggle-box-content {
    margin-top: 20px;
  }
  .toggle-box-icon {
    right: -7px;
    width: 15px;
    height: 15px;
  }
  .toggle-box-icon::before, .toggle-box-icon::after {
    width: 7px;
  }
  .toggle-panel {
    padding: 40px 20px 35px 25px;
    font-size: 1.4rem;
  }
  .toggle-panel-section + .toggle-panel-section:not(.is-first) {
    margin-top: 25px;
    padding-top: 25px;
  }
  .toggle-panel-section + .toggle-panel-section:not(.is-first)::before {
    right: 0;
    left: 0;
  }
  .toggle-panel-title {
    margin-bottom: .75em;
    font-size: 1.4rem;
  }
  .toggle-panel .toggle-box-header {
    padding-right: 23px;
  }
  .toggle-panel .toggle-box-icon {
    right: 0;
  }
  .modal-button {
    -webkit-box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
    box-shadow: -2px -2px 5px #ffffff, 1px 1px 5px rgba(0, 0, 0, 0.31);
  }
  .modal-button {
    width: 33px;
    height: 33px;
    margin: 8px 0 0 auto;
  }
  .modal-button::after {
    width: 14px;
    height: 14px;
  }
  .modal {
    padding: 45px 19px;
  }
  .modal-close-button {
    top: 15px;
    right: 19px;
    width: 26px;
    height: 26px;
  }
  .modal-close-button::before, .modal-close-button::after {
    height: 2px;
  }
  .carousel-visual {
    margin: 30px 0;
  }
  .carousel-visual-dots {
    bottom: 10px;
  }
  .carousel-visual-dots > li button {
    width: 12px;
    height: 12px;
  }
  .carousel-visual-dots > li button::before {
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
  }
  .carousel-visual-arrow {
    width: 26px;
    height: 26px;
  }
  .carousel-visual-arrow.-prev {
    left: 8px;
  }
  .carousel-visual-arrow.-next {
    right: 8px;
  }
  .relation-content + .relation-content::before {
    width: calc(100vw - 25px * 2);
  }
  .relation-content + .relation-content {
    margin-top: 60px;
    padding-top: 50px;
  }
  .relation {
    padding: 50px 0;
  }
  .contact-list {
    margin: 25px 0;
    font-size: 1.4rem;
  }
  .contact-list-head {
    margin-bottom: 10px;
  }
  .contact-panel {
    padding: 50px 20px;
  }
  .contact {
    padding: 50px 0 89px;
  }
  .contact + .contact {
    margin-top: 30px;
  }
  .contact[class*="bg-base"] {
    padding-top: 19px;
    padding-bottom: 19px;
  }
  .contact-lead-block {
    margin-top: 30px;
    font-size: 1.5rem;
  }
  .contact-button-block {
    margin-top: 30px;
  }
  .group-list {
    margin: -10px -7px;
  }
  .group-list-item {
    min-height: 65px;
    padding: 10px 7px;
  }
  .group-list-item a[target='_blank']::after {
    width: 6px;
    height: 6px;
  }
  .group-list-item a {
    -webkit-box-shadow: -2px -2px 5px #ffffff, 2px 2px 5px rgba(0, 0, 0, 0.16);
    padding: 5px 3px;
    border-radius: 7px;
    box-shadow: -2px -2px 5px #ffffff, 2px 2px 5px rgba(0, 0, 0, 0.16);
  }
  .group-list-item a[target='_blank']::after {
    right: 7px;
    bottom: 4.5px;
  }
  .group-list-item a img {
    max-height: 15px;
  }
  .group-list-item a img.sp-content {
    max-height: 26px;
  }
  .group {
    padding: 30px 0 55px;
  }
  .unit-case-heading-group {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    padding: 0 19px 16px;
    color: #ffffff;
  }
  .unit-case-heading-group::after {
    z-index: -1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
    content: "";
  }
  .unit-case .box-content {
    position: relative;
    padding: 10px 19px 20px;
  }
  .unit-case .box-heading {
    font-size: 2.4rem;
  }
  .unit-iframe-button {
    bottom: 27px;
  }
  .unit-message {
    margin: 0 14px;
  }
  .unit-message-heading {
    margin: 15px 0;
    font-size: 1.4rem;
  }
  .unit-message-heading:first-child {
    margin-top: 0;
  }
  .unit-message-title {
    font-size: 1.4rem;
  }
  .search-control {
    margin-bottom: 35px;
    font-size: 1.4rem;
  }
  .search-control-count {
    margin-bottom: 25px;
  }
  .search-control-filtering {
    margin-left: -25px;
  }
  .search-control-filtering-item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  body.search ._popfind_sitesearch .search-control ._countselector, body.search ._popfind_sitesearch .search-control ._sortorderselector, body.search ._popfind_sitesearch .search-control ._attributegroup {
    display: block;
    text-align: center;
  }
  body.search ._popfind_sitesearch .search-control ._countselector ._label, body.search ._popfind_sitesearch .search-control ._countselector ._group, body.search ._popfind_sitesearch .search-control ._sortorderselector ._label, body.search ._popfind_sitesearch .search-control ._sortorderselector ._group, body.search ._popfind_sitesearch .search-control ._attributegroup ._label, body.search ._popfind_sitesearch .search-control ._attributegroup ._group {
    margin-bottom: 10px;
    font-size: 1.4rem;
  }
  body.search ._popfind_sitesearch .search-control ._countselector select, body.search ._popfind_sitesearch .search-control ._sortorderselector select, body.search ._popfind_sitesearch .search-control ._attributegroup select {
    width: 100%;
    height: 35px;
    border-radius: 5px;
  }
  body.search ._popfind_sitesearch ._items ._item {
    margin-bottom: 25px;
    padding-bottom: 20px;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._layoutgroup1 {
    width: 43.85185%;
    margin: 0 10px 10px 0;
    float: left;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail a {
    padding-top: 56.75676%;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._title {
    font-size: 1.5rem;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._title ~ * {
    clear: both;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._link {
    font-size: 1rem;
  }
  body.search ._popfind_sitesearch ._pagenator {
    margin-top: 40px;
  }
  body.search ._popfind_sitesearch ._pagenator ._nav._page {
    min-width: 36px;
    min-height: 36px;
    margin: 5px;
  }
  body.search ._popfind_sitesearch ._pagenator ._nav._page a {
    border-width: 1px;
  }
  .home-content {
    padding: 50px 0;
  }
  .home-content-heading {
    margin-bottom: 35px;
    font-size: 2.25rem;
  }
  .home-content-heading + .slider-arrows {
    margin-top: -35px;
  }
  .home-content-lead {
    margin-bottom: 20px;
    font-size: 1.4rem;
  }
  .home-mainvisual-item::after::after {
    height: 115px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6));
  }
  .home-mainvisual-button {
    top: 84%;
  }
  .home-mainvisual-button.-dx {
    top: 88.5%;
  }
  .home-mainvisual-button a {
    min-width: 178px;
    min-height: 40px;
  }
  .home-mainvisual-button.-dx a {
    min-width: 178px;
    min-height: 40px;
  }
  .home-company {
    padding-top: 63px;
  }
  .home-company-lead {
    font-size: 2rem;
  }
  .home-company .button-block {
    margin-top: 65px;
  }
  .home-service {
    padding: 50px 0 60px;
  }
  .home-service-pict {
    max-width: 97.76119%;
    margin: 20px auto 30px;
  }
  .home-service-link > li {
    width: 35%;
    height: 100px;
  }
  .home-service-link > li.bx {
    right: auto;
    left: -5%;
  }
  .home-service-link > li.dx {
    right: -5%;
    left: auto;
  }
  .home-service .button-block {
    margin-top: 30px;
  }
  .home-topics {
    padding-top: 25px;
  }
  .home-topics .slider-arrows {
    margin: 45px 0 20px;
  }
  .home-topics-list-main-item {
    margin-top: 24px;
  }
  .home-topics-list-main-item [target="_blank"] .card-heading::after {
    width: 11px;
    height: 11px;
  }
  .home-topics-list-main-item:first-child .card-heading {
    font-size: 2.4rem;
    line-height: 1;
  }
  .home-topics-list-main-item:not(:first-child) .card-heading {
    font-size: 2.4rem;
    line-height: 1;
  }
  .home-topics-list-sub {
    margin: 30px 0 0;
  }
  .home-topics-list-sub + .home-topics-list-sub {
    margin-top: 45px;
  }
  .home-topics-list-sub-item + .home-topics-list-sub-item {
    margin-top: 28px;
  }
  .home-topics-list-sub-item .card {
    padding: 18px 15px 20px;
  }
  .home-topics-list-sub-item .card.-media {
    padding: 20px;
  }
  .home-topics-list-sub[data-slider-link] .home-topics-list-sub-item {
    max-width: 63.2vw;
    padding: 0 6px;
  }
  .home-topics-list-sub[data-slider-link] .home-topics-list-sub-item + .home-topics-list-sub-item {
    margin-top: 0;
  }
  .home-topics-list-sub[data-slider-link] .home-topics-list-sub-item .card-description {
    -webkit-line-clamp: 4;
  }
  .home-topics-list-sub[data-slider-link="first"] .home-topics-list-sub-item:nth-child(odd) {
    padding: 17px 25px 16px;
  }
  .home-topics-list-sub[data-slider-link="first"] .home-topics-list-sub-item:nth-child(odd) .card {
    padding: 15px 12px;
  }
  .home-topics-list-sub[data-slider-link="second"] .home-topics-list-sub-item:nth-child(even) {
    padding: 17px 25px 16px;
  }
  .home-topics-list-sub[data-slider-link="second"] .home-topics-list-sub-item:nth-child(even) .card {
    padding: 15px 12px;
  }
  .home-filtering-header-row {
    margin-bottom: 28px;
  }
  .home-filtering-title {
    padding-bottom: 2px;
    font-size: 1.8rem;
  }
  .home-filtering-box {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: auto;
  }
  .home-filtering-box .filtering-label {
    font-size: 1.5rem;
  }
  .capabilities .lgp-bg {
    padding: 40px 20px;
  }
  .capabilities .lgp-bg .capabilities-about-lead p {
    font-size: 1.3rem;
  }
  .capabilities .heading-lgp {
    font-size: 1.5rem;
  }
  .capabilities .button.-lgp {
    -webkit-box-shadow: -2px -2px 5px #ffffff, 10px 10px 20px rgba(0, 0, 0, 0.25);
    box-shadow: -2px -2px 5px #ffffff, 10px 10px 20px rgba(0, 0, 0, 0.25);
  }
  .capabilities-business-card-title-en > span, .capabilities-section-category-en > span, .capabilities-tab .tab-button > em > span {
    font-size: 1rem;
  }
  .capabilities-about {
    padding: 45px 0 50px;
  }
  .capabilities-about-title {
    margin-bottom: 45px;
  }
  .capabilities-about-title > img {
    width: 230px;
  }
  .capabilities-about .button-block {
    margin-top: 50px;
  }
  .capabilities-business-cards .capabilities-business-card {
    width: calc((100% - 15px) / 2);
    margin-left: 15px;
  }
  .capabilities-business-cards .capabilities-business-card:nth-child(2n + 1) {
    margin-left: 0;
  }
  .capabilities-business-cards .capabilities-business-card:nth-child(n + 3) {
    margin-top: 15px;
  }
  .capabilities-business-card {
    padding: 20px 5px 26px;
    border-radius: 10px;
  }
  .capabilities-business-card-title {
    margin-bottom: 12px;
    font-size: 1.1rem;
  }
  .capabilities-business-card-title-en {
    font-size: 48.5px;
  }
  .capabilities-business-card-text {
    font-size: 1rem;
  }
  .capabilities-model-figure {
    margin: 0 -7px;
  }
  .capabilities-model-figure-item {
    width: 96px;
    width: 25.6vw;
    height: 96px;
    height: 25.6vw;
    padding: 4px;
    padding: 1.06667vw;
  }
  .capabilities-section {
    padding: 30px 0 50px;
  }
  .capabilities-section-category {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }
  .capabilities-section-category-en {
    margin-right: 10px;
    font-size: 2.5rem;
  }
  .capabilities-section-heading {
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
  .capabilities-tab .tab-button > em {
    margin-bottom: 0;
    font-size: 2.5rem;
  }
  .capabilities-article {
    margin-top: 30px;
  }
  .capabilities-article + .capabilities-article {
    margin-top: 50px;
  }
  .capabilities-article-heading {
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
  .capabilities-article-text {
    width: 52.53731%;
    float: right;
  }
  .capabilities-article-profile {
    margin: 10px 58.50746% 0 0;
  }
  .capabilities-article-profile-name {
    font-size: 1.4rem;
  }
  .capabilities-article-button {
    padding-top: 25px;
    clear: both;
    text-align: center;
  }
  .capabilities-article-button > a {
    min-width: 178px;
  }
  .capabilities-article-avatar {
    width: 41.9403%;
    margin-right: 58.50746%;
    border-radius: 10px;
  }
  .capabilities-article-avatar:not(:first-child) {
    margin-top: 15px;
  }
  .box.-horizontal.-capabilities .box-pict img {
    max-width: 207px;
    margin: 0 auto;
  }
  .fl-none-sp {
    float: none !important;
  }
  .fl-clear-sp {
    clear: both !important;
  }
  .fs-sm {
    font-size: 1rem !important;
  }
  .fs-md {
    font-size: 1.2rem !important;
  }
  .fs-lg {
    font-size: 1.3rem !important;
  }
  .m-auto-sp {
    margin: 0 auto !important;
  }
  .mt-0-sp {
    margin-top: 0px !important;
  }
  .mb-0-sp {
    margin-bottom: 0px !important;
  }
  .ml-0-sp {
    margin-left: 0px !important;
  }
  .mr-0-sp {
    margin-right: 0px !important;
  }
  .mt-5-sp {
    margin-top: 5px !important;
  }
  .mb-5-sp {
    margin-bottom: 5px !important;
  }
  .ml-5-sp {
    margin-left: 5px !important;
  }
  .mr-5-sp {
    margin-right: 5px !important;
  }
  .mt-10-sp {
    margin-top: 10px !important;
  }
  .mb-10-sp {
    margin-bottom: 10px !important;
  }
  .ml-10-sp {
    margin-left: 10px !important;
  }
  .mr-10-sp {
    margin-right: 10px !important;
  }
  .mt-15-sp {
    margin-top: 15px !important;
  }
  .mb-15-sp {
    margin-bottom: 15px !important;
  }
  .ml-15-sp {
    margin-left: 15px !important;
  }
  .mr-15-sp {
    margin-right: 15px !important;
  }
  .mt-20-sp {
    margin-top: 20px !important;
  }
  .mb-20-sp {
    margin-bottom: 20px !important;
  }
  .ml-20-sp {
    margin-left: 20px !important;
  }
  .mr-20-sp {
    margin-right: 20px !important;
  }
  .mt-25-sp {
    margin-top: 25px !important;
  }
  .mb-25-sp {
    margin-bottom: 25px !important;
  }
  .ml-25-sp {
    margin-left: 25px !important;
  }
  .mr-25-sp {
    margin-right: 25px !important;
  }
  .mt-30-sp {
    margin-top: 30px !important;
  }
  .mb-30-sp {
    margin-bottom: 30px !important;
  }
  .ml-30-sp {
    margin-left: 30px !important;
  }
  .mr-30-sp {
    margin-right: 30px !important;
  }
  .mt-35-sp {
    margin-top: 35px !important;
  }
  .mb-35-sp {
    margin-bottom: 35px !important;
  }
  .ml-35-sp {
    margin-left: 35px !important;
  }
  .mr-35-sp {
    margin-right: 35px !important;
  }
  .mt-40-sp {
    margin-top: 40px !important;
  }
  .mb-40-sp {
    margin-bottom: 40px !important;
  }
  .ml-40-sp {
    margin-left: 40px !important;
  }
  .mr-40-sp {
    margin-right: 40px !important;
  }
  .mt-45-sp {
    margin-top: 45px !important;
  }
  .mb-45-sp {
    margin-bottom: 45px !important;
  }
  .ml-45-sp {
    margin-left: 45px !important;
  }
  .mr-45-sp {
    margin-right: 45px !important;
  }
  .mt-50-sp {
    margin-top: 50px !important;
  }
  .mb-50-sp {
    margin-bottom: 50px !important;
  }
  .ml-50-sp {
    margin-left: 50px !important;
  }
  .mr-50-sp {
    margin-right: 50px !important;
  }
  .mt-55-sp {
    margin-top: 55px !important;
  }
  .mb-55-sp {
    margin-bottom: 55px !important;
  }
  .ml-55-sp {
    margin-left: 55px !important;
  }
  .mr-55-sp {
    margin-right: 55px !important;
  }
  .mt-60-sp {
    margin-top: 60px !important;
  }
  .mb-60-sp {
    margin-bottom: 60px !important;
  }
  .ml-60-sp {
    margin-left: 60px !important;
  }
  .mr-60-sp {
    margin-right: 60px !important;
  }
  .mt-65-sp {
    margin-top: 65px !important;
  }
  .mb-65-sp {
    margin-bottom: 65px !important;
  }
  .ml-65-sp {
    margin-left: 65px !important;
  }
  .mr-65-sp {
    margin-right: 65px !important;
  }
  .mt-70-sp {
    margin-top: 70px !important;
  }
  .mb-70-sp {
    margin-bottom: 70px !important;
  }
  .ml-70-sp {
    margin-left: 70px !important;
  }
  .mr-70-sp {
    margin-right: 70px !important;
  }
  .mt-75-sp {
    margin-top: 75px !important;
  }
  .mb-75-sp {
    margin-bottom: 75px !important;
  }
  .ml-75-sp {
    margin-left: 75px !important;
  }
  .mr-75-sp {
    margin-right: 75px !important;
  }
  .mt-80-sp {
    margin-top: 80px !important;
  }
  .mb-80-sp {
    margin-bottom: 80px !important;
  }
  .ml-80-sp {
    margin-left: 80px !important;
  }
  .mr-80-sp {
    margin-right: 80px !important;
  }
  .mt-85-sp {
    margin-top: 85px !important;
  }
  .mb-85-sp {
    margin-bottom: 85px !important;
  }
  .ml-85-sp {
    margin-left: 85px !important;
  }
  .mr-85-sp {
    margin-right: 85px !important;
  }
  .mt-90-sp {
    margin-top: 90px !important;
  }
  .mb-90-sp {
    margin-bottom: 90px !important;
  }
  .ml-90-sp {
    margin-left: 90px !important;
  }
  .mr-90-sp {
    margin-right: 90px !important;
  }
  .mt-95-sp {
    margin-top: 95px !important;
  }
  .mb-95-sp {
    margin-bottom: 95px !important;
  }
  .ml-95-sp {
    margin-left: 95px !important;
  }
  .mr-95-sp {
    margin-right: 95px !important;
  }
  .mt-100-sp {
    margin-top: 100px !important;
  }
  .mb-100-sp {
    margin-bottom: 100px !important;
  }
  .ml-100-sp {
    margin-left: 100px !important;
  }
  .mr-100-sp {
    margin-right: 100px !important;
  }
  .pt-0-sp {
    padding-top: 0px !important;
  }
  .pb-0-sp {
    padding-bottom: 0px !important;
  }
  .pl-0-sp {
    padding-left: 0px !important;
  }
  .pr-0-sp {
    padding-right: 0px !important;
  }
  .pt-5-sp {
    padding-top: 5px !important;
  }
  .pb-5-sp {
    padding-bottom: 5px !important;
  }
  .pl-5-sp {
    padding-left: 5px !important;
  }
  .pr-5-sp {
    padding-right: 5px !important;
  }
  .pt-10-sp {
    padding-top: 10px !important;
  }
  .pb-10-sp {
    padding-bottom: 10px !important;
  }
  .pl-10-sp {
    padding-left: 10px !important;
  }
  .pr-10-sp {
    padding-right: 10px !important;
  }
  .pt-15-sp {
    padding-top: 15px !important;
  }
  .pb-15-sp {
    padding-bottom: 15px !important;
  }
  .pl-15-sp {
    padding-left: 15px !important;
  }
  .pr-15-sp {
    padding-right: 15px !important;
  }
  .pt-20-sp {
    padding-top: 20px !important;
  }
  .pb-20-sp {
    padding-bottom: 20px !important;
  }
  .pl-20-sp {
    padding-left: 20px !important;
  }
  .pr-20-sp {
    padding-right: 20px !important;
  }
  .pt-25-sp {
    padding-top: 25px !important;
  }
  .pb-25-sp {
    padding-bottom: 25px !important;
  }
  .pl-25-sp {
    padding-left: 25px !important;
  }
  .pr-25-sp {
    padding-right: 25px !important;
  }
  .pt-30-sp {
    padding-top: 30px !important;
  }
  .pb-30-sp {
    padding-bottom: 30px !important;
  }
  .pl-30-sp {
    padding-left: 30px !important;
  }
  .pr-30-sp {
    padding-right: 30px !important;
  }
  .pt-35-sp {
    padding-top: 35px !important;
  }
  .pb-35-sp {
    padding-bottom: 35px !important;
  }
  .pl-35-sp {
    padding-left: 35px !important;
  }
  .pr-35-sp {
    padding-right: 35px !important;
  }
  .pt-40-sp {
    padding-top: 40px !important;
  }
  .pb-40-sp {
    padding-bottom: 40px !important;
  }
  .pl-40-sp {
    padding-left: 40px !important;
  }
  .pr-40-sp {
    padding-right: 40px !important;
  }
  .pt-45-sp {
    padding-top: 45px !important;
  }
  .pb-45-sp {
    padding-bottom: 45px !important;
  }
  .pl-45-sp {
    padding-left: 45px !important;
  }
  .pr-45-sp {
    padding-right: 45px !important;
  }
  .pt-50-sp {
    padding-top: 50px !important;
  }
  .pb-50-sp {
    padding-bottom: 50px !important;
  }
  .pl-50-sp {
    padding-left: 50px !important;
  }
  .pr-50-sp {
    padding-right: 50px !important;
  }
  .pt-55-sp {
    padding-top: 55px !important;
  }
  .pb-55-sp {
    padding-bottom: 55px !important;
  }
  .pl-55-sp {
    padding-left: 55px !important;
  }
  .pr-55-sp {
    padding-right: 55px !important;
  }
  .pt-60-sp {
    padding-top: 60px !important;
  }
  .pb-60-sp {
    padding-bottom: 60px !important;
  }
  .pl-60-sp {
    padding-left: 60px !important;
  }
  .pr-60-sp {
    padding-right: 60px !important;
  }
  .pt-65-sp {
    padding-top: 65px !important;
  }
  .pb-65-sp {
    padding-bottom: 65px !important;
  }
  .pl-65-sp {
    padding-left: 65px !important;
  }
  .pr-65-sp {
    padding-right: 65px !important;
  }
  .pt-70-sp {
    padding-top: 70px !important;
  }
  .pb-70-sp {
    padding-bottom: 70px !important;
  }
  .pl-70-sp {
    padding-left: 70px !important;
  }
  .pr-70-sp {
    padding-right: 70px !important;
  }
  .pt-75-sp {
    padding-top: 75px !important;
  }
  .pb-75-sp {
    padding-bottom: 75px !important;
  }
  .pl-75-sp {
    padding-left: 75px !important;
  }
  .pr-75-sp {
    padding-right: 75px !important;
  }
  .pt-80-sp {
    padding-top: 80px !important;
  }
  .pb-80-sp {
    padding-bottom: 80px !important;
  }
  .pl-80-sp {
    padding-left: 80px !important;
  }
  .pr-80-sp {
    padding-right: 80px !important;
  }
  .pt-85-sp {
    padding-top: 85px !important;
  }
  .pb-85-sp {
    padding-bottom: 85px !important;
  }
  .pl-85-sp {
    padding-left: 85px !important;
  }
  .pr-85-sp {
    padding-right: 85px !important;
  }
  .pt-90-sp {
    padding-top: 90px !important;
  }
  .pb-90-sp {
    padding-bottom: 90px !important;
  }
  .pl-90-sp {
    padding-left: 90px !important;
  }
  .pr-90-sp {
    padding-right: 90px !important;
  }
  .pt-95-sp {
    padding-top: 95px !important;
  }
  .pb-95-sp {
    padding-bottom: 95px !important;
  }
  .pl-95-sp {
    padding-left: 95px !important;
  }
  .pr-95-sp {
    padding-right: 95px !important;
  }
  .pt-100-sp {
    padding-top: 100px !important;
  }
  .pb-100-sp {
    padding-bottom: 100px !important;
  }
  .pl-100-sp {
    padding-left: 100px !important;
  }
  .pr-100-sp {
    padding-right: 100px !important;
  }
  .text-center-sp {
    text-align: center !important;
  }
  .text-left-sp {
    text-align: left !important;
  }
  .text-right-sp {
    text-align: right !important;
  }
  .pc-content {
    display: none !important;
  }
  .sp-content {
    display: block !important;
  }
  /* width(px) 5-150 */
  .w-5-sp {
    width: 5px !important;
  }
  .w-10-sp {
    width: 10px !important;
  }
  .w-15-sp {
    width: 15px !important;
  }
  .w-20-sp {
    width: 20px !important;
  }
  .w-25-sp {
    width: 25px !important;
  }
  .w-30-sp {
    width: 30px !important;
  }
  .w-35-sp {
    width: 35px !important;
  }
  .w-40-sp {
    width: 40px !important;
  }
  .w-45-sp {
    width: 45px !important;
  }
  .w-50-sp {
    width: 50px !important;
  }
  .w-55-sp {
    width: 55px !important;
  }
  .w-60-sp {
    width: 60px !important;
  }
  .w-65-sp {
    width: 65px !important;
  }
  .w-70-sp {
    width: 70px !important;
  }
  .w-75-sp {
    width: 75px !important;
  }
  .w-80-sp {
    width: 80px !important;
  }
  .w-85-sp {
    width: 85px !important;
  }
  .w-90-sp {
    width: 90px !important;
  }
  .w-95-sp {
    width: 95px !important;
  }
  .w-100-sp {
    width: 100px !important;
  }
  .w-105-sp {
    width: 105px !important;
  }
  .w-110-sp {
    width: 110px !important;
  }
  .w-115-sp {
    width: 115px !important;
  }
  .w-120-sp {
    width: 120px !important;
  }
  .w-125-sp {
    width: 125px !important;
  }
  .w-130-sp {
    width: 130px !important;
  }
  .w-135-sp {
    width: 135px !important;
  }
  .w-140-sp {
    width: 140px !important;
  }
  .w-145-sp {
    width: 145px !important;
  }
  .w-150-sp {
    width: 150px !important;
  }
  /* width(%) 5-100 */
  .w-5per-sp {
    width: 5% !important;
  }
  .w-10per-sp {
    width: 10% !important;
  }
  .w-15per-sp {
    width: 15% !important;
  }
  .w-20per-sp {
    width: 20% !important;
  }
  .w-25per-sp {
    width: 25% !important;
  }
  .w-30per-sp {
    width: 30% !important;
  }
  .w-35per-sp {
    width: 35% !important;
  }
  .w-40per-sp {
    width: 40% !important;
  }
  .w-45per-sp {
    width: 45% !important;
  }
  .w-50per-sp {
    width: 50% !important;
  }
  .w-55per-sp {
    width: 55% !important;
  }
  .w-60per-sp {
    width: 60% !important;
  }
  .w-65per-sp {
    width: 65% !important;
  }
  .w-70per-sp {
    width: 70% !important;
  }
  .w-75per-sp {
    width: 75% !important;
  }
  .w-80per-sp {
    width: 80% !important;
  }
  .w-85per-sp {
    width: 85% !important;
  }
  .w-90per-sp {
    width: 90% !important;
  }
  .w-95per-sp {
    width: 95% !important;
  }
  .w-100per-sp {
    width: 100% !important;
  }
  /* width(em) 5-10 */
  .w-1em-sp {
    width: 1em !important;
  }
  .w-2em-sp {
    width: 2em !important;
  }
  .w-3em-sp {
    width: 3em !important;
  }
  .w-4em-sp {
    width: 4em !important;
  }
  .w-5em-sp {
    width: 5em !important;
  }
  .w-6em-sp {
    width: 6em !important;
  }
  .w-7em-sp {
    width: 7em !important;
  }
  .w-8em-sp {
    width: 8em !important;
  }
  .w-9em-sp {
    width: 9em !important;
  }
  .w-10em-sp {
    width: 10em !important;
  }
}

@media screen and (min-width: 768px) {
  a:hover {
    text-decoration: underline;
  }
  .header-logo a:hover:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .header-hamburger:hover .header-hamburger-line::before, .header-hamburger:hover .header-hamburger-line::after {
    -webkit-transform: translateX(180%);
    -webkit-transition: all 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transform: translateX(180%);
    transition: all 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  }
  .header-hamburger:hover .header-hamburger-line:nth-child(2)::before, .header-hamburger:hover .header-hamburger-line:nth-child(2)::after {
    -webkit-transition-delay: .08s;
    transition-delay: .08s;
  }
  .header-hamburger:hover .header-hamburger-line:nth-child(3)::before, .header-hamburger:hover .header-hamburger-line:nth-child(3)::after {
    -webkit-transition-delay: .16s;
    transition-delay: .16s;
  }
  .header-hamburger:hover.is-opened .header-hamburger-line:nth-child(3)::before, .header-hamburger:hover.is-opened .header-hamburger-line:nth-child(3)::after {
    -webkit-transform: translateX(-180%);
    transform: translateX(-180%);
  }
  .header-nav-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
  }
  .header-nav-container {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    height: calc(100% - 246px);
    overflow: hidden;
  }
  .header-search {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 76.39485%;
    margin-left: auto;
    padding-right: 200px;
  }
  .header-search-tags {
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  .header-search-keyword {
    width: 342px;
    margin-right: 30px;
  }
  .header-contents {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row-reverse;
    flex-grow: 1;
    justify-content: space-between;
    height: calc(100% - 84px);
  }
  .header-menu {
    -ms-flex-negative: 0;
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    flex-shrink: 0;
    width: 270px;
    margin-right: 15px;
    padding-bottom: 60px;
    overflow-y: auto;
    border-right: 1px solid #ebebeb;
    /* Firefox 対応 */
  }
  .header-menu::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none;
  }
  .header-menu-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header-menu-item a.is-not-hover {
    color: #888888;
  }
  .header-menu-item a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 2;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 57px;
    border-left: 3px solid transparent;
  }
  .header-menu-item a:hover, .header-menu-item a.is-current {
    border-left-color: #000000;
    background-color: #efefef;
    text-decoration: none;
  }
  .header-menu-item a.is-not-hover::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%225.094%22%20viewBox%3D%220%200%2012%205.094%22%3E%3Cpath%20d%3D%22M877.992%2C536.869h11l-4.045-3.887%22%20transform%3D%22translate(-877.492%20-532.275)%22%20fill%3D%22none%22%20stroke%3D%22%23888%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
  }
  .header-dropdown {
    max-height: 100%;
    margin-left: 269px;
    border-left: 1px solid #ebebeb;
  }
  .header-dropdown.-lv1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
  }
  .header-dropdown.-lv1 > .header-dropdown-title, .header-dropdown.-lv1 > .header-dropdown-menu {
    width: 269px;
  }
  .header-dropdown.-lv1 .header-dropdown-menu-item a {
    padding-left: 2.2em;
  }
  .header-dropdown.-lv1.is-size-min {
    z-index: 3;
    margin-left: 0;
    border-left: 0;
  }
  .header-dropdown.-lv2 .header-dropdown-menu {
    -ms-flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    max-height: calc(100% - 57px);
    margin-left: 40px;
  }
  .header-dropdown.-lv2 .header-dropdown-menu-item {
    display: inline-block;
    width: calc(50% - 17px);
    margin-left: 30px;
  }
  .header-dropdown.-lv2 .header-dropdown-menu-item:nth-child(2n+1) {
    margin-left: 0;
  }
  .header-dropdown.-lv2 .header-dropdown-menu-item a {
    padding-left: 1em;
  }
  .header-dropdown-menu {
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    overflow-y: auto;
    /* Firefox 対応 */
  }
  .header-dropdown-menu::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none;
  }
  .header-dropdown-menu-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header-topics {
    -ms-overflow-style: none;
    scrollbar-width: none;
    -webkit-backdrop-filter: blur(6px);
    width: 100%;
    max-width: 63.51931%;
    height: 100%;
    padding: 0 60px 50px 0;
    overflow-y: auto;
    backdrop-filter: blur(6px);
  }
  .header-topics::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none;
  }
  .header-topics-banner:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .header-topics-box:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .header-link-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .header-link-list.-logo li:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .header-links {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-links .header-link-list {
    margin-right: 12px;
  }
  .header.is-fixed {
    height: 80px;
  }
  .header.is-fixed .header-logo {
    margin: 15px 40px;
  }
  .header.is-fixed .header-logo a {
    width: 105px;
    padding: 9px 10px 7px;
  }
  .header.is-fixed .header-hamburger {
    width: 52px;
    height: 42px;
    margin: 20px 50px 18px;
    padding: 10px;
  }
  .header.is-fixed .header-hamburger-line {
    right: 10px;
    width: 32px;
  }
  .header.is-fixed .header-hamburger-line:nth-child(1) {
    top: 10px;
  }
  .header.is-fixed .header-hamburger-line:nth-child(3) {
    bottom: 10px;
  }
  .header-information-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header-information-head {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 15px;
    line-height: 1.4;
  }
  .header-information-close:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .footer-links > li a:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .pagetop a:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .column.-gap-sm-v {
    margin: -19px -26px;
  }
  .column.-gap-sm-v .column-col, .column.-gap-sm-v .column-col-auto, .column.-gap-sm-v .column-col-1, .column.-gap-sm-v .column-col-2, .column.-gap-sm-v .column-col-3, .column.-gap-sm-v .column-col-4, .column.-gap-sm-v .column-col-5, .column.-gap-sm-v .column-col-6 {
    padding: 19px 26px;
  }
  .content-narrow-sm [target="_blank"] .information-title {
    flex-grow: 0;
  }
  .content-narrow-sm [target="_blank"] .information-title::after {
    display: none;
  }
  .content-narrow-sm [target="_blank"] .information-title + .information-icon {
    align-self: center;
    flex-shrink: 0;
  }
  .content-narrow-sm [target="_blank"] .information-title + .information-icon::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 0.6em;
    background: url(/common/images/icon_blank.svg) no-repeat 50% 50%;
    background-size: contain;
    content: '';
  }
  .heading-lv5 {
    font-size: 1.6rem;
  }
  .text-ellipsis-pc {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .text-telephone {
    pointer-events: none;
  }
  .button-list.-column, .button-list.-column-2, .button-list.-column-3, .button-list.-column-4 {
    -ms-flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-right: -19px;
    margin-left: -19px;
  }
  .button-list.-column .button-list-item, .button-list.-column-2 .button-list-item, .button-list.-column-3 .button-list-item, .button-list.-column-4 .button-list-item {
    padding-right: 19px;
    padding-left: 19px;
  }
  .button-list.-column .button-list-item .button, .button-list.-column-2 .button-list-item .button, .button-list.-column-3 .button-list-item .button, .button-list.-column-4 .button-list-item .button {
    min-width: 0;
  }
  .button-list.-column .button-list-item {
    width: 260px;
  }
  .button-list.-column-2 .button-list-item {
    width: 50%;
  }
  .button-list.-column-3 .button-list-item {
    width: 33.33333%;
  }
  .button-list.-column-4 .button-list-item {
    width: 25%;
  }
  .link-list-inside {
    padding: 0 28px;
  }
  .link-anchor-list {
    font-size: 1.6rem;
  }
  .link-rss:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .definition-list-contact dd {
    margin-left: 7em;
  }
  .list-annotation, .list-decimal, .article-post ol, .list-disc, .article-post ul {
    font-size: 1.6rem;
  }
  .social-list-item a:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .social-list-item.-sm img {
    height: 24px;
  }
  .tag-button:hover {
    background-color: #bbbbbb;
  }
  .filtering-button.-toggle.is-active {
    -webkit-box-shadow: none;
    z-index: 2;
    border-radius: 15px;
    border-color: transparent;
    background-color: transparent;
    box-shadow: none;
  }
  .filtering-button.-toggle.is-active::before {
    content: none;
  }
  .filtering-button.-toggle.is-active::after {
    -webkit-transform: rotate(-135deg) translate(-2px, -2px);
    transform: rotate(-135deg) translate(-2px, -2px);
  }
  .filtering-button.-toggle.is-active .filtering-button-inner {
    background-color: transparent;
  }
  .filtering-group .filtering-button-list {
    margin-right: 23px;
    margin-left: 23px;
  }
  .filtering-button-list-item {
    max-width: calc((100% - 58px) / 2);
  }
  .filtering-group .filtering-button-list-item:not(:first-child) {
    margin-left: 24px;
  }
  .filtering-selectbox-option.is-not-hover {
    color: #888888;
  }
  .filtering-selectbox-option.is-hover .filtering-selectbox-option-inner {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  .filtering.-toggle .filtering-content-close {
    top: 29px;
    right: 41px;
  }
  .filtering-link-block a:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .filtering-link-block a:hover {
    text-decoration: none;
  }
  .filtering-clear:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .information[href] {
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  .information-list.-emergency .information-data {
    font-size: 1.3rem;
  }
  .information-list:not(.-emergency) .information-title {
    font-size: 1.6rem;
  }
  .information-content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .information-list.-multiple .information-content {
    width: calc(100% - 248px);
  }
  .information-content .information-data, .information-content .information-label {
    width: 76px;
    float: left;
  }
  .information-content .information-data ~ * {
    margin-left: 96px;
  }
  .information-tags {
    margin-left: 96px;
  }
  .card-title {
    line-height: 1.19048;
  }
  .card-title.-sm {
    line-height: 1.5625;
  }
  .card.-horizontal {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-direction: row;
    flex-grow: 1;
    padding: 35px;
  }
  .card.-horizontal.-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .card.-horizontal.-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .card.-horizontal.-reverse .card-content {
    margin: 0 35px 0 0;
  }
  .card.-horizontal .card-content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 0 0 0 35px;
    overflow: hidden;
  }
  .card.-horizontal .card-pict {
    -ms-flex-negative: 0;
    -ms-flex-item-align: start;
    flex-shrink: 0;
    align-self: flex-start;
    width: 59.26871%;
    margin-bottom: 0;
    padding-top: 33.33333%;
  }
  .card.-horizontal .card-pict.-sm {
    width: 26.19048%;
    padding-top: 14.71088%;
  }
  .card.-horizontal .card-pict.-logo {
    max-width: 32.54113%;
    padding-top: 32.54113%;
  }
  .column-col-2 .card,
  .column-col-3 .card {
    padding: 35px;
  }
  .column-col-2 .card.-horizontal {
    padding: 25px 25px 27px;
  }
  .column-col-2 .card.-horizontal .card-pict {
    width: 50.27523%;
    padding-top: 28.25688%;
  }
  .column-col-2 .card.-horizontal .card-pict.-logo {
    padding-top: 32.54113%;
  }
  .column-col-2 .card.-horizontal .card-pict.-square {
    width: 25.68807%;
    padding-top: 25.68807%;
  }
  .column-col-2 .card.-horizontal .card-content {
    margin-left: 25px;
  }
  .column-col-2 .card.-horizontal.-reverse .card-content {
    margin: 0 25px 0 0;
  }
  .column-col-3 .card.-horizontal .card-pict {
    width: 43.77104%;
  }
  .column-col-3 .card.-horizontal .card-pict + .card-content {
    margin-left: 20px;
  }
  .column-col-3 .card.-horizontal .card-pict.-square {
    padding-top: 43.77104%;
  }
  .column-col-4 .card {
    padding: 25px;
  }
  .column-col-4 .card-title {
    font-size: 1.6rem;
    line-height: 1.5625;
  }
  .relation-book .card {
    padding: 25px;
  }
  .relation-book .card-title {
    font-size: 1.6rem;
    line-height: 1.5625;
  }
  .card-list-item:not(.-wide) .card.-horizontal {
    padding: 25px;
  }
  .card-list-item:not(.-wide) .card.-horizontal .card-content {
    margin-left: 25px;
  }
  .card-list-item:not(.-wide) .card.-horizontal.-reverse .card-content {
    margin: 0 25px 0 0;
  }
  .card-list-item:not(.-wide) .card.-horizontal .card-pict {
    width: 30.88954%;
    padding-top: 17.3998%;
  }
  .card-list-item.-wide {
    margin-bottom: 58px;
  }
  .card-slider-list[data-slider-col="1"] .card-slider-list-item {
    max-width: 984px;
  }
  .card-slider-list[data-slider-col="1"]:not(.slick-initialized) .card-slider-list-item:nth-child(n + 2) {
    margin-top: 50px;
  }
  .card-slider-list[data-slider-col="1"] .card {
    padding: 30px 30px 38px;
  }
  .card-slider-list[data-slider-col="1"] .card-pict {
    width: 53.08924%;
    padding-top: 29.74828%;
  }
  .card-slider-list[data-slider-col="3"] .card-slider-list-item {
    max-width: 426px;
  }
  .card-slider-list[data-slider-col="3"]:not(.slick-initialized) .card-slider-list-item:nth-child(n + 4) {
    margin-top: 50px;
  }
  .card-slider-list[data-slider-col="3"] .card {
    padding: 28px 23px;
  }
  .card-slider-list[data-slider-col="4"] .card-slider-list-item {
    max-width: 320px;
  }
  .card-slider-list[data-slider-col="4"]:not(.slick-initialized) .card-slider-list-item:nth-child(n + 5) {
    margin-top: 50px;
  }
  .card-slider-list[data-slider-col="4"] .card {
    padding: 28px 23px;
  }
  .card-slider-list.if-few .slick-track {
    -webkit-transform: translate3d(0px, 0px, 0px) !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    width: auto !important;
    transform: translate3d(0px, 0px, 0px) !important;
  }
  .box[href] {
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  .box-tags ul {
    margin-top: 15px;
  }
  .box.-horizontal .box-pict:last-child, .box.-float .box-pict:last-child {
    margin-right: 0;
  }
  .box.-horizontal .box-pict.-md, .box.-float .box-pict.-md {
    width: 47.99358%;
  }
  .box.-horizontal .box-pict.-sm, .box.-float .box-pict.-sm {
    width: 16.21359%;
    margin-right: 25px;
  }
  .box.-horizontal .box-content:last-child, .box.-float .box-content:last-child {
    margin-right: 0;
  }
  .-reverse.box.-horizontal .box-pict, .-reverse.box.-float .box-pict {
    margin-right: 0;
  }
  .box.-horizontal {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .box.-horizontal.-bottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .box.-horizontal.-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .box.-horizontal.-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .box.-horizontal .box-pict {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 50px;
    margin-bottom: 0;
  }
  .box.-horizontal .box-content {
    width: 100%;
    margin-right: 50px;
  }
  .box.-horizontal.-reverse .box-pict {
    margin-left: 50px;
  }
  .box.-float {
    display: block;
  }
  .box.-float .box-pict {
    margin-right: 40px;
    float: left;
  }
  .box.-float .box-content {
    display: block;
    margin-right: 40px;
  }
  .box.-float.-reverse .box-pict {
    margin-left: 40px;
    float: right;
  }
  .column-col-2 .box.-horizontal .box-pict {
    margin-right: 25px;
  }
  .-sm.form-control, .-sm.form-control-radius, .-sm.form-control-select, .-sm.form-control-select-outline {
    max-width: 120px;
  }
  .-md.form-control, .-md.form-control-radius, .-md.form-control-select, .-md.form-control-select-outline {
    max-width: 300px;
  }
  .form-group-head {
    width: 196px;
    padding: .75em .5em .75em 0;
  }
  .form-group-body {
    width: calc(100% - 196px);
    margin-left: auto;
  }
  .error-message {
    margin-left: 196px;
  }
  .more-button:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .more-button {
    font-size: 1.6rem;
  }
  .heading-lv2 + .slider-arrows, .article-post h2 + .slider-arrows {
    margin-top: -30px;
  }
  .tab-button:hover {
    color: #aaa;
  }
  .is-active .tab-button:hover {
    color: #000000;
  }
  .modal-button {
    position: absolute;
    right: -70px;
    bottom: 0;
  }
  .contact-list {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 675px;
  }
  .unit-case .box-content {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0 60px 30px;
    color: #ffffff;
  }
  .unit-case .box-content::after {
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 auto;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
    content: "";
  }
  .unit-case .box-content > * {
    min-width: 69.23653%;
    max-width: 925px;
  }
  .unit-case .box-content > .box-hashtags {
    min-width: 0;
  }
  .unit-case.-reverse .box-content {
    text-align: right;
  }
  .unit-case.-reverse .box-content > * {
    margin-left: auto;
  }
  .unit-message {
    max-width: 575px;
  }
  .search-control {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
  }
  .search-control-count {
    margin-right: auto;
  }
  body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute label:hover ._label {
    background-color: #bbbbbb;
  }
  body.search ._popfind_sitesearch .tag-field ._attributegroup ._attributes ._attribute._disable ._label:hover {
    background-color: #ffffff;
  }
  body.search ._popfind_sitesearch .search-control ._countselector, body.search ._popfind_sitesearch .search-control ._sortorderselector, body.search ._popfind_sitesearch .search-control ._attributegroup {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  body.search ._popfind_sitesearch .search-control ._countselector ._label, body.search ._popfind_sitesearch .search-control ._countselector ._group, body.search ._popfind_sitesearch .search-control ._sortorderselector ._label, body.search ._popfind_sitesearch .search-control ._sortorderselector ._group, body.search ._popfind_sitesearch .search-control ._attributegroup ._label, body.search ._popfind_sitesearch .search-control ._attributegroup ._group {
    padding-right: 15px;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._layoutgroup1 {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._layoutgroup2 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail a {
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  body.search ._popfind_sitesearch ._pagenator ._nav._page a:hover {
    background-color: #bbbbbb;
  }
  .home-topics-list-main-item .card.-horizontal .card-content {
    max-width: 344px;
    margin-left: 4.77002%;
  }
  .home-topics-list-main-item .card.-horizontal.-reverse .card-content {
    margin-right: 4.77002%;
    margin-left: auto;
  }
  .home-topics-list-main-item:first-child .card-pict {
    width: 62.07483%;
    padding-top: 34.86395%;
  }
  .home-topics-list-main-item:first-child .card-description {
    -webkit-line-clamp: 4;
  }
  .home-topics-list-main-item:first-child .card-heading {
    font-size: 5rem;
    line-height: 1;
  }
  .home-topics-list-main-item:not(:first-child) {
    max-width: 1074px;
    margin-right: auto;
    margin-left: 3.21285%;
  }
  .home-topics-list-main-item:not(:first-child) .card-heading {
    font-size: 4rem;
    line-height: 1;
  }
  .home-topics-list-main-item:nth-child(even) {
    margin-right: 3.21285%;
    margin-left: auto;
  }
  .home-topics-list-sub {
    -ms-flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
  }
  .home-topics-list-sub-item {
    width: 25%;
    max-width: 314px;
    padding: 1px 5px;
  }
  .-first .home-topics-list-sub-item:nth-child(odd) {
    padding: 28px 45px 22px;
  }
  .-first .home-topics-list-sub-item:nth-child(odd) .card {
    padding: 20px 20px 25px;
  }
  .-second .home-topics-list-sub-item:nth-child(even) {
    padding: 28px 45px 22px;
  }
  .-second .home-topics-list-sub-item:nth-child(even) .card {
    padding: 20px 20px 25px;
  }
  .capabilities-model .heading-lv2, .capabilities-model .article-post h2, .article-post .capabilities-model h2 {
    margin-bottom: 20px;
  }
  .capabilities-article {
    padding-left: 31.16505%;
  }
  .capabilities-article-avatar {
    position: absolute;
    top: 0;
    left: 0;
  }
  .capabilities-article-avatar:nth-of-type(2) {
    top: 311px;
    top: min(30.19417vw, 311px);
  }
  .-capabilities .box-pict {
    max-width: 207px;
    margin-right: 40px;
    margin-bottom: 1em;
  }
  .box.-capabilities .box-pict {
    max-width: 207px;
    margin: 0 auto;
    margin-bottom: 1em;
  }
  .box.-horizontal.-capabilities .box-pict {
    max-width: 207px;
    margin-right: 40px;
    margin-bottom: 1em;
  }
  .pt-0per-pc {
    padding-top: 0% !important;
  }
  .pt-5per-pc {
    padding-top: 5% !important;
  }
  .pt-10per-pc {
    padding-top: 10% !important;
  }
  .pt-15per-pc {
    padding-top: 15% !important;
  }
  .pt-20per-pc {
    padding-top: 20% !important;
  }
  .pt-25per-pc {
    padding-top: 25% !important;
  }
  .pt-30per-pc {
    padding-top: 30% !important;
  }
  .pt-35per-pc {
    padding-top: 35% !important;
  }
  .pt-40per-pc {
    padding-top: 40% !important;
  }
  .pt-45per-pc {
    padding-top: 45% !important;
  }
  .pt-50per-pc {
    padding-top: 50% !important;
  }
  .pt-55per-pc {
    padding-top: 55% !important;
  }
  .pt-60per-pc {
    padding-top: 60% !important;
  }
  .pt-65per-pc {
    padding-top: 65% !important;
  }
  .pt-70per-pc {
    padding-top: 70% !important;
  }
  .pt-75per-pc {
    padding-top: 75% !important;
  }
  .pt-80per-pc {
    padding-top: 80% !important;
  }
  .pt-85per-pc {
    padding-top: 85% !important;
  }
  .pt-90per-pc {
    padding-top: 90% !important;
  }
  .pt-95per-pc {
    padding-top: 95% !important;
  }
  .pt-100per-pc {
    padding-top: 100% !important;
  }
  .text-center-pc {
    text-align: center !important;
  }
  .text-left-pc {
    text-align: left !important;
  }
  .text-right-pc {
    text-align: right !important;
  }
  .hover-opacity:hover {
    text-decoration: none;
    opacity: 0.5;
  }
}

@media screen and (max-width: 1201px) {
  .header-contents.is-lv2 .header-menu-item {
    border: none;
  }
  .header-contents.is-lv2 .header-menu-item > a {
    -webkit-transition: none;
    opacity: 0;
    transition: none;
  }
  .header-contents.is-lv2 .header-dropdown-back-button {
    display: block;
  }
}

@media screen and (max-width: 1101px) {
  .header.is-opened {
    width: 100%;
    min-width: 0;
  }
}

@media all and (-ms-high-contrast: none) {
  .text-line-camp-1, .text-line-camp-2, .text-line-camp-3, .text-line-camp-4, .text-line-camp-5 {
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .text-line-camp-1 br, .text-line-camp-2 br, .text-line-camp-3 br, .text-line-camp-4 br, .text-line-camp-5 br {
    display: none;
  }
  .button {
    min-height: 0;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .hashtag-list {
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .hashtag-list br {
    display: none;
  }
  .card-description {
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .card-description br {
    display: none;
  }
  .home-mainvisual-pict img {
    min-height: 0;
  }
  [data-capabilities-category] .capabilities-business-card-title-en, [data-capabilities-category] .capabilities-section-category-en, [data-capabilities-category] .capabilities-tab .tab-button > em, .capabilities-tab [data-capabilities-category] .tab-button > em {
    background-image: none;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .information[href]:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .card-slider-list[data-slider-col="4"] .card-title {
    font-size: 1.6rem;
    line-height: 1.5625;
  }
  .box[href]:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  body.search ._popfind_sitesearch ._items ._item ._wrap ._thumbnail a:hover {
    text-decoration: none;
    opacity: 0.5;
  }
  .home-topics-list-sub:not([data-slider-link]) .home-topics-list-sub-item:nth-child(n + 5):nth-child(-n + 8):nth-child(even) {
    padding: 28px 45px 22px;
  }
  .home-topics-list-sub:not([data-slider-link]) .home-topics-list-sub-item:nth-child(n + 5):nth-child(-n + 8):nth-child(even) .card {
    padding: 20px 20px 25px;
  }
  .home-topics-list-sub:not([data-slider-link]) .home-topics-list-sub-item:nth-child(-n + 4):nth-child(odd), .home-topics-list-sub:not([data-slider-link]) .home-topics-list-sub-item:nth-child(n + 9):nth-child(-n + 13):nth-child(odd) {
    padding: 28px 45px 22px;
  }
  .home-topics-list-sub:not([data-slider-link]) .home-topics-list-sub-item:nth-child(-n + 4):nth-child(odd) .card, .home-topics-list-sub:not([data-slider-link]) .home-topics-list-sub-item:nth-child(n + 9):nth-child(-n + 13):nth-child(odd) .card {
    padding: 20px 20px 25px;
  }
}

@media screen and (min-width: 768px) and (max-width: 767px) {
  .card-slider-list[data-slider-col="1"]:not(.slick-initialized) .card-slider-list-item:nth-child(n + 2) {
    margin-top: 24px;
  }
  .card-slider-list[data-slider-col="3"]:not(.slick-initialized) .card-slider-list-item:nth-child(n + 4) {
    margin-top: 24px;
  }
  .card-slider-list[data-slider-col="4"]:not(.slick-initialized) .card-slider-list-item:nth-child(n + 5) {
    margin-top: 24px;
  }
}

@media screen and (min-width: 768px) and (max-width: 960px) {
  .home-topics-list-sub-item .card-title {
    font-size: 1.6rem;
  }
  .home-topics-list-sub-item .card-description {
    display: none;
  }
}

.home-mainvisual-lead {
  width: 100%;
  padding: 0 10%;
  font-size: 2.8rem;
  line-height: 4rem;
  font-weight: 700;
  color: #ffffff;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.home-mainvisual-lead.-ad {
  padding: 0 5%;
  padding: 0 10%;
  font-size: 2.2rem;
  line-height: 4rem;
  color: #000000;
  top: 86%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.home-img-bg {/*
  background: url(/images/top_button_area_bg_pc.jpg) no-repeat center center;
  background-size: cover;*/
  padding: 20px 0;
}
.home-img-bg-title {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
}
.home-img-button-column-4.-ad {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 20px 160px 100px;
}
.home-img-button-column-4.-dx {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 20px;
}
.home-img-button-column-4-item.-ad {
  width: 16%;
  position: relative;
}
.home-img-button-column-4-item.-dx {
  width: 22%;
  border: 2px solid #666666;
  box-shadow: 4px 6px 6px #bbb;
  transition: all 0.2s;
  position: relative;
}
.home-img-button-column-4-item.-dx:hover {
  box-shadow: 6px 8px 14px #bbb;
}
.home-img-button-column-4-item.-dx a {
  text-decoration: none !important;
  display: block;
  height: 100%;
}
.home-img-button-column-4-item.-dx .dx_button_icon {
  width: 20%;
  position: absolute;
  left: 10%;
  bottom: 6%;
}
.home-img-button-shadow.-ad {
  display: block;
  filter: drop-shadow(6px 8px 6px #666);
  transition: all 0.2s;
}
.home-img-button-shadow.-ad:hover {
  filter: drop-shadow(4px 6px 4px #666);
}
.home-img-button-shadow.-ad img {
  opacity: 0.3;
}
.home-img-button-text.-ad {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 3rem;
  color: #ffffff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.home-img-button-text.-dx {
  width: 80%;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 3rem;
  color: #000000;
  margin: 0 auto;
  padding: 14px 0;
}
.home-img-button-lead.-ad {
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 500;
  color: #000000;
  text-align: center;
  position: absolute;
  top: 108%;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  width: 160%;
}
.home-img-button-lead.-dx {
  width: 80%;
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 600;
  color: #000000;
  margin: 0 auto;
  padding-bottom: 34%;
}

@media screen and (max-width: 1340px) {
  .home-mainvisual-lead {    
    padding: 0 5%;
    font-size: 1.6rem;
  }
  .home-mainvisual-lead.-ad { 
    padding: 0 5%;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
  .home-img-bg-title {
    font-size: 2rem;
  }
  .home-img-button-column-4-item.-ad {
    width: 18%;
  }
  .home-img-button-column-4.-ad {
    margin: 20px 10% 100px;
  }
  .home-img-button-text.-ad {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
  .home-img-button-lead.-ad {
    font-size: 1.2rem;
    line-height: 1.6rem;
    top: 110%;
    width: 130%;
  }

@media screen and (max-width: 767px) {
  .home-mainvisual-lead {
    padding: 0 5%;
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
  .home-mainvisual-lead.-ad {
    font-size: 1.4rem;
    line-height: 2.6rem;
    top: 85%;
  }
  .home-img-bg {/*
    background: url(/images/top_button_area_bg_sp.jpg) no-repeat center center;
    background-size: cover;*/
    padding: 30px 0 0;
  }
  .home-img-bg-title {
    font-size: 2rem;
  }
  .home-img-button-column-4.-ad {
    margin: 4% 12% 0;
  }
  .home-img-button-column-4.-dx {
    margin: 2% 2% 0;
  }
  .home-img-button-column-4-item.-ad {
    width: 40%;
    margin-bottom: 104px;
  }
  .home-img-button-column-4-item.-dx {
    width: 47%;
    margin-bottom: 6%;
  }
  .home-img-button-shadow.-ad {
    filter: drop-shadow(4px 5px 7px #666);
  }
  .home-img-button-text.-ad {
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
  .home-img-button-text.-dx {
    font-size: 1.8rem;
    line-height: 2.6rem;
    padding: 9px 0;
  }
  .home-img-button-lead.-ad {
    font-size: 1.2rem;
    top: 106%;
    width: 120%;
  }
  .home-img-button-lead.-dx {
    font-size: 1.3rem;
    padding-bottom: 30%;
  }
}