@charset "UTF-8";

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block
}

audio,
canvas,
progress,
video {
  display: inline-block
}

audio:not([controls]) {
  display: none;
  height: 0
}

progress {
  vertical-align: baseline
}

[hidden],
template {
  display: none
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}

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

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

b,
strong {
  font-weight: inherit
}

b,
strong {
  font-weight: bolder
}

dfn {
  font-style: italic
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

mark {
  background-color: #ff0;
  color: #000
}

small {
  font-size: 80%
}

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

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

img {
  border-style: none
}

svg:not(:root) {
  overflow: hidden
}

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

figure {
  margin: 1em 40px
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

button,
input,
select,
textarea {
  font: inherit;
  margin: 0
}

optgroup {
  font-weight: 700
}

button,
input {
  overflow: visible
}

button,
select {
  text-transform: none
}

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

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

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

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em
}

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

textarea {
  overflow: auto
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0
}

[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-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: .54
}

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

body {
  font-family: Roboto, "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif;
  font-size: 15px;
  word-wrap: break-word
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
  margin: 0;
  padding: 0
}

dl,
ul {
  list-style: none;
  letter-spacing: -.5em
}

dl dd,
dl dt,
ol li,
ul li {
  letter-spacing: normal
}

a,
a:hover,
a:visited {
  cursor: pointer;
  text-decoration: none;
  color: #2199e8
}

img {
  max-width: 100%;
  height: initial;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast
}

i {
  font-family: Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif
}

dd,
h1,
h2,
h3,
h4,
h5,
h6,
li {
  line-height: 1.6em;
  max-width: 100%
}

div {
  line-height: 1.6em
}

p {
  line-height: 2em;
  max-width: 100%
}

img {
  line-height: 0
}

iframe {
  max-width: 100%
}

.of-hidden {
  overflow: hidden
}

.content {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box
}

.content::after,
.content::before {
  content: " ";
  display: table;
  clear: both
}

.content:empty {
  display: none
}

.content.is-fullsize {
  width: initial;
  max-width: initial;
  padding: 0
}

.content.is-topimage {
  line-height: 0
}

.header:after {
  content: "";
  display: block;
  height: 0;
  width: 100%
}

.header-smp-menu-link {
  display: none
}

.logo-sub-image {
  line-height: 0
}

@media (max-width:689px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    z-index: 10000
  }

  .content.is-header {
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
    padding: 5px
  }

  .header-logo {
    display: flex;
    align-items: center;
    flex: 1;
    max-width: 350px;
    margin-right: 20px
  }

  .header-smp-menu-link {
    margin-left: auto;
    font-size: 36px
  }

  .logo-link {
    display: inline-block
  }

  .header-info {
    display: none
  }

  .header-smp-menu .header-info {
    display: block
  }

  .header-smp-menu-link {
    display: flex;
    align-content: center;
    width: 32px
  }
}

@media (min-width:689px) {
  .content {
    width: 980px;
    max-width: 100%
  }

  .content.is-page-title {
    padding-top: 10px;
    padding-bottom: 10px
  }

  .content.is-header {
    -js-display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 10px 0
  }

  .header-logo {
    display: flex;
    justify-content: flex-start;
    max-width: 350px
  }

  .logo-link {
    display: inline-block;
    min-width: 232px
  }

  .header-info {
    min-width: 220px;
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center
  }

  .header-links {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end
  }

  .header-links li {
    margin-right: 10px
  }

  .header-links .header-link-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    width: 80px;
    height: 66px;
    font-size: 8px;
    color: #fff
  }

  .header-links .header-link-item:hover {
    text-decoration: none
  }

  .header-links img {
    width: initial;
    height: 30px
  }

  .header-links .header-link-item-text {
    display: flex;
    align-items: center;
    height: 24px;
    line-height: 1.5em;
    text-align: center
  }

  .header-links .menu-item-page-28988 a,
  .header-links .menu-item-page-37289 a {
    background-color: #0071bc
  }

  .header-links .menu-item-page-28988 a:hover,
  .header-links .menu-item-page-37289 a:hover {
    background-color: rgba(0, 113, 188, .75)
  }

  .header-links .menu-item-page-27142 a,
  .header-links .menu-item-page-33900 a {
    background-color: #ff8c00
  }

  .header-links .menu-item-page-27142 a:hover,
  .header-links .menu-item-page-33900 a:hover {
    background-color: rgba(255, 140, 0, .75)
  }

  .header.is-fixed {
    padding-bottom: 34px
  }

  .header.is-fixed .global-nav {
    z-index: 10000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%
  }
}

@media (min-width:689px) and (max-width:800px) {
  .header-search {
    display: none
  }
}

@media (min-width:689px) and (max-width:1280px) {
  .logo-sub-image {
    margin-left: 25px;
    margin-right: 25px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

@media (min-width:1280px) {
  .logo-sub-image {
    margin-left: 50px;
    margin-right: 50px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

@media screen and (min-width:1280px) {
  .content {
    width: 1240px
  }
}

#main-wrapper {
  -js-display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

#main {
  width: calc(100% - 300px)
}

.sidebar {
  width: 250px;
  min-width: 250px;
  box-sizing: border-box
}

@media screen and (min-width:1280px) {
  #main {
    width: calc(100% - 350px)
  }

  .sidebar {
    width: 300px;
    min-width: 300px
  }
}

#left-sidebar {
  -moz-box-ordinal-group: 2;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1
}

#main {
  -webkit-flex: 5;
  -ms-flex: 5;
  flex: 5;
  -moz-box-ordinal-group: 6;
  -ms-flex-order: 5;
  -webkit-order: 5;
  order: 5;
  padding-bottom: 30px
}

#right-sidebar {
  -moz-box-ordinal-group: 11;
  -ms-flex-order: 10;
  -webkit-order: 10;
  order: 10
}

#footer {
  overflow: hidden
}

@media (min-width:689px) {
  #right-sidebar {
    margin-top: 45px;
    margin-left: 30px
  }
}

@media screen and (min-width:1280px) {
  #right-sidebar {
    margin-top: 45px;
    margin-left: 50px
  }
}

.l-ssm #right-sidebar {
  -moz-box-ordinal-group: 4;
  -ms-flex-order: 3;
  -webkit-order: 3;
  order: 3
}

.l-mss #left-sidebar {
  -moz-box-ordinal-group: 8;
  -ms-flex-order: 7;
  -webkit-order: 7;
  order: 7
}

@media (min-width:689px) and (max-width:980px) {
  #main-wrapper {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  #main-wrapper>aside:nth-child(3) {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box
  }

  #main-wrapper>aside:nth-child(3) .side {
    float: left;
    width: 33.3333%;
    padding: 20px;
    box-sizing: border-box
  }
}

@media (min-width:689px) and (max-width:1010px) {

  .container,
  .content.is-footer {
    margin-left: 15px;
    margin-right: 15px;
    max-width: calc(100% - 30px)
  }
}

@media (max-width:689px) {
  #wrapper {
    margin-top: 50px;
    overflow: hidden
  }

  .customize-support #wrapper {
    margin-top: 32px
  }

  #main {
    width: 100%;
    min-width: initial;
    flex-basis: 100%;
    -moz-box-ordinal-group: 2;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1
  }

  .sidebar {
    display: block;
    width: 100%;
    padding: 0 5px
  }

  #left-sidebar {
    -moz-box-ordinal-group: 3;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2
  }
}

@media (max-width:568px) {
  .sidebar {
    min-width: 100%;
    padding: 0 10px
  }
}

@media (min-width:689px) {
  .no-flexbox .l-ms #main {
    width: 680px;
    width: calc(100% - 340px);
    float: left
  }

  .no-flexbox #right-sidebar {
    float: right
  }
}

@media (min-width:1280px) {
  .no-flexbox .l-ms #main {
    width: 880px;
    width: calc(100% - 430px)
  }

  .no-flexbox #right-sidebar {
    float: right
  }
}

@media (min-width:689px) and (max-width:980px) {
  .no-flexbox .sidebar {
    float: initial;
    margin: 0 auto
  }
}

.button {
  display: inline-block;
  zoom: 1;
  padding: 8px 50px;
  line-height: normal;
  white-space: nowrap;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
  transition: background-color .25s ease-out, color .25s ease-out;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid transparent
}

.button::-moz-focus-inner {
  padding: 0;
  border: 0
}

.button:focus {
  outline: 0
}

.button:active {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .15) inset, 0 0 6px rgba(0, 0, 0, .2) inset
}

.button[disabled] {
  border: none;
  background-image: none;
  -khtml-opacity: .4;
  -moz-opacity: .4;
  opacity: .4;
  cursor: not-allowed;
  box-shadow: none
}

.search .button {
  padding: 4.5px 10px
}

.button {
  color: #444;
  color: rgba(0, 0, 0, .8);
  border: 1px solid #ddd;
  background-color: #e6e6e6;
  text-decoration: none;
  border-radius: 2px;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(40%, rgba(0, 0, 0, .05)), to(rgba(0, 0, 0, .1)));
  background-image: -webkit-linear-gradient(transparent, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .1));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, .1));
  background-image: -o-linear-gradient(transparent, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .1));
  background-image: linear-gradient(transparent, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .1))
}

.button {
  background-color: #e7e7e7;
  color: #333
}

.button:focus,
.button:hover {
  background-color: #b9b9b9;
  color: #333
}

.button.primary {
  background-color: #2199e8;
  color: #fefefe !important
}

.button.primary:focus,
.button.primary:hover {
  background-color: #147cc0;
  color: #fefefe
}

.button.secondary {
  background-color: #777 !important;
  color: #fefefe !important
}

.button.secondary:focus,
.button.secondary:hover {
  background-color: #5f5f5f;
  color: #fefefe
}

.button.success {
  background-color: #3adb76;
  color: #fefefe
}

.button.success:focus,
.button.success:hover {
  background-color: #22bb5b;
  color: #fefefe
}

.button.warning {
  background-color: #ffae00;
  color: #fefefe
}

.button.warning:focus,
.button.warning:hover {
  background-color: #cc8b00;
  color: #fefefe
}

.button.alert {
  background-color: #ec5840;
  color: #fefefe
}

.button.alert:focus,
.button.alert:hover {
  background-color: #da3116;
  color: #fefefe
}

.button-content {
  margin: 0 0 20px
}

.button-content a {
  position: relative;
  display: inline-block;
  font-size: 20px;
  padding: 15px 0 15px 20px;
  width: 300px;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  background-image: url(../images/icon/list/ffffff.gif);
  background-repeat: no-repeat;
  background-position: 25px center
}

.button-content a:hover {
  opacity: .8
}

@media (min-width:980px) {
  .left-button {
    text-align: right
  }

  .right-button {
    text-align: left
  }
}

@media (max-width:980px) {
  .button-content {
    text-align: center
  }

  .button-link {
    padding: 10px 0 20px;
    text-align: center
  }
}

.button-link {
  position: relative;
  text-align: right;
  margin-bottom: 30px
}

.button-link .button-link-inner {
  display: inline-block;
  text-align: center;
  width: 250px;
  max-width: 250px;
  padding: 10px 0
}

.news-list+.button-link,
.slick-posts+.button-link {
  position: relative;
  margin-top: -20px;
  margin-bottom: 20px;
  padding: 0
}

.news-list+.button-link .button-link-inner,
.slick-posts+.button-link .button-link-inner {
  width: initial;
  padding: 0;
  font-size: 13px
}

.news-list+.button-link .button-link-inner::before,
.slick-posts+.button-link .button-link-inner::before {
  content: "> "
}

@media (max-width:689px) {

  .news-list+.button-link,
  .slick-posts+.button-link {
    font-size: 14px
  }

  .slick-posts+.button-link {
    margin-left: 10px;
    margin-right: 10px
  }

  .news-list+.button-link {
    margin-top: -10px
  }
}

.text-button {
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 20px;
  padding: 3px 7px;
  border-radius: 5px
}

.text-button:hover {
  opacity: .7
}

.text-button a:hover {
  text-decoration: none !important
}

.text-button.gray {
  background: #8c8c8c;
  color: #fff
}

.text-button.gray a {
  color: #fff
}

.text-button.blue {
  background: #0071bc;
  color: #fff
}

.text-button.blue a {
  color: #fff
}

input[type=color],
input[type=date],
input[type=datetime-local],
input[type=datetime],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
  padding: 6px 7px;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #777;
  padding: .6em;
  display: inline-block;
  font-size: 1em;
  transition: .15s linear border;
  -webkit-appearance: none;
  max-width: 100%;
  border: 1px solid #eee;
  border-radius: 2px;
  background: #f7f7f7;
  font-family: inherit;
  line-height: inherit
}

input[type=color].wpcf7-not-valid,
input[type=date].wpcf7-not-valid,
input[type=datetime-local].wpcf7-not-valid,
input[type=datetime].wpcf7-not-valid,
input[type=email].wpcf7-not-valid,
input[type=month].wpcf7-not-valid,
input[type=number].wpcf7-not-valid,
input[type=password].wpcf7-not-valid,
input[type=search].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
input[type=text].wpcf7-not-valid,
input[type=time].wpcf7-not-valid,
input[type=url].wpcf7-not-valid,
input[type=week].wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  border-color: #e74c3c
}

textarea {
  display: block;
  width: 100%
}

input[type=date] {
  padding: 4px 7px
}

input:not([type]) {
  padding: 6px 7px;
  display: inline-block;
  max-width: 100%;
  border: 1px solid #ccc;
  box-shadow: inset 0 1px .5px #ddd;
  border-radius: 2px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

input[type=color]:focus,
input[type=date]:focus,
input[type=datetime-local]:focus,
input[type=datetime]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
select:focus,
textarea:focus {
  outline: 0;
  border-color: #129fea
}

input[type=checkbox],
input[type=radio] {
  margin: 0 5px 0 0;
  display: inline;
  vertical-align: middle
}

input:not([type]):focus {
  outline: 0;
  border-color: #129fea
}

input[type=checkbox]:focus,
input[type=file]:focus,
input[type=radio]:focus {
  outline: thin solid #129fea;
  outline: 1px auto #129fea
}

input[type=color][disabled],
input[type=date][disabled],
input[type=datetime-local][disabled],
input[type=datetime][disabled],
input[type=email][disabled],
input[type=month][disabled],
input[type=number][disabled],
input[type=password][disabled],
input[type=search][disabled],
input[type=tel][disabled],
input[type=text][disabled],
input[type=time][disabled],
input[type=url][disabled],
input[type=week][disabled],
select[disabled],
textarea[disabled] {
  margin: 0 10px;
  cursor: not-allowed;
  color: #777;
  padding: .6em;
  display: inline-block;
  font-size: 1em;
  transition: .15s linear border;
  -webkit-appearance: none;
  max-width: 100%;
  border: 1px solid #eee;
  background: #f7f7f7;
  font-family: inherit;
  line-height: inherit
}

input:not([type])[disabled] {
  cursor: not-allowed;
  background-color: #eaeded;
  color: #cad2d3
}

input[readonly],
select[readonly],
textarea[readonly] {
  background-color: #eee;
  color: #777;
  border-color: #ccc
}

input:focus:invalid,
select:focus:invalid,
textarea:focus:invalid {
  color: #b94a48;
  border-color: #e9322d
}

input[type=checkbox]:focus:invalid:focus,
input[type=file]:focus:invalid:focus,
input[type=radio]:focus:invalid:focus {
  outline-color: #e9322d
}

select {
  margin: 0 10px;
  color: #777;
  padding: .6em;
  display: inline-block;
  font-size: 1em;
  transition: .15s linear border;
  -webkit-appearance: none;
  max-width: 100%;
  border: 1px solid #eee;
  border-radius: 2px;
  background: #f7f7f7;
  font-family: inherit;
  line-height: inherit
}

select[multiple] {
  height: auto
}

label {
  margin: 5px 0 3px;
  cursor: pointer
}

fieldset {
  margin: 0;
  padding: 5px 0 8px;
  border: 0
}

legend {
  display: block;
  width: 100%;
  padding: 4px 0;
  margin-bottom: 4px;
  color: #333;
  border-bottom: 1px solid #e5e5e5
}

#capcha {
  margin-bottom: 15px
}

.text-content .pardot-frame-wrapper {
  margin-bottom: 0;
  line-height: 0
}

#pardot-form {
  font-family: Roboto, "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif
}

#pardot-form .errors {
  padding: 15px;
  margin-top: 20px;
  margin-bottom: 20px;
  background: 0 0;
  color: red;
  border: 2px solid red
}

#pardot-form .form-fields {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap
}

#pardot-form input[type=email],
#pardot-form input[type=number],
#pardot-form input[type=tel],
#pardot-form input[type=text],
#pardot-form select,
#pardot-form textarea {
  vertical-align: middle;
  box-sizing: border-box;
  color: #777;
  padding: .6em;
  display: inline-block;
  transition: .15s linear border;
  -webkit-appearance: none;
  max-width: 100%;
  border: 1px solid #eee;
  border-radius: 2px;
  background: #f7f7f7;
  font-family: inherit;
  line-height: inherit
}

#pardot-form select {
  min-width: 120px;
  -webkit-appearance: auto
}

#pardot-form .form-field {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 0;
  padding: 0
}

@media (min-width:689px) {
  #pardot-form .form-field {
    flex-direction: row
  }
}

@media (max-width:689px) {
  #pardot-form .form-field {
    margin-top: 20px
  }
}

#pardot-form .form-field>br {
  display: none
}

#pardot-form .form-field .field-label-wrapper {
  display: block;
  width: 100%;
  align-self: flex-start;
  padding: 10px 0;
  border-top: 1px solid #dbdbdb;
  text-align: left;
  font-size: 16px;
  font-weight: 400
}

@media (min-width:689px) {
  #pardot-form .form-field .field-label-wrapper {
    display: inline-block;
    width: 150px;
    margin-right: 20px;
    padding: 20px 0 20px 10px
  }
}

#pardot-form .form-field .field-label {
  line-height: 1.5em
}

#pardot-form .form-field.required .field-label {
  background-image: none
}

#pardot-form .form-field.required .field-label::after {
  display: inline-block;
  content: "[必須]";
  margin-left: 10px;
  color: red
}

@media (min-width:689px) {

  #pardot-form .form-field.FirstName_kana,
  #pardot-form .form-field.LastName_kana,
  #pardot-form .form-field.first_name,
  #pardot-form .form-field.last_name {
    width: 50%
  }

  #pardot-form .form-field.FirstName_kana .field-label-wrapper,
  #pardot-form .form-field.first_name .field-label-wrapper {
    margin-left: 10px
  }
}

#pardot-form .form-field.ConsentCheck .field-label-wrapper {
  font-size: 0
}

@media (max-width:689px) {
  #pardot-form .form-field.ConsentCheck .field-label-wrapper {
    display: none
  }
}

#pardot-form .form-field.ConsentCheck .field-input-wrapper {
  padding-top: 30px
}

@media (max-width:689px) {
  #pardot-form .form-field.ConsentCheck .field-input-wrapper {
    border-top: 1px solid #dbdbdb
  }
}

#pardot-form .form-field .field-input-wrapper {
  flex: 1;
  width: 100%
}

#pardot-form .form-field .text,
#pardot-form .form-field .value,
#pardot-form .form-field textarea.standard {
  display: block;
  width: 100%;
  font-size: 16px
}

#pardot-form .form-field .value {
  margin-left: 0;
  margin-right: 0
}

#pardot-form .form-field .value>span {
  display: block;
  margin-bottom: 5px
}

@media (min-width:689px) {
  #pardot-form .form-field .value>span {
    display: inline-block;
    margin-right: 10px
  }
}

#pardot-form .form-field .value .inline {
  display: inline
}

@media (min-width:689px) {
  #pardot-form .form-field:last-child:not(.ConsentCheck) .field-label-wrapper {
    border-bottom: 1px solid #dbdbdb
  }
}

#pardot-form .description {
  display: block;
  margin: 10px 0 0 0;
  font-size: 15px
}

#pardot-form .error {
  margin: 10px 0 0 0;
  font-size: 15px;
  color: red
}

#pardot-form .submit {
  width: 100%;
  margin: 40px auto 0;
  text-align: center
}

#pardot-form .submit input[type=submit] {
  display: inline-block;
  min-width: 190px;
  padding: 10px 30px;
  border: none;
  background-color: #646464;
  color: #fff
}

#pardot-form .submit input[type=submit]:hover {
  cursor: pointer;
  opacity: .7
}

#pardot-iframe-body {
  margin: 0 auto
}

#pardot-iframe-body #pardot-form {
  max-width: 1000px;
  margin: 0;
  padding: 0
}

.wpcf7-form .field-name {
  font-size: 16px;
  border-top: 1px solid #dbdbdb;
  padding-top: 18px
}

.wpcf7-form .wpcf7-form-control-wrap.kana-mei input,
.wpcf7-form .wpcf7-form-control-wrap.kana-sei input,
.wpcf7-form .wpcf7-form-control-wrap.name-mei input,
.wpcf7-form .wpcf7-form-control-wrap.name-sei input {
  width: 150px
}

.wpcf7-form p {
  margin-bottom: 20px
}

.wpcf7-form .wpcf7-form-control-wrap input,
.wpcf7-form .wpcf7-form-control-wrap textarea {
  margin: 0 10px
}

.wpcf7-form .submit input[type=button],
.wpcf7-form .submit input[type=submit] {
  padding: 3px 10px;
  -webkit-appearance: none
}

.wpcf7-form .submit input[type=submit] {
  background-color: #8c8c8c;
  color: #fff
}

.wpcf7-form .submit input[type=button] {
  background-color: #f9f9f9;
  color: #333
}

.contact-form {
  margin: 30px 20px
}

.contact-form table {
  margin: 0 auto
}

.contact-form th {
  width: 25%;
  text-align: left;
  font-weight: 400
}

.contact-form td {
  width: 75%;
  padding: 0;
  letter-spacing: -.31em
}

.contact-form input,
.contact-form select,
.contact-form span {
  letter-spacing: normal
}

.contact-form-table {
  display: table;
  table-layout: fixed;
  margin: 0 auto;
  width: 100%;
  border-collapse: collapse
}

.contact-form-table .field-group {
  display: table-row;
  box-sizing: content-box
}

.contact-form-table .field,
.contact-form-table .field-name {
  display: table-cell;
  padding: 5px 0;
  vertical-align: middle
}

.contact-form-table .field-name {
  width: 150px;
  padding-left: 10px
}

.contact-form-table .field {
  clear: both;
  letter-spacing: -.31em;
  -js-display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center
}

.contact-form-table .field div[class^=grid-column] {
  padding: 5px 10px;
  box-sizing: border-box
}

.contact-form-table .field input[type=date],
.contact-form-table .field input[type=email],
.contact-form-table .field input[type=number],
.contact-form-table .field input[type=tel],
.contact-form-table .field input[type=text],
.contact-form-table .field select,
.contact-form-table .field textarea {
  width: 100%
}

.contact-form-table .field div,
.contact-form-table .field input,
.contact-form-table .field p,
.contact-form-table .field select,
.contact-form-table .field span {
  letter-spacing: normal
}

.contact-form-table .field>p {
  padding: 3px 10px 3px 20px
}

@media (max-width:689px) {
  .wpcf7-form {
    padding: 0
  }

  .contact-form-table .field-name {
    display: block;
    width: 100%;
    margin: 0;
    box-sizing: border-box
  }
}

.wpcf7-response-output {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid red
}

.wpcf7-response-output.wpcf7-validation-errors {
  color: red
}

.wpcf7-response-output.wpcf7-display-none {
  display: none
}

.ajax-loader {
  border: none;
  vertical-align: middle;
  margin-left: 4px
}

.screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px
}

.wpcf7-not-valid-tip {
  color: red;
  font-size: 1em;
  display: block;
  padding: 3px 10px;
  box-sizing: border-box
}

.use-floating-validation-tip span.wpcf7-not-valid-tip {
  position: absolute;
  top: 20%;
  left: 20%;
  z-index: 100;
  border: 1px solid red;
  background: #fff;
  padding: .2em .8em
}

.ajax-error,
.wpcf7-display-none,
.wpcf7c-hide {
  display: none
}

.wpcf7c-force-hide {
  display: none !important
}

.contact-form .wpcf7-validation-errors {
  text-align: center;
  border: 1px solid #e74c3c;
  padding: 8px;
  margin: 20px 0;
  color: #e74c3c
}

@media (min-width:1240px) {
  .contact-form {
    margin: 30px 50px
  }
}

.grid-column-td-1,
.grid-column-td-2-2,
.grid-column-td-3-3,
.grid-column-td-4-4 {
  width: 100%
}

.grid-column-td-1-2,
.grid-column-td-2-4 {
  width: 50%
}

.grid-column-td-1-3 {
  width: 33.333333%
}

.grid-column-td-2-3 {
  width: 66.666666%
}

.grid-column-td-1-4 {
  width: 25%
}

.grid-column-td-3-4 {
  width: 75%
}

@media only screen and (max-width:689px) {
  .grid-column-td-md-1-2 {
    width: 50%
  }

  .grid-column-td-md-2-3 {
    width: 66.666666%
  }

  .grid-column-td-md-1 {
    width: 100%
  }
}

.wpcf7-form .submit-form {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin: 30px auto 30px auto;
  text-align: center;
  justify-content: center
}

.wpcf7-form .submit-form .ajax-loader {
  display: none
}

.wpcf7-form .submit-form .wpcf7-back,
.wpcf7-form .submit-form .wpcf7-confirm,
.wpcf7-form .submit-form .wpcf7-submit {
  display: inline-block;
  min-width: 190px;
  padding: 10px 30px;
  border: none;
  color: #fff
}

.wpcf7-form .submit-form .wpcf7-back:hover,
.wpcf7-form .submit-form .wpcf7-confirm:hover,
.wpcf7-form .submit-form .wpcf7-submit:hover {
  opacity: .8
}

.wpcf7-form .submit-form .wpcf7-confirm,
.wpcf7-form .submit-form .wpcf7-submit {
  background: #646464
}

.wpcf7-form .submit-form .wpcf7-back {
  background: rgba(40, 40, 40, .07);
  color: #333
}

@media only screen and (max-width:568px) {
  button[type=submit] {
    margin: 8px 0 0
  }

  input:not([type]),
  input[type=color],
  input[type=date],
  input[type=datetime-local],
  input[type=datetime],
  input[type=email],
  input[type=month],
  input[type=number],
  input[type=password],
  input[type=search],
  input[type=tel],
  input[type=text],
  input[type=time],
  input[type=url],
  input[type=week],
  label {
    margin-bottom: 5px;
    display: block
  }

  .form-aligned .control-group label {
    margin-bottom: 5px;
    text-align: left;
    display: block;
    width: 100%
  }

  .form-aligned .controls {
    margin: 20px 0 0 0
  }
}

.grid-column input[type=color],
.grid-column input[type=date],
.grid-column input[type=datetime-local],
.grid-column input[type=datetime],
.grid-column input[type=email],
.grid-column input[type=month],
.grid-column input[type=number],
.grid-column input[type=password],
.grid-column input[type=search],
.grid-column input[type=tel],
.grid-column input[type=text],
.grid-column input[type=time],
.grid-column input[type=url],
.grid-column input[type=week],
.grid-column select,
.grid-column textarea {
  width: calc(100% - 5px);
  margin: 3px 5px 3px 0;
  box-sizing: border-box
}

.c_red {
  color: red
}

.submit-form-wrapper {
  padding-left: 20px;
  padding-right: 20px;
  text-align: center
}

.submit-form-wrapper .submit-form {
  text-align: center
}

.submit-form-wrapper .submit-form input {
  display: inline-block;
  min-width: 190px;
  padding: 10px 30px;
  border: none;
  background-color: #005a96;
  color: #fff;
  cursor: pointer
}

.submit-form-wrapper .submit-form input:disabled {
  background-color: #646464;
  cursor: default
}

@media only screen and (min-width:689px) {
  .submit-form-wrapper {
    padding-left: 200px;
    padding-right: 200px
  }
}

.post-password-form p {
  margin-bottom: 20px
}

.post-password-form input {
  padding: 2px 10px
}

.post-password-form input[type=submit] {
  border: 1px solid #0071bc;
  color: #0071bc;
  background-color: #fff
}

.post-password-form input[type=submit]:hover {
  cursor: pointer;
  color: #fff;
  background-color: #0071bc
}

.grid-row,
.grid-rows {
  letter-spacing: -.41em;
  text-rendering: optimizespeed;
  margin: 0 -20px;
  -js-display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.grid-column {
  position: relative;
  display: inline-block;
  zoom: 1;
  letter-spacing: normal;
  word-spacing: normal;
  vertical-align: top;
  text-rendering: auto;
  box-sizing: border-box
}

.grid-rows {
  margin-bottom: -20px
}

.grid-rows .grid-column {
  margin-bottom: 20px
}

.grid-row {
  justify-content: center
}

.grid-column .grid-column {
  padding: 0
}

.grid-column-inner,
.grid-column-item {
  height: 100%;
  padding: 0 20px;
  box-sizing: border-box
}

.centered {
  margin-left: auto;
  margin-right: auto
}

.grid-column-1,
.grid-column-1-1,
.grid-column-1-12,
.grid-column-1-2,
.grid-column-1-24,
.grid-column-1-3,
.grid-column-1-4,
.grid-column-1-5,
.grid-column-1-6,
.grid-column-1-8,
.grid-column-10-24,
.grid-column-11-12,
.grid-column-11-24,
.grid-column-12-24,
.grid-column-13-24,
.grid-column-14-24,
.grid-column-15-24,
.grid-column-16-24,
.grid-column-17-24,
.grid-column-18-24,
.grid-column-19-24,
.grid-column-2-24,
.grid-column-2-3,
.grid-column-2-5,
.grid-column-20-24,
.grid-column-21-24,
.grid-column-22-24,
.grid-column-23-24,
.grid-column-24-24,
.grid-column-3-24,
.grid-column-3-4,
.grid-column-3-5,
.grid-column-3-8,
.grid-column-4-24,
.grid-column-4-5,
.grid-column-5-12,
.grid-column-5-24,
.grid-column-5-5,
.grid-column-5-6,
.grid-column-5-8,
.grid-column-6-24,
.grid-column-7-12,
.grid-column-7-24,
.grid-column-7-8,
.grid-column-8-24,
.grid-column-9-24 {
  display: inline-block;
  zoom: 1;
  letter-spacing: normal;
  word-spacing: normal;
  vertical-align: top;
  text-rendering: auto
}

.grid-column-1-24 {
  width: 4.1667%
}

.grid-column-1-12,
.grid-column-2-24 {
  width: 8.3333%
}

.grid-column-1-8,
.grid-column-3-24 {
  width: 12.5%
}

.grid-column-1-6,
.grid-column-4-24 {
  width: 16.6667%
}

.grid-column-1-5 {
  width: 20%
}

.grid-column-5-24 {
  width: 20.8333%
}

.grid-column-1-4,
.grid-column-6-24 {
  width: 25%
}

.grid-column-7-24 {
  width: 29.1667%
}

.grid-column-1-3,
.grid-column-8-24 {
  width: 33.3333%
}

.grid-column-3-8,
.grid-column-9-24 {
  width: 37.5%
}

.grid-column-2-5 {
  width: 40%
}

.grid-column-10-24,
.grid-column-5-12 {
  width: 41.6667%
}

.grid-column-11-24 {
  width: 45.8333%
}

.grid-column-1-2,
.grid-column-12-24 {
  width: 50%
}

.grid-column-13-24 {
  width: 54.1667%
}

.grid-column-14-24,
.grid-column-7-12 {
  width: 58.3333%
}

.grid-column-3-5 {
  width: 60%
}

.grid-column-15-24,
.grid-column-5-8 {
  width: 62.5%
}

.grid-column-16-24,
.grid-column-2-3 {
  width: 66.6667%
}

.grid-column-17-24 {
  width: 70.8333%
}

.grid-column-18-24,
.grid-column-3-4 {
  width: 75%
}

.grid-column-19-24 {
  width: 79.1667%
}

.grid-column-4-5 {
  width: 80%
}

.grid-column-20-24,
.grid-column-5-6 {
  width: 83.3333%
}

.grid-column-21-24,
.grid-column-7-8 {
  width: 87.5%
}

.grid-column-11-12,
.grid-column-22-24 {
  width: 91.6667%
}

.grid-column-23-24 {
  width: 95.8333%
}

.grid-column-1,
.grid-column-1-1,
.grid-column-24-24,
.grid-column-5-5 {
  width: 100%
}

@media screen and (min-width:568px) {

  .grid-column-sm-1,
  .grid-column-sm-1-1,
  .grid-column-sm-1-12,
  .grid-column-sm-1-2,
  .grid-column-sm-1-24,
  .grid-column-sm-1-3,
  .grid-column-sm-1-4,
  .grid-column-sm-1-5,
  .grid-column-sm-1-6,
  .grid-column-sm-1-8,
  .grid-column-sm-10-24,
  .grid-column-sm-11-12,
  .grid-column-sm-11-24,
  .grid-column-sm-12-24,
  .grid-column-sm-13-24,
  .grid-column-sm-14-24,
  .grid-column-sm-15-24,
  .grid-column-sm-16-24,
  .grid-column-sm-17-24,
  .grid-column-sm-18-24,
  .grid-column-sm-19-24,
  .grid-column-sm-2-24,
  .grid-column-sm-2-3,
  .grid-column-sm-2-5,
  .grid-column-sm-20-24,
  .grid-column-sm-21-24,
  .grid-column-sm-22-24,
  .grid-column-sm-23-24,
  .grid-column-sm-24-24,
  .grid-column-sm-3-24,
  .grid-column-sm-3-4,
  .grid-column-sm-3-5,
  .grid-column-sm-3-8,
  .grid-column-sm-4-24,
  .grid-column-sm-4-5,
  .grid-column-sm-5-12,
  .grid-column-sm-5-24,
  .grid-column-sm-5-5,
  .grid-column-sm-5-6,
  .grid-column-sm-5-8,
  .grid-column-sm-6-24,
  .grid-column-sm-7-12,
  .grid-column-sm-7-24,
  .grid-column-sm-7-8,
  .grid-column-sm-8-24,
  .grid-column-sm-9-24 {
    display: inline-block;
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto
  }

  .grid-column-sm-1-24 {
    width: 4.1667%
  }

  .grid-column-sm-1-12,
  .grid-column-sm-2-24 {
    width: 8.3333%
  }

  .grid-column-sm-1-8,
  .grid-column-sm-3-24 {
    width: 12.5%
  }

  .grid-column-sm-1-6,
  .grid-column-sm-4-24 {
    width: 16.6667%
  }

  .grid-column-sm-1-5 {
    width: 20%
  }

  .grid-column-sm-5-24 {
    width: 20.8333%
  }

  .grid-column-sm-1-4,
  .grid-column-sm-6-24 {
    width: 25%
  }

  .grid-column-sm-7-24 {
    width: 29.1667%
  }

  .grid-column-sm-1-3,
  .grid-column-sm-8-24 {
    width: 33.3333%
  }

  .grid-column-sm-3-8,
  .grid-column-sm-9-24 {
    width: 37.5%
  }

  .grid-column-sm-2-5 {
    width: 40%
  }

  .grid-column-sm-10-24,
  .grid-column-sm-5-12 {
    width: 41.6667%
  }

  .grid-column-sm-11-24 {
    width: 45.8333%
  }

  .grid-column-sm-1-2,
  .grid-column-sm-12-24 {
    width: 50%
  }

  .grid-column-sm-13-24 {
    width: 54.1667%
  }

  .grid-column-sm-14-24,
  .grid-column-sm-7-12 {
    width: 58.3333%
  }

  .grid-column-sm-3-5 {
    width: 60%
  }

  .grid-column-sm-15-24,
  .grid-column-sm-5-8 {
    width: 62.5%
  }

  .grid-column-sm-16-24,
  .grid-column-sm-2-3 {
    width: 66.6667%
  }

  .grid-column-sm-17-24 {
    width: 70.8333%
  }

  .grid-column-sm-18-24,
  .grid-column-sm-3-4 {
    width: 75%
  }

  .grid-column-sm-19-24 {
    width: 79.1667%
  }

  .grid-column-sm-4-5 {
    width: 80%
  }

  .grid-column-sm-20-24,
  .grid-column-sm-5-6 {
    width: 83.3333%
  }

  .grid-column-sm-21-24,
  .grid-column-sm-7-8 {
    width: 87.5%
  }

  .grid-column-sm-11-12,
  .grid-column-sm-22-24 {
    width: 91.6667%
  }

  .grid-column-sm-23-24 {
    width: 95.8333%
  }

  .grid-column-sm-1,
  .grid-column-sm-1-1,
  .grid-column-sm-24-24,
  .grid-column-sm-5-5 {
    width: 100%
  }
}

@media screen and (min-width:689px) {

  .grid-column-md-1,
  .grid-column-md-1-1,
  .grid-column-md-1-12,
  .grid-column-md-1-2,
  .grid-column-md-1-24,
  .grid-column-md-1-3,
  .grid-column-md-1-4,
  .grid-column-md-1-5,
  .grid-column-md-1-6,
  .grid-column-md-1-8,
  .grid-column-md-10-24,
  .grid-column-md-11-12,
  .grid-column-md-11-24,
  .grid-column-md-12-24,
  .grid-column-md-13-24,
  .grid-column-md-14-24,
  .grid-column-md-15-24,
  .grid-column-md-16-24,
  .grid-column-md-17-24,
  .grid-column-md-18-24,
  .grid-column-md-19-24,
  .grid-column-md-2-24,
  .grid-column-md-2-3,
  .grid-column-md-2-5,
  .grid-column-md-20-24,
  .grid-column-md-21-24,
  .grid-column-md-22-24,
  .grid-column-md-23-24,
  .grid-column-md-24-24,
  .grid-column-md-3-24,
  .grid-column-md-3-4,
  .grid-column-md-3-5,
  .grid-column-md-3-8,
  .grid-column-md-4-24,
  .grid-column-md-4-5,
  .grid-column-md-5-12,
  .grid-column-md-5-24,
  .grid-column-md-5-5,
  .grid-column-md-5-6,
  .grid-column-md-5-8,
  .grid-column-md-6-24,
  .grid-column-md-7-12,
  .grid-column-md-7-24,
  .grid-column-md-7-8,
  .grid-column-md-8-24,
  .grid-column-md-9-24 {
    display: inline-block;
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto
  }

  .grid-column-md-1-24 {
    width: 4.1667%
  }

  .grid-column-md-1-12,
  .grid-column-md-2-24 {
    width: 8.3333%
  }

  .grid-column-md-1-8,
  .grid-column-md-3-24 {
    width: 12.5%
  }

  .grid-column-md-1-6,
  .grid-column-md-4-24 {
    width: 16.6667%
  }

  .grid-column-md-1-5 {
    width: 20%
  }

  .grid-column-md-5-24 {
    width: 20.8333%
  }

  .grid-column-md-1-4,
  .grid-column-md-6-24 {
    width: 25%
  }

  .grid-column-md-7-24 {
    width: 29.1667%
  }

  .grid-column-md-1-3,
  .grid-column-md-8-24 {
    width: 33.3333%
  }

  .grid-column-md-3-8,
  .grid-column-md-9-24 {
    width: 37.5%
  }

  .grid-column-md-2-5 {
    width: 40%
  }

  .grid-column-md-10-24,
  .grid-column-md-5-12 {
    width: 41.6667%
  }

  .grid-column-md-11-24 {
    width: 45.8333%
  }

  .grid-column-md-1-2,
  .grid-column-md-12-24 {
    width: 50%
  }

  .grid-column-md-13-24 {
    width: 54.1667%
  }

  .grid-column-md-14-24,
  .grid-column-md-7-12 {
    width: 58.3333%
  }

  .grid-column-md-3-5 {
    width: 60%
  }

  .grid-column-md-15-24,
  .grid-column-md-5-8 {
    width: 62.5%
  }

  .grid-column-md-16-24,
  .grid-column-md-2-3 {
    width: 66.6667%
  }

  .grid-column-md-17-24 {
    width: 70.8333%
  }

  .grid-column-md-18-24,
  .grid-column-md-3-4 {
    width: 75%
  }

  .grid-column-md-19-24 {
    width: 79.1667%
  }

  .grid-column-md-4-5 {
    width: 80%
  }

  .grid-column-md-20-24,
  .grid-column-md-5-6 {
    width: 83.3333%
  }

  .grid-column-md-21-24,
  .grid-column-md-7-8 {
    width: 87.5%
  }

  .grid-column-md-11-12,
  .grid-column-md-22-24 {
    width: 91.6667%
  }

  .grid-column-md-23-24 {
    width: 95.8333%
  }

  .grid-column-md-1,
  .grid-column-md-1-1,
  .grid-column-md-24-24,
  .grid-column-md-5-5 {
    width: 100%
  }
}

@media screen and (min-width:980px) {

  .grid-column-lg-1,
  .grid-column-lg-1-1,
  .grid-column-lg-1-12,
  .grid-column-lg-1-2,
  .grid-column-lg-1-24,
  .grid-column-lg-1-3,
  .grid-column-lg-1-4,
  .grid-column-lg-1-5,
  .grid-column-lg-1-6,
  .grid-column-lg-1-8,
  .grid-column-lg-10-24,
  .grid-column-lg-11-12,
  .grid-column-lg-11-24,
  .grid-column-lg-12-24,
  .grid-column-lg-13-24,
  .grid-column-lg-14-24,
  .grid-column-lg-15-24,
  .grid-column-lg-16-24,
  .grid-column-lg-17-24,
  .grid-column-lg-18-24,
  .grid-column-lg-19-24,
  .grid-column-lg-2-24,
  .grid-column-lg-2-3,
  .grid-column-lg-2-5,
  .grid-column-lg-20-24,
  .grid-column-lg-21-24,
  .grid-column-lg-22-24,
  .grid-column-lg-23-24,
  .grid-column-lg-24-24,
  .grid-column-lg-3-24,
  .grid-column-lg-3-4,
  .grid-column-lg-3-5,
  .grid-column-lg-3-8,
  .grid-column-lg-4-24,
  .grid-column-lg-4-5,
  .grid-column-lg-5-12,
  .grid-column-lg-5-24,
  .grid-column-lg-5-5,
  .grid-column-lg-5-6,
  .grid-column-lg-5-8,
  .grid-column-lg-6-24,
  .grid-column-lg-7-12,
  .grid-column-lg-7-24,
  .grid-column-lg-7-8,
  .grid-column-lg-8-24,
  .grid-column-lg-9-24 {
    display: inline-block;
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto
  }

  .grid-column-lg-1-24 {
    width: 4.1667%
  }

  .grid-column-lg-1-12,
  .grid-column-lg-2-24 {
    width: 8.3333%
  }

  .grid-column-lg-1-8,
  .grid-column-lg-3-24 {
    width: 12.5%
  }

  .grid-column-lg-1-6,
  .grid-column-lg-4-24 {
    width: 16.6667%
  }

  .grid-column-lg-1-5 {
    width: 20%
  }

  .grid-column-lg-5-24 {
    width: 20.8333%
  }

  .grid-column-lg-1-4,
  .grid-column-lg-6-24 {
    width: 25%
  }

  .grid-column-lg-7-24 {
    width: 29.1667%
  }

  .grid-column-lg-1-3,
  .grid-column-lg-8-24 {
    width: 33.3333%
  }

  .grid-column-lg-3-8,
  .grid-column-lg-9-24 {
    width: 37.5%
  }

  .grid-column-lg-2-5 {
    width: 40%
  }

  .grid-column-lg-10-24,
  .grid-column-lg-5-12 {
    width: 41.6667%
  }

  .grid-column-lg-11-24 {
    width: 45.8333%
  }

  .grid-column-lg-1-2,
  .grid-column-lg-12-24 {
    width: 50%
  }

  .grid-column-lg-13-24 {
    width: 54.1667%
  }

  .grid-column-lg-14-24,
  .grid-column-lg-7-12 {
    width: 58.3333%
  }

  .grid-column-lg-3-5 {
    width: 60%
  }

  .grid-column-lg-15-24,
  .grid-column-lg-5-8 {
    width: 62.5%
  }

  .grid-column-lg-16-24,
  .grid-column-lg-2-3 {
    width: 66.6667%
  }

  .grid-column-lg-17-24 {
    width: 70.8333%
  }

  .grid-column-lg-18-24,
  .grid-column-lg-3-4 {
    width: 75%
  }

  .grid-column-lg-19-24 {
    width: 79.1667%
  }

  .grid-column-lg-4-5 {
    width: 80%
  }

  .grid-column-lg-20-24,
  .grid-column-lg-5-6 {
    width: 83.3333%
  }

  .grid-column-lg-21-24,
  .grid-column-lg-7-8 {
    width: 87.5%
  }

  .grid-column-lg-11-12,
  .grid-column-lg-22-24 {
    width: 91.6667%
  }

  .grid-column-lg-23-24 {
    width: 95.8333%
  }

  .grid-column-lg-1,
  .grid-column-lg-1-1,
  .grid-column-lg-24-24,
  .grid-column-lg-5-5 {
    width: 100%
  }
}

@media screen and (min-width:1240px) {

  .grid-column-xl-1,
  .grid-column-xl-1-1,
  .grid-column-xl-1-12,
  .grid-column-xl-1-2,
  .grid-column-xl-1-24,
  .grid-column-xl-1-3,
  .grid-column-xl-1-4,
  .grid-column-xl-1-5,
  .grid-column-xl-1-6,
  .grid-column-xl-1-8,
  .grid-column-xl-10-24,
  .grid-column-xl-11-12,
  .grid-column-xl-11-24,
  .grid-column-xl-12-24,
  .grid-column-xl-13-24,
  .grid-column-xl-14-24,
  .grid-column-xl-15-24,
  .grid-column-xl-16-24,
  .grid-column-xl-17-24,
  .grid-column-xl-18-24,
  .grid-column-xl-19-24,
  .grid-column-xl-2-24,
  .grid-column-xl-2-3,
  .grid-column-xl-2-5,
  .grid-column-xl-20-24,
  .grid-column-xl-21-24,
  .grid-column-xl-22-24,
  .grid-column-xl-23-24,
  .grid-column-xl-24-24,
  .grid-column-xl-3-24,
  .grid-column-xl-3-4,
  .grid-column-xl-3-5,
  .grid-column-xl-3-8,
  .grid-column-xl-4-24,
  .grid-column-xl-4-5,
  .grid-column-xl-5-12,
  .grid-column-xl-5-24,
  .grid-column-xl-5-5,
  .grid-column-xl-5-6,
  .grid-column-xl-5-8,
  .grid-column-xl-6-24,
  .grid-column-xl-7-12,
  .grid-column-xl-7-24,
  .grid-column-xl-7-8,
  .grid-column-xl-8-24,
  .grid-column-xl-9-24 {
    display: inline-block;
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto
  }

  .grid-column-xl-1-24 {
    width: 4.1667%
  }

  .grid-column-xl-1-12,
  .grid-column-xl-2-24 {
    width: 8.3333%
  }

  .grid-column-xl-1-8,
  .grid-column-xl-3-24 {
    width: 12.5%
  }

  .grid-column-xl-1-6,
  .grid-column-xl-4-24 {
    width: 16.6667%
  }

  .grid-column-xl-1-5 {
    width: 20%
  }

  .grid-column-xl-5-24 {
    width: 20.8333%
  }

  .grid-column-xl-1-4,
  .grid-column-xl-6-24 {
    width: 25%
  }

  .grid-column-xl-7-24 {
    width: 29.1667%
  }

  .grid-column-xl-1-3,
  .grid-column-xl-8-24 {
    width: 33.3333%
  }

  .grid-column-xl-3-8,
  .grid-column-xl-9-24 {
    width: 37.5%
  }

  .grid-column-xl-2-5 {
    width: 40%
  }

  .grid-column-xl-10-24,
  .grid-column-xl-5-12 {
    width: 41.6667%
  }

  .grid-column-xl-11-24 {
    width: 45.8333%
  }

  .grid-column-xl-1-2,
  .grid-column-xl-12-24 {
    width: 50%
  }

  .grid-column-xl-13-24 {
    width: 54.1667%
  }

  .grid-column-xl-14-24,
  .grid-column-xl-7-12 {
    width: 58.3333%
  }

  .grid-column-xl-3-5 {
    width: 60%
  }

  .grid-column-xl-15-24,
  .grid-column-xl-5-8 {
    width: 62.5%
  }

  .grid-column-xl-16-24,
  .grid-column-xl-2-3 {
    width: 66.6667%
  }

  .grid-column-xl-17-24 {
    width: 70.8333%
  }

  .grid-column-xl-18-24,
  .grid-column-xl-3-4 {
    width: 75%
  }

  .grid-column-xl-19-24 {
    width: 79.1667%
  }

  .grid-column-xl-4-5 {
    width: 80%
  }

  .grid-column-xl-20-24,
  .grid-column-xl-5-6 {
    width: 83.3333%
  }

  .grid-column-xl-21-24,
  .grid-column-xl-7-8 {
    width: 87.5%
  }

  .grid-column-xl-11-12,
  .grid-column-xl-22-24 {
    width: 91.6667%
  }

  .grid-column-xl-23-24 {
    width: 95.8333%
  }

  .grid-column-xl-1,
  .grid-column-xl-1-1,
  .grid-column-xl-24-24,
  .grid-column-xl-5-5 {
    width: 100%
  }
}

@media (max-width:689px) {
  .headline {
    padding: 0 10px
  }
}

.page-title-container+.container {
  margin-top: 25px
}

.page-title {
  display: inline-block;
  line-height: 54px;
  font-size: 22px;
  font-weight: 700
}

@media screen and (min-width:689px) {
  .page-title-container {
    min-height: 54px
  }
}

@media screen and (max-width:689px) {
  .page-title {
    display: block;
    line-height: 1.5em;
    margin: 10px 0
  }
}

@media (max-width:1000px) {
  .page-title {
    padding-left: 10px;
    padding-right: 10px
  }
}

.headline-h2,
h2.headline-custom {
  position: relative;
  margin: 50px 0 25px;
  font-size: 22px;
  text-align: left
}

.headline-h2 {
  padding: 10px 15px 15px 5px
}

.content-body .headline-h2:first-child {
  margin-top: 0
}

.headline-h3,
h3.headline-custom {
  position: relative;
  margin: 50px 0 25px;
  font-size: 20px;
  text-align: left
}

.headline-h3 {
  padding: 5px 10px 5px 10px
}

.headline-h2+.headline-h3,
.headline-h2+h3.headline-custom {
  margin-top: 25px
}

.headline-h4,
h4.headline-custom {
  position: relative;
  margin: 40px 0 25px;
  font-size: 18px
}

h4.headline-custom {
  padding: 7px
}

.headline-h3+.headline-h4,
.headline-h3+h4.headline-custom {
  margin-top: 20px
}

h2.headline-custom,
h3.headline-custom,
h4.headline-custom {
  position: relative;
  padding: 7px
}

h2.headline-custom[class*=icon-]::before,
h3.headline-custom[class*=icon-]::before,
h4.headline-custom[class*=icon-]::before {
  font-family: FontAwesome;
  margin-right: 10px
}

.icon-circle::before {
  content: "\f111"
}

.icon-star::before {
  content: "\f005"
}

.icon-right::before {
  content: "\f105"
}

.icon-double-right::before {
  content: "\f101"
}

.icon-left::before {
  content: "\f104"
}

.icon-double-left::before {
  content: "\f100"
}

.icon-square::before {
  content: "\f45c"
}

.contact-title,
.map-title,
.snippet-title {
  text-decoration: underline;
  font-size: 16px;
  margin-bottom: 5px;
  font-weight: 700
}

.table-title {
  font-size: 16px;
  margin-bottom: 5px;
  font-weight: 700
}

.midashi-01 {
  color: #333;
  background-color: #efefef;
  border: 1px solid #dbdbdb;
  padding: 13px 0 11px 18px;
  position: relative;
  margin: 20px 0
}

.midashi-01::before {
  width: 4px;
  height: 24px;
  background-color: #0071bc;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}

.midashi-02 {
  margin: 20px 0;
  position: relative;
  border-bottom: 3px solid #efefef;
  border-top: 3px solid #efefef;
  padding: 10px 15px 10px;
  background: linear-gradient(to bottom, #fafafa, #fff)
}

.midashi-02::before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 25%;
  height: 3px;
  content: "";
  background: #0071bc
}

.midashi-03 {
  margin: 20px 0;
  position: relative;
  padding: 10px 15px;
  border: 2px solid #efefef
}

.midashi-03::before {
  position: absolute;
  top: -6px;
  left: -3px;
  width: calc(100% + 6px);
  height: 6px;
  content: "";
  background: #0071bc
}

.midashi-04 {
  margin: 20px 0;
  padding: 10px 15px 15px 5px;
  border-bottom: 1px solid #dfdfdf;
  position: relative
}

.midashi-04::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 25%;
  height: 3px;
  content: "";
  background: #0071bc
}

.midashi-05 {
  border-left: 4px solid #0071bc;
  position: relative;
  margin: 20px 0;
  padding: 5px 15px 5px 25px
}

.midashi-05::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 6px;
  background-color: #80c5f3
}

.midashi-06 {
  margin: 20px 0;
  padding: 10px 15px;
  background-color: #0071bc;
  color: #fff
}

.midashi-07 {
  position: relative;
  padding: 12px 6px 10px 42px;
  margin: 0 0 14px 0;
  color: #333;
  background: #efefef;
  border-bottom: 2px solid #0071bc
}

.midashi-07::before {
  content: "";
  position: absolute;
  background: #0071bc none repeat scroll 0 0;
  top: 50%;
  left: 10px;
  height: 20px;
  width: 20px;
  border-radius: 2px;
  transform: translateY(-50%)
}

.midashi-08 {
  position: relative;
  margin: 20px 0;
  padding: 10px 15px 10px 25px
}

.midashi-08::before {
  content: "";
  height: 2px;
  width: 12px;
  background: #0071bc;
  position: absolute;
  margin-right: 10px;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}

.midashi-09 {
  position: relative;
  margin: 20px 0;
  padding: 12px 15px 10px 28px;
  background: #0071bc;
  color: #fff;
  border-radius: 4px
}

.midashi-09::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 24px 0 0;
  border-color: #1b8edb transparent transparent transparent;
  border-radius: 4px 0 0 0;
  left: 0;
  top: 0
}

.midashi-10 {
  position: relative;
  margin: 20px 0;
  padding: 12px 15px 10px 30px
}

.midashi-10::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 6px solid #0071bc;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}

.midashi-11 {
  margin: 20px 0;
  padding: 10px 10px 10px 0;
  border-bottom: 3px solid #efefef;
  position: relative
}

.midashi-11::before {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 25%;
  height: 3px;
  content: "";
  background: #0071bc
}

.midashi-12 {
  position: relative;
  margin: 20px 0;
  padding: 7px 15px 7px 18px;
  border-bottom: 1px solid #efefef
}

.midashi-12::after,
.midashi-12::before {
  content: "";
  position: absolute;
  width: 5px;
  left: 0
}

.midashi-12::before {
  height: calc(100% - 6px);
  top: 0;
  background-color: #0071bc
}

.midashi-12::after {
  height: calc(60% - 6px);
  background-color: #41a9ef;
  top: 0
}

.midashi-13 {
  position: relative;
  margin: 20px 0;
  padding: 12px 15px 10px 25px;
  background-color: #ecf4fa
}

.midashi-13::before {
  content: "";
  height: 3px;
  width: 12px;
  background: #0071bc;
  position: absolute;
  margin-right: 10px;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}

.midashi-14 {
  margin: 20px 0;
  position: relative;
  padding: 12px 15px;
  background-color: #ecf4fa
}

.midashi-14::before {
  position: absolute;
  top: -4px;
  left: -3px;
  width: calc(100% + 6px);
  height: 4px;
  content: "";
  background: #0071bc
}

.body-g-lab #wrapper {
  overflow: hidden
}

.body-g-lab #head {
  background-color: #fff;
  padding-top: 10px
}

.body-g-lab #head>.grid-rows {
  display: grid !important;
  grid-template-columns: 10fr 1fr 1fr;
  grid-template-rows: auto;
  align-items: center;
  column-gap: 5px;
  padding: 0 10px;
  margin: 0
}

.body-g-lab #head>.grid-rows>.grid-column {
  width: 100%
}

.body-g-lab #head>.grid-rows>.grid-column .grid-column-inner {
  padding: 0
}

.body-g-lab #head .image-41512,
.body-g-lab #head .image-49293 {
  margin: 0;
  text-align: left
}

.body-g-lab #head .news-link-title {
  min-width: 80px;
  padding: 5px;
  margin: 0 !important
}

@media (max-width:689px) {
  .body-g-lab #head .news-link-title {
    min-width: 50px;
    font-size: 12px;
    padding: 0 10px
  }
}

.body-g-lab #fv {
  background-image: url(https://www.giken.com/ja/wp-content/uploads/glablogo-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 80px;
  padding-bottom: 160px;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%)
}

.body-g-lab #fv .grid-column:first-child>.grid-column-inner {
  align-content: center
}

@media (min-width:689px) {
  .body-g-lab #fv .gallery-title .is-smp {
    display: none
  }
}

@media (max-width:689px) {
  .body-g-lab #fv .gallery-item {
    margin-bottom: 0
  }

  .body-g-lab #fv .gallery-title {
    font-size: 18px
  }

  .body-g-lab #fv .image-41517,
  .body-g-lab #fv .image-49295 {
    max-width: 60%
  }
}

.body-g-lab h2.headline-border-bottom {
  margin-top: 100px
}

.body-g-lab .has-bg .gallery.layout-2 {
  position: relative;
  padding-top: 30px;
  margin-top: 30px;
  margin-bottom: 100px;
  padding-right: 10px;
  padding-left: 10px
}

.body-g-lab .has-bg .gallery.layout-2::before {
  content: "";
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: .18;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%)
}

.body-g-lab .has-bg .gallery.layout-2 .gallery-content img {
  border: 5px solid #000;
  border-radius: 10px;
  box-sizing: border-box
}

.body-g-lab #app1-images .gallery.layout-2::before {
  background-image: url(https://www.giken.com/ja/wp-content/uploads/glabfleet-bg.jpg)
}

.body-g-lab #app2-images .gallery.layout-2::before {
  background-image: url(https://www.giken.com/ja/wp-content/uploads/glabsite-bg.jpg)
}

.body-g-lab #app3-images .gallery.layout-2::before {
  background-image: url(https://www.giken.com/ja/wp-content/uploads/glabfinder-bg.jpg)
}

@media (max-width:689px) {
  .body-g-lab #head .grid-rows {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around
  }

  .body-g-lab #head .grid-column-md-1-2 {
    width: 50%
  }

  .body-g-lab #head .image-41319 {
    margin: 0
  }

  .body-g-lab #fv .gallery img {
    max-width: initial;
    width: 70%
  }

  .body-g-lab #fv .gallery .gallery-caption {
    font-size: 20px
  }
}

.global-nav {
  position: relative
}

.global-nav .content {
  position: initial
}

.header-menu {
  box-sizing: border-box;
  display: flex;
  position: relative;
  flex-direction: row;
  white-space: normal
}

.header-menu>.menu-item {
  display: inline-block;
  zoom: 1;
  width: 100%
}

.header-menu li {
  box-sizing: border-box
}

.header-menu a,
.header-menu span {
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  line-height: 1.3em;
  white-space: normal
}

.header-menu .sub-menu {
  display: none
}

.header-menu .sub-menu li {
  margin-right: 20px
}

.header-dropmenu {
  display: none;
  box-sizing: border-box;
  font-size: 14px
}

@media (min-width:689px) {
  .header-menu {
    flex-wrap: nowrap
  }

  .header-dropmenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1001;
    width: 100%
  }

  .header-dropmenu a {
    line-height: 1.6em
  }

  .menu-item:hover>.header-dropmenu {
    display: block
  }

  .header-dropmenu .header-dropmenu-inner {
    width: 1240px;
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 20px
  }

  .header-dropmenu .header-dropmenu-toplink {
    margin: 20px;
    text-align: left;
    font-size: 16px;
    font-weight: 700
  }

  .header-dropmenu .header-dropmenu-toplink a {
    position: relative;
    display: inline;
    padding-left: 20px
  }

  .header-dropmenu .header-dropmenu-toplink a::before {
    content: "■";
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
  }

  .header-dropmenu .header-dropmenu-link {
    position: relative;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 700
  }

  .header-dropmenu .header-dropmenu-sub li {
    position: relative;
    margin-bottom: 2px;
    padding: 0 0 0 15px
  }

  .header-dropmenu .header-dropmenu-sub li a {
    padding-top: 3px
  }

  .header-dropmenu .header-dropmenu-sub li a::before {
    content: "\f105";
    font-family: FontAwesome;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 18px
  }

  .header-dropmenu-items {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    text-align: left
  }

  .header-dropmenu-items>li {
    width: 25%;
    padding-left: 20px;
    padding-right: 20px
  }

  .header-dropmenu-thumb {
    position: relative;
    margin-bottom: 10px
  }

  .header-dropmenu-thumb::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 66.66667%
  }

  .header-dropmenu-thumb img {
    position: absolute;
    top: 0;
    width: 100%
  }
}

.global-nav-sub {
  display: none
}

.footer-menu>.menu-item {
  overflow: initial;
  display: inline-block;
  vertical-align: top;
  margin: 0 10px 12px 5px;
  padding: 0 15px 0 0;
  line-height: 100%
}

.footer-menu>.menu-item:last-child {
  border-right: none;
  padding-right: 0;
  margin-right: 0
}

.footer-menu>.menu-item a {
  padding: 0
}

.footer-menu .sub-menu {
  display: block;
  padding: 5px 0 0 20px;
  overflow: hidden
}

.footer-menu .sub-menu .menu-item {
  float: left;
  margin-right: 15px
}

.sns-list {
  display: flex;
  flex-direction: row;
  align-items: center
}

.sns-list li {
  max-width: 40px;
  padding: 5px
}

.sns-list li a {
  display: flex;
  align-items: center;
  justify-content: center
}

.side .sns-list {
  padding-left: 20%;
  padding-right: 20%
}

.side .sns-list li {
  max-width: 50px
}

.side .sns-list img {
  width: 50px
}

@media (max-width:689px) {
  .global-nav {
    display: none
  }

  .header-menu {
    flex-direction: column
  }

  .header-menu li {
    padding: 0;
    text-align: left
  }

  .header-menu a {
    padding: 7px 10px
  }

  .header-smp-menu {
    position: absolute;
    top: 0;
    left: 0;
    height: 2000px;
    z-index: 1001
  }

  .header-smp-menu .menu-item {
    width: 100%;
    box-sizing: border-box
  }

  .header-smp-menu a,
  .header-smp-menu span {
    display: block;
    width: 100%;
    padding: 7px 10px;
    white-space: nowrap;
    line-height: 21px
  }

  .header-smp-menu .has-dropdown>a,
  .header-smp-menu .has-dropdown>span {
    position: relative
  }

  .header-smp-menu .has-dropdown>a::before,
  .header-smp-menu .has-dropdown>span::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23ffffff" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"/></svg>');
    width: 16px;
    height: 18px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 10px
  }

  .header-smp-menu .has-dropdown.is-open>a::before,
  .header-smp-menu .has-dropdown.is-open>span::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23ffffff" d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>')
  }

  .header-smp-menu .has-sub-dropdown {
    position: relative
  }

  .header-smp-menu .has-sub-dropdown::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23282828" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"/></svg>');
    width: 16px;
    height: 18px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 10px
  }

  .header-smp-menu .is-open>.has-sub-dropdown::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23282828" d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>')
  }

  .header-smp-menu .toggle-item:before {
    content: "\f055";
    font-family: FontAwesome;
    margin-left: -20px;
    padding: 0 6px 0 4px
  }

  .header-smp-menu .toggle-active:before {
    content: "\f056";
    font-family: FontAwesome
  }

  .header-dropmenu .header-dropmenu-sub,
  .header-dropmenu .header-dropmenu-thumb,
  .header-dropmenu .header-dropmenu-toplink {
    display: none
  }

  .is-open .header-dropmenu {
    display: block
  }

  .header-dropmenu-items .is-open>.header-dropmenu-sub {
    display: block;
    padding-left: 20px
  }

  .header-links br,
  .header-links img {
    display: none
  }

  .header-links .header-link-item:hover {
    text-decoration: none
  }

  .header-links .header-link-item-text {
    display: block;
    padding: 0
  }
}

@media (min-width:689px) {
  .global-nav .content {
    padding-left: 0;
    padding-right: 0
  }

  .global-nav .header-menu>.menu-item {
    padding: 0;
    text-align: center
  }

  .global-nav .header-menu>.menu-item>a,
  .global-nav .header-menu>.menu-item>span {
    overflow: hidden;
    height: 50px;
    line-height: 50px;
    white-space: nowrap;
    vertical-align: middle
  }

  .global-nav .header-menu .has-dropdown>a,
  .global-nav .header-menu .has-dropdown>span {
    position: relative
  }

  .global-nav .header-menu .has-dropdown>a::before,
  .global-nav .header-menu .has-dropdown>span::before {
    content: "";
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 1px;
    line-height: 1em
  }

  .global-nav .sub-menu {
    position: absolute;
    z-index: 10000;
    top: 100%;
    left: 0;
    box-sizing: border-box;
    text-align: left
  }

  .global-nav .sub-menu .menu-item {
    margin: 0;
    padding: 0
  }

  .global-nav .sub-menu a,
  .global-nav .sub-menu span {
    display: block;
    white-space: nowrap;
    padding: 9px 25px;
    background: transparent url(../images/icon/list/ffffff.gif) 10px center no-repeat
  }

  .global-nav .sub-menu a:hover,
  .global-nav .sub-menu span:hover {
    background-image: url(../images/icon/list/d1251a.gif)
  }

  .global-nav .menu-item:last-child .sub-menu,
  .global-nav .menu-item:nth-last-child(2) .sub-menu {
    left: initial;
    left: auto;
    right: 0
  }

  .global-nav .menu-item:hover .sub-menu {
    display: inline-block
  }

  #header-smp-menu {
    display: none !important
  }

  .side .menu-item {
    width: 100%;
    text-align: left
  }

  .footer-contents .menu-item {
    width: auto
  }
}

.side .menu-item {
  display: block;
  padding: 0 5px
}

#header-smp-menu-wrapper {
  position: relative;
  clear: both
}

#header-smp-menu,
#smp-menu {
  display: none;
  width: 100%
}

#header-smp-menu {
  height: 100vh;
  overflow-y: scroll
}

#header-smp-menu::after {
  content: "";
  display: block;
  width: 100%;
  height: 300px
}

table {
  width: 100%;
  margin-top: 7px;
  margin-bottom: 25px;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show
}

table caption {
  padding: 8px 0;
  text-align: center
}

th {
  width: 150px;
  font-weight: 400;
  text-align: left;
  vertical-align: top
}

td,
th {
  padding: 10px 2px;
  box-sizing: border-box
}

.table-content {
  font-size: 16px
}

.table-content p {
  margin-bottom: 0
}

.table-content.col2 td,
.table-content.col2 th {
  width: 50%
}

.table-content.col3 td,
.table-content.col3 th {
  width: 33.3%
}

.table-content.col4 td,
.table-content.col4 th {
  width: 25%
}

.table-content.tr-left {
  table-layout: fixed
}

.table-content.tr-left td,
.table-content.tr-left th {
  vertical-align: middle;
  padding-left: 5px
}

.table-content.tr-left th {
  width: 150px
}

.table-content.tr-left td {
  width: initial;
  width: auto
}

.th-left th {
  text-align: left
}

.th-center th {
  text-align: center
}

.th-right th {
  text-align: right
}

.td-left td {
  text-align: left
}

.td-center td {
  text-align: center
}

.td-right td {
  text-align: right
}

.pdf-list-table {
  margin: 0
}

.pdf-list-table td,
.pdf-list-table th {
  box-sizing: border-box;
  padding: 10px 20px
}

.pdf-list-table .th-right {
  text-align: right;
  text-align: right
}

.pdf-list-table .td-left {
  width: 25%;
  text-align: left
}

.pdf-list-table .td-center {
  width: 50%;
  text-align: left
}

.pdf-list-table .td-right {
  width: 25%;
  text-align: center
}

@media (max-width:689px) {

  .pdf-list-table .td-center,
  .pdf-list-table .td-left,
  .pdf-list-table .td-right,
  .pdf-list-table th {
    clear: both;
    display: block;
    width: 100%
  }

  .pdf-list-table .td-center,
  .pdf-list-table .td-left,
  .pdf-list-table .td-right {
    padding-top: 5px;
    padding-bottom: 5px
  }

  .pdf-list-table .td-right {
    text-align: right
  }
}

.table-scroll table {
  margin-left: auto;
  margin-right: auto
}

@media (max-width:689px) {
  .table-scroll {
    overflow-x: auto
  }

  .table-scroll td,
  .table-scroll th {
    display: table-cell
  }

  .table-content.col2.tr-left td,
  .table-content.col2.tr-left th {
    display: block;
    width: 100%;
    box-sizing: border-box
  }
}

table.bordered {
  border: 1px solid rgba(40, 40, 40, .15)
}

table.bordered td,
table.bordered th {
  padding-left: 10px;
  padding-right: 10px;
  border-bottom: 1px solid rgba(40, 40, 40, .15)
}

table.bordered th {
  text-align: center
}

.materiality-table>br {
  display: none
}

.materiality-table th {
  min-width: 150px;
  vertical-align: middle
}

.materiality-table td {
  font-size: 12px
}

.materiality-table a:hover {
  text-decoration: underline
}

.materiality-table .materiality-icon {
  display: flex;
  flex-direction: column;
  align-items: center
}

.materiality-table .materiality-icon>br {
  display: none
}

.materiality-table .materiality-icon img {
  margin-bottom: 10px;
  width: 80px;
  height: 80px
}

.materiality-table .materiality-icon .materiality-title {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 700
}

.materiality-table .materiality-icon .materiality-sub {
  font-size: 13px
}

.materiality-table tr:nth-child(1) {
  background-color: #9b9b9b;
  color: #fff
}

.materiality-table tr:nth-child(2) {
  background-color: #e4ffc2
}

.materiality-table tr:nth-child(3),
.materiality-table tr:nth-child(4),
.materiality-table tr:nth-child(5) {
  background-color: #d3edfb
}

.materiality-table tr:nth-child(6) {
  background-color: #fff2cc
}

.materiality-table tr:nth-child(7) {
  background-color: #f2f2f2
}

@media (max-width:689px) {
  .materiality-table th {
    white-space: nowrap
  }
}

i.fa {
  margin-right: 5px
}

.clearfix::after {
  content: "";
  clear: both;
  display: block
}

hr {
  margin-bottom: 10px
}

hr.clear {
  clear: both;
  display: block;
  height: 0;
  margin: 0;
  border: transparent
}

.ab-sub-wrapper {
  max-width: initial;
  max-width: auto
}

.aligncenter {
  margin: 6px auto 20px;
  box-sizing: border-box;
  text-align: center
}

img.aligncenter {
  display: block;
  text-align: center
}

.alignleft {
  display: inline-block;
  float: left;
  margin: 7px 20px 20px 0;
  text-align: center
}

.alignright {
  display: inline-block;
  float: right;
  margin: 7px 0 20px 20px;
  text-align: center
}

.l-m .alignfull {
  box-sizing: border-box;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: 10px;
  padding-right: 10px
}

@media (min-width:689px) {
  .l-m .alignfull {
    margin-left: calc(-50vw + 50% + 10px);
    margin-right: calc(-50vw + 50% + 10px);
    padding-left: calc(50vw - 50% - 10px);
    padding-right: calc(50vw - 50% - 10px)
  }
}

.has-color {
  color: var(--tooltip-color)
}

.has-background {
  background-color: var(--tooltip-background-color)
}

.wp-caption {
  max-width: 100%
}

.no-border.aligncenter,
.no-border.alignleft,
.no-border.alignright {
  padding: 0;
  background-color: transparent
}

.text-left {
  text-align: left
}

.text-center {
  text-align: center
}

.text-right {
  text-align: right
}

.mr0 {
  margin-right: 0 !important
}

.wp-caption-text {
  text-align: center
}

@media (max-width:889px) {

  .alignleft,
  .alignright {
    float: initial;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center
  }
}

.admin-panel_header {
  background: #000 !important
}

.admin-panel_header #footer,
.admin-panel_header #wrapper {
  opacity: .2
}

.admin-panel_content {
  background: #000 !important
}

.admin-panel_content #footer,
.admin-panel_content .header,
.admin-panel_content .sidebar {
  opacity: .2
}

.admin-widgets {
  background: #000 !important
}

.admin-widgets #wrapper {
  background: 0 0
}

.admin-widgets #footer,
.admin-widgets #main,
.admin-widgets #top-slider,
.admin-widgets .header {
  opacity: .2
}

.admin-panel_footer {
  background: #000 !important
}

.admin-panel_footer #wrapper,
.admin-panel_footer .header {
  opacity: .2
}

.logo {
  vertical-align: middle
}

.logo-link {
  z-index: 9999
}

.logo-link h1 {
  line-height: 0
}

form.search {
  letter-spacing: -1em;
  text-align: center;
  white-space: nowrap
}

form.search input {
  display: inline-block;
  margin-bottom: 0
}

.search .search-text {
  margin-right: 10px;
  height: 35px;
  width: 175px;
  background: #fff
}

.search .search-submit {
  display: inline-block;
  width: 35px;
  height: 35px;
  background: transparent url(../images/icon/search-button.png) center center no-repeat;
  border: none;
  font-size: 0;
  filter: none
}

.search .search-submit:hover {
  background-color: transparent
}

.header-smp-menu .search {
  text-align: left;
  margin-left: 15px
}

.header-smp-menu .search-text {
  width: calc(100% - 15px);
  background: #fff url(../images/icon/search-button.png) right 10px center no-repeat;
  border: none;
  padding-right: 50px
}

.header-contact-image,
.header-contact-text {
  display: inline-block;
  padding: 5px;
  font-size: 18px
}

.header-contact-image img,
.header-contact-text img {
  max-height: 150px
}

.header-contact-image {
  line-height: 0
}

@media (min-width:689px) {
  .breadcrumb-wrapper {
    float: right
  }
}

.breadcrumb {
  vertical-align: middle;
  box-sizing: border-box;
  text-align: right
}

.breadcrumb li {
  display: inline
}

.breadcrumb li::after {
  margin: 0 10px;
  content: "＞"
}

.breadcrumb li:last-child::after {
  margin: 0;
  content: ""
}

.breadcrumb a:hover {
  text-decoration: underline
}

@media (min-width:689px) {
  .breadcrumb {
    display: table-cell;
    height: 54px
  }
}

@media (max-width:689px) {
  .breadcrumb {
    padding: 5px 0;
    white-space: nowrap;
    overflow: hidden
  }
}

@media (max-width:1000px) {
  .breadcrumb {
    padding-left: 10px;
    padding-right: 10px
  }
}

.side {
  margin-bottom: 40px;
  box-sizing: border-box
}

.side .side-title {
  padding: 25px 0;
  font-size: 16px;
  font-weight: 700;
  text-align: center
}

.side .textwidget p {
  text-align: justify;
  text-justify: inter-ideograph
}

.side .middle-layer>a {
  display: block;
  background: transparent url(../images/icon/list/666666.gif) 12px center no-repeat;
  padding: 13px 10px 11px 32px
}

.side .leaf-layer a {
  display: block;
  padding: 13px 41px 11px
}

.side .recent-post-list {
  overflow: hidden;
  margin-bottom: 15px;
  padding: 20px
}

.side .recent-post-list p {
  line-height: 1.4em
}

.side .recent-post-thumbnail {
  float: left;
  width: 80px
}

.side .recent-post-list-text {
  margin-left: 100px
}

.side .recent-post-date-and-tag {
  display: block;
  overflow: hidden
}

.side .recent-post-date {
  float: left
}

.side .recent-post-tag {
  float: right
}

.side .content-body {
  padding: 0
}

.side.widget_search {
  padding-left: 0;
  padding-right: 0
}

.side.widget_simpleimage {
  margin-bottom: 10px
}

.side.widget_simpleimage .simple-image {
  margin-bottom: 10px;
  text-align: center
}

.side.widget_simpleimage .simple-image img {
  max-width: 100%;
  height: initial;
  height: auto
}

.side.widget_simpleimage p {
  text-align: center;
  margin-bottom: 10px
}

.facebook_wrap iframe,
.fb-page,
.fb-page span {
  width: 100% !important;
  height: 500px !important
}

@media (max-width:689px) {
  .side img {
    width: 100%;
    height: initial;
    height: auto
  }
}

.footer-upper {
  padding: 50px 0 25px
}

.footer-upper .text-content {
  margin-bottom: 20px
}

.footer-upper .grid-row {
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

.footer-upper .grid-column {
  overflow: hidden;
  margin: 5px 0
}

.footer-share-text {
  margin-bottom: 20px;
  text-align: center;
  font-size: 18px;
  font-weight: 700
}

.footer-upper-title {
  text-align: center
}

.footer-upper-title .title-text {
  display: inline-block;
  margin-bottom: 30px;
  padding: 10px 0 10px 80px;
  font-size: 36px;
  line-height: 1.2em;
  background-position: 20px center;
  background-repeat: no-repeat
}

.footer-upper-title .subtitle-text {
  padding-left: 80px;
  font-size: 18px
}

@media (max-width:1240px) {

  .footer-upper-title .subtitle-text,
  .footer-upper-title .title-text {
    padding-left: 60px
  }
}

.footer-search-link {
  display: block;
  margin: 10px 0 0 30px;
  padding: 20px 20px;
  font-size: 16px
}

.footer-search-link:hover {
  text-decoration: none
}

@media (max-width:980px) {
  .footer-search-link {
    margin: 10px;
    padding: 20px 10px
  }
}

.footer-upper-link td,
.footer-upper-link th {
  vertical-align: middle
}

.footer-upper-link th {
  height: 45px;
  padding: 0;
  text-align: left
}

.footer-upper-link td {
  text-align: center;
  padding: 0;
  width: 110px
}

.footer-upper-link a:hover {
  text-decoration: underline
}

.footer-upper-link img {
  vertical-align: middle;
  max-height: 35px
}

.footer-socials {
  text-align: center
}

.footer-socials ul {
  display: inline-block
}

.footer-socials li {
  display: inline-block;
  margin-right: 20px;
  line-height: 0
}

.footer-socials li:last-child {
  margin-right: 0
}

.footer-socials img {
  height: 50px
}

.footer-socials img:hover {
  opacity: .7
}

.footer-contact {
  display: none;
  text-align: center;
  padding: 20px 5px
}

.footer-contact-link {
  display: inline-block;
  width: 380px;
  max-width: 100%;
  padding: 15px 0;
  text-align: center;
  font-size: 20px
}

@media (max-width:689px) {
  .footer-contact {
    padding-left: 10px;
    padding-right: 10px
  }
}

.footer {
  padding-top: 20px
}

.footer .line {
  overflow: hidden
}

.copyright {
  padding: 15px 0;
  font-size: 14px;
  line-height: 1.6em;
  text-align: left
}

.footer-bottom-list {
  line-height: 1.6em
}

.footer-bottom-list li {
  display: inline-block
}

.footer-bottom-list li a {
  display: inline-block;
  margin: 0 20px 5px 10px
}

.footer-bottom-list li a:hover {
  text-decoration: underline
}

@media (min-width:689px) {
  .footer-bottom-list {
    float: right;
    text-align: right
  }

  .footer-bottom-list a {
    padding: 15px 0
  }
}

@media (max-width:689px) {
  .copyright {
    padding: 10px 0;
    text-align: center
  }

  .footer-bottom-list {
    display: inline-block;
    margin-left: 30px;
    padding-top: 20px
  }

  .footer-bottom-list a {
    margin: 10px 10px 0
  }
}

.footer-link {
  padding: 5px 0;
  text-align: right
}

.footer-title {
  margin: 5px 0 25px;
  text-align: center
}

.footer-map {
  width: 100%;
  max-width: 100%
}

@media (max-width:689px) {
  .footer-title {
    padding: 3px 0
  }
}

.footer-info-table {
  width: 100%
}

.footer-info-table th {
  width: 100px
}

.footer-info-table td,
.footer-info-table th {
  text-align: left;
  padding: 7px 5px
}

.footer-access iframe {
  display: block;
  margin: 0 auto;
  max-width: 100%
}

.content.is-footer .grid-rows {
  margin: 0
}

.content.is-footer .grid-column {
  padding: 0 15px 30px 15px
}

@media (min-width:689px) {
  .content.is-footer {
    padding-top: 20px
  }

  .content.is-footer .grid-rows {
    margin-left: -15px;
    margin-right: -15px
  }
}

@media (max-width:689px) {
  .content.is-footer .grid-column {
    padding: 0 10px 20px 10px
  }
}

.footer-list-title {
  margin-bottom: 10px;
  padding-bottom: 8px;
  font-size: 16px
}

@media (max-width:689px) {
  .footer-list-title {
    font-size: 14px
  }
}

.footer-list li {
  font-size: 12px;
  margin-bottom: 5px
}

.footer-list li a:hover {
  text-decoration: underline
}

#pagetop {
  font-family: FontAwesome;
  position: fixed;
  right: 40px;
  bottom: 80px;
  height: 35px;
  line-height: 35px;
  width: 35px;
  font-size: 16px;
  border-radius: 50%;
  text-align: center;
  z-index: 99999
}

@media (max-width:689px) {
  #pagetop {
    right: 20px;
    bottom: 20px
  }

  .grecaptcha-badge {
    bottom: 80px !important
  }
}

.topimage {
  margin-bottom: 25px;
  line-height: 0
}

.topimage img {
  width: 100%;
  height: initial;
  height: auto
}

.content.is-eyecatch {
  width: 1440px;
  max-width: 100%;
  line-height: 0
}

.sitemap-inline {
  padding-bottom: 15px
}

.sitemap-inline .first-layer {
  font-size: 15px;
  margin: 15px 0;
  padding: 15px 20px 0;
  background: url(../images/icon/sitemap.gif) no-repeat 0 23px
}

.sitemap-inline .second-layer {
  margin: 0 0 0 20px
}

.sitemap-inline .second-layer li {
  display: inline-block;
  margin: 0 0 10px;
  padding-left: 0;
  padding-right: 20px;
  background-image: none
}

.sitemap-table {
  padding: 5px
}

.sitemap-table .first-layer {
  margin: 0;
  padding: 5px 5px 5px 20px;
  font-size: 14px;
  background: url(../images/icon/sitemap.gif) no-repeat 0 14px
}

.sitemap-table .second-layer {
  margin-bottom: 0;
  padding-left: 10px;
  min-height: 1.7em;
  padding: 5px 0 5px 20px
}

.sitemap-table .second-layer li {
  display: inline-block;
  padding: 5px 30px 0 20px;
  background-image: none
}

.pagination {
  clear: both;
  margin: 15px 0 30px
}

.pagination .page-numbers {
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  margin-right: 10px;
  margin-bottom: 10px;
  text-align: center;
  font-size: 18px
}

.social {
  padding: 10px
}

.social li {
  display: inline-block;
  margin-right: 10px;
  border-radius: 5px
}

.social a {
  display: inline-block;
  padding: 5px 15px
}

.social .social-icon,
.social .social-txt {
  color: #fff
}

.social .social-facebook,
.social .social-gplus,
.social .social-hatebu,
.social .social-twitter {
  padding: 0 10px
}

.social .social-facebook {
  background: #315096
}

.social .social-twitter {
  background: #55acee
}

.social .social-gplus {
  background: #dd4b39
}

.social .social-hatebu {
  background: #008fde
}

.social .icon-facebook::before,
.social .icon-google-plus::before,
.social .icon-hatebu::before,
.social .icon-twitter::before {
  display: inline-block;
  float: left;
  vertical-align: middle;
  text-align: center;
  font-style: normal;
  font-size: 20px;
  width: 25px;
  font-family: FontAwesome
}

.social .icon-facebook::before {
  content: "\f09a"
}

.social .icon-twitter::before {
  content: "\f099"
}

.social .icon-google-plus::before {
  content: "\f0d5"
}

.social .icon-hatebu::before {
  content: "B!";
  font-family: Verdana;
  font-weight: 700
}

.social .social-title {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 700
}

.social .social-items {
  margin-bottom: 10px
}

.social.left {
  text-align: left
}

.social.center {
  text-align: center
}

.social.right {
  text-align: right
}

.social.icon-text .social-txt {
  display: none
}

.social.icon-text .icon-txt {
  margin-left: 3px
}

.social.icon li {
  line-height: 1em;
  padding-left: 0;
  padding-right: 0
}

.social.icon a {
  padding: 7px 5px
}

.social.icon i::before {
  float: initial
}

.social.icon .icon-txt,
.social.icon .social-txt {
  display: none
}

.social.text .social-icon {
  display: none
}

.multilang-menu {
  margin-top: 7px
}

.multilang-menu li {
  display: inline-block
}

.multilang-menu a {
  display: inline-block;
  margin-right: 7px;
  padding-right: 7px;
  font-size: 15px;
  text-align: center
}

.multilang-menu a:hover {
  text-decoration: underline
}

.multilang-menu li:last-child a {
  margin-right: 0;
  padding-right: 0
}

.header-smp-menu .multilang-menu {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin: 15px;
  gap: 20px
}

.header-smp-menu .multilang-menu li {
  display: inline-block;
  width: 50%
}

.header-smp-menu .multilang-menu .this-lang {
  display: none
}

.header-smp-menu .multilang-menu a {
  margin-right: 0;
  padding-left: 0;
  padding-right: 0
}

.no-flexbox .content.is-header {
  overflow: hidden
}

.no-flexbox .header-logo,
.no-flexbox .page-summary {
  float: left
}

.no-flexbox .header-contact-img,
.no-flexbox .header-contact-text,
.no-flexbox .header-content {
  float: right
}

.no-flexbox .header-content {
  padding: 10px 0
}

.catchcopy {
  height: 45px;
  margin-bottom: 25px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2em
}

.image-overlay {
  line-height: 0
}

@media (max-width:689px) {
  .catchcopy {
    height: initial;
    height: auto;
    padding-left: 10px;
    padding-right: 10px
  }
}

.description {
  margin-bottom: 25px;
  font-size: 16px
}

.eyecatch {
  margin-bottom: 30px
}

@media (max-width:689px) {
  .eyecatch {
    margin-bottom: 20px
  }
}

.icon-menus {
  margin: 0 -15px
}

.icon-menus .icon-menu {
  line-height: 0;
  margin: 0 15px 30px
}

.icon-menus .icon-menu:hover .icon-menu-image,
.icon-menus .icon-menu:hover .icon-menu-title {
  opacity: .85
}

.icon-menus .icon-menu-title {
  display: table-cell;
  width: 1000px;
  height: 50px;
  text-align: center;
  line-height: 1.5em;
  font-size: 14px;
  vertical-align: middle;
  font-size: 16px;
  font-weight: 700
}

.icon-menus .icon-menu-image {
  width: 100%
}

@media (max-width:980px) {
  .icon-menus {
    margin: 0
  }

  .icon-menus .icon-menu {
    margin: 0 10px 30px
  }
}

@media (min-width:980px) {
  .icon-menus-gray .icon-menu-title {
    position: relative
  }
}

.toppage-news {
  margin: 0 -15px 35px
}

.toppage-news .grid-column {
  padding: 0 15px
}

@media (max-width:689px) {
  .toppage-news {
    margin: 0 0 15px
  }

  .toppage-news>.grid-column {
    margin-bottom: 20px;
    padding: 0 10px
  }
}

.list-title {
  font-size: 18px;
  font-weight: 700;
  text-align: center
}

.news-lists .list-title {
  text-align: left
}

.news-list {
  margin: 5px 0 30px;
  padding: 10px 0 5px
}

.news-list .news-list-item {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 5px 0
}

.news-list .news-list-item p {
  margin-bottom: 0
}

.news-list .news-list-meta {
  margin-bottom: 5px
}

.news-list .news-list-title {
  display: block;
  font-weight: 700;
  flex: 1
}

.news-list .news-list-title:hover {
  text-decoration: underline
}

body.body-category .news-list {
  margin: 0 0 50px;
  padding: 0
}

body.body-category .news-list .news-list-item {
  margin: 0 0 30px;
  padding: 0
}

@media (max-width:689px) {
  .news-list {
    margin: 5px 0 20px
  }

  .news-list .news-list-item {
    padding: 5px 0
  }
}

.news-date {
  display: inline-block;
  width: 90px
}

.news-list-category .news-date {
  width: 110px
}

.news-category,
.recent-post-tag {
  display: inline-block;
  width: 120px;
  font-size: 12px;
  line-height: 1em;
  padding: 2px 0;
  text-align: center
}

.news-links .grid-rows {
  margin-bottom: 0
}

.news-links .grid-column {
  padding: 0 10px
}

.news-link-title {
  position: relative;
  display: block;
  max-width: 250px;
  margin: 0 15px;
  padding: 10px 0;
  text-align: center
}

@media (min-width:980px) and (max-width:1280px) {
  .news-links .to-detail {
    display: none
  }
}

@media (max-width:980px) {
  .news-links {
    margin-top: 20px
  }

  .news-links .news-link-title {
    margin: 0 auto 20px
  }
}

.image-box {
  margin: 0 -15px
}

.image-box .grid-column {
  margin-bottom: 30px;
  padding: 0 15px;
  line-height: 0;
  display: flex
}

.image-box .grid-column>a {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%
}

.image-box .image-box-content,
.image-box .image-box-title {
  width: 100%;
  box-sizing: border-box
}

.image-box .image-box-title {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 5px;
  padding-right: 5px;
  height: 50px;
  line-height: 1.3em;
  margin-bottom: 0;
  font-size: 20px;
  text-align: center
}

.image-box .image-box-content {
  padding: 20px;
  flex: 1;
  text-align: center;
  line-height: 0
}

.image-box .image-box-subtext {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.3em
}

.image-box .image-box-image-wrapper {
  line-height: 0
}

.image-box .grid-column:hover {
  cursor: pointer
}

.image-box .grid-column:hover .image-box-image {
  opacity: .7
}

@media (max-width:689px) {
  .image-box {
    margin: 0 -10px 30px
  }

  .image-box .grid-column {
    margin-bottom: 10px;
    padding: 10px
  }

  .image-box .image-box-title {
    height: 40px;
    font-size: 18px
  }

  .image-box .image-box-content {
    padding: 10px
  }

  .image-box .image-box-subtext {
    margin-bottom: 10px;
    font-size: 16px
  }
}

.slick-posts {
  position: relative;
  margin: 20px -10px
}

.slick-posts .slick-post {
  margin: 0 10px;
  padding: 10px
}

.slick-posts .slick-post .slick-post-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover
}

.slick-posts .slick-post:hover .slick-post-image,
.slick-posts .slick-post:hover .slick-post-title {
  opacity: .85
}

.slick-posts .slick-post-title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  height: 70px;
  text-align: left;
  line-height: 1.5em;
  font-size: 16px;
  font-weight: 700
}

.slick-posts .slick-list {
  display: block;
  overflow: hidden
}

.slick-posts:not(.slick-initialized) .grid-column:nth-child(n+4) {
  display: none
}

.slick-posts .slick-track {
  display: flex;
  align-items: flex-start
}

.slick-posts .slick-next,
.slick-posts .slick-prev {
  top: calc(50% - 50px)
}

@media (max-width:980px) {
  .slick-posts {
    margin-left: 0;
    margin-right: 0
  }
}

.map-frame-wrapper {
  position: relative;
  width: 100%;
  padding-top: 50%
}

.map-frame-wrapper .map-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 0 50px;
  border: none
}

.magazine-catch .magazine-catch-image {
  margin-bottom: 20px
}

.magazine-catch .magazine-catch-text {
  margin-bottom: 40px
}

.magazine-catch .magazine-catch-button {
  margin-bottom: 40px;
  text-align: center
}

.magazine-catch .magazine-catch-button a {
  display: inline-block;
  max-width: 100%;
  padding: 10px 100px;
  font-size: 16px;
  white-space: nowrap;
  box-sizing: border-box;
  background-color: #0071bc;
  color: #fff
}

.magazine-backnumber-title {
  margin-bottom: 40px;
  padding: 5px 0 5px 20px;
  font-size: 20px;
  border-left: 10px solid #d20212;
  border-bottom: 2px solid #d20212
}

@media (max-width:689px) {
  .magazine-catch .magazine-catch-button a {
    padding-left: 10px;
    padding-right: 10px;
    width: calc(100% - 20px)
  }
}

.magazine-list {
  margin-bottom: 50px
}

.magazine-list-item {
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(40, 40, 40, .22)
}

.magazine-list-item .magazine-list-item-wrapper {
  display: flex;
  align-items: center
}

.magazine-list-item .magazine-list-item-image {
  width: 220px;
  position: relative;
  overflow: hidden
}

.magazine-list-item .magazine-list-item-image::before {
  content: "";
  display: block;
  padding-top: 75%
}

.magazine-list-item .magazine-list-item-image img {
  position: absolute;
  width: 100%;
  height: initial;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%)
}

.magazine-list-item .magazine-list-item-text {
  flex: 1;
  padding: 5px 10px 5px 30px;
  box-sizing: border-box
}

.magazine-list-item .magazine-list-item-date {
  margin-bottom: 5px;
  font-size: 14px;
  line-height: 2em
}

.magazine-list-item .magazine-list-item-category {
  display: inline-block;
  margin-bottom: 5px;
  padding: 5px 20px;
  font-size: 14px;
  line-height: 1em;
  background-color: maroon;
  color: #fff
}

.magazine-list-item .magazine-list-item-title {
  font-size: 20px;
  font-weight: 700
}

@media (max-width:689px) {
  .magazine-list {
    margin-bottom: 30px
  }

  .magazine-list-item {
    margin-bottom: 0
  }

  .magazine-list-item .magazine-list-item-text {
    padding-left: 15px
  }

  .magazine-list-item .magazine-list-item-image {
    width: 150px
  }

  .magazine-list-item .magazine-list-item-date {
    font-size: 12px
  }

  .magazine-list-item .magazine-list-item-category {
    font-size: 12px
  }

  .magazine-list-item .magazine-list-item-title {
    font-size: 16px;
    line-height: 1.6em
  }
}

.video-title {
  font-size: 18px;
  text-align: center
}

.embed-container {
  max-width: 100%;
  margin-bottom: 25px
}

.embed-content {
  position: relative;
  max-width: 100%;
  padding-bottom: 56.25%;
  height: 0
}

.embed-content embed,
.embed-content iframe,
.embed-content object,
.embed-content video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%
}

.gallery {
  margin: 6px -15px 20px
}

.gallery .gallery-title {
  font-size: 22px;
  margin-bottom: 10px;
  line-height: 1.5em;
  text-align: center
}

.gallery .gallery-title .sub {
  font-size: 18px
}

.gallery .gallery-item {
  margin-bottom: 30px;
  padding: 0 15px;
  line-height: 0
}

.gallery .gallery-content {
  text-align: center
}

.gallery .gallery-content-inner {
  display: inline-block
}

.gallery .no-border {
  margin-bottom: 0
}

.gallery .no-border .gallery-content-inner {
  padding: 0;
  background-color: transparent
}

.layout-3.gallery .gallery-item {
  margin-bottom: 30px;
  padding-bottom: 10px
}

.layout-3.gallery .gallery-image {
  float: right;
  margin-left: 10px
}

.layout-3.gallery .gallery-title {
  text-align: left
}

.layout-slick.gallery {
  display: block;
  position: relative;
  overflow: hidden;
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 30px
}

.layout-slick.gallery>.grid-column:not(:first-child) {
  display: none
}

.layout-slick.gallery .gallery-item {
  max-width: 800px;
  padding: 0 20px
}

.layout-slick.gallery .gallery-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 20px;
  border: 1px solid #ddd
}

.layout-slick.gallery .gallery-image {
  max-width: 40%;
  line-height: 0
}

.layout-slick.gallery .gallery-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 30px
}

.layout-slick.gallery .gallery-title {
  font-size: 20px;
  font-weight: 700
}

.layout-slick.gallery .gallery-caption {
  word-break: break-all
}

.layout-slick.gallery .slick-dots {
  top: initial;
  right: initial;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%)
}

.layout-slick.gallery .slick-dots li button {
  width: initial;
  margin-left: 10px;
  margin-right: 10px
}

.layout-slick.gallery .slick-dots li button::before {
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid rgba(40, 40, 40, .5)
}

.layout-slick.gallery .slick-dots li.slick-active button::before {
  background-color: rgba(40, 40, 40, .8)
}

@media (min-width:689px) and (max-width:1240px) {
  .gallery .gallery-title {
    font-size: 18px
  }
}

@media (max-width:689px) {
  .gallery .gallery-content {
    margin-bottom: 10px
  }

  .layout-slick.gallery {
    flex-direction: row-reverse
  }

  .layout-slick.gallery .gallery-image {
    max-width: 100%;
    width: 100%;
    margin-bottom: 20px
  }

  .layout-slick.gallery .gallery-item {
    padding: 0 10px
  }

  .layout-slick.gallery .gallery-content {
    flex-direction: column;
    align-items: flex-start;
    font-size: 12px;
    padding: 10px
  }

  .layout-slick.gallery .gallery-content img {
    width: 100%
  }

  .layout-slick.gallery .gallery-text {
    padding: 0;
    text-align: left
  }

  .layout-slick.gallery .gallery-title {
    font-size: 16px
  }
}

.image-blue {
  margin-bottom: 25px
}

.image-blue .wp-caption-text {
  height: 50px;
  margin-bottom: 0;
  text-align: center
}

.image-blue img {
  padding: 20px;
  box-sizing: border-box
}

@media (max-width:689px) {
  .image-blue .wp-caption-text {
    display: table-cell;
    width: 689px;
    vertical-align: middle
  }
}

@media (min-width:689px) {
  .image-blue .wp-caption-text {
    line-height: 50px
  }
}

.slick-images {
  position: relative;
  overflow: hidden
}

.slick-images>.slick-image-content:not(:first-child) {
  display: none
}

.slick-slide {
  display: inline-block
}

.slick-next,
.slick-prev {
  display: block;
  position: absolute;
  z-index: 1000;
  top: calc(50% - 23px);
  width: 35px;
  height: 45px;
  padding: 0;
  cursor: pointer;
  opacity: 0;
  border: 0;
  color: #333;
  background: #c1c1c1;
  font: 28px/45px FontAwesome;
  text-align: center;
  outline: initial
}

.slick-next::before,
.slick-prev::before {
  color: #fff
}

.slick-next:hover,
.slick-prev:hover {
  outline: 0
}

.slick-slider:hover .slick-next,
.slick-slider:hover .slick-prev {
  opacity: .5;
  color: #333;
  background: rgba(40, 40, 40, .8)
}

@media (max-width:689px) {

  .slick-next,
  .slick-prev {
    top: calc(50% - 17.5px);
    width: 30px;
    height: 35px;
    font: 20px/35px FontAwesome
  }
}

.slick-prev {
  left: 0
}

.slick-prev::before {
  font-family: FontAwesome;
  content: "\f104"
}

.slick-next {
  right: 0
}

.slick-next::before {
  font-family: FontAwesome;
  content: "\f105"
}

.slick-dotted .slick-dots {
  position: absolute;
  z-index: 1000;
  top: 0;
  right: 10px;
  padding: 5px 0;
  line-height: 1em;
  text-align: center
}

.slick-dotted .slick-dots li {
  display: inline-block;
  padding: 0
}

.slick-dotted .slick-dots li::before {
  content: initial
}

.slick-dotted .slick-dots li button {
  display: inline-block;
  width: 10px;
  cursor: pointer;
  background: 0 0;
  border: 0;
  position: relative;
  margin: 0 5px;
  font-size: 0;
  line-height: 0;
  opacity: .7
}

.slick-dotted .slick-dots li button:focus {
  outline: 0
}

.slick-dotted .slick-dots li button::before {
  content: "";
  display: inline-block;
  height: 6px;
  width: 6px;
  background: #c1c1c1;
  border: 1px solid #c1c1c1;
  border-radius: 100%;
  box-shadow: 0 0 1px 1px #fff
}

.slick-dotted .slick-dots li.slick-active button::before {
  background: #000
}

@media (max-width:689px) {
  .content-body {
    margin: 0 10px
  }

  .content-body::after {
    content: "";
    display: block;
    clear: both
  }
}

.text-content {
  display: block
}

.text-content p {
  margin-bottom: 25px;
  font-size: 17px
}

.text-content ol,
.text-content ul {
  overflow: hidden;
  margin: 50px 0
}

.text-content ul li {
  padding: 7px 0 7px 25px
}

.text-content ol {
  counter-reset: ollist;
  list-style-type: none
}

.text-content ol li {
  padding: 7px 0 7px 3px
}

.text-content ol li::before {
  counter-increment: ollist;
  content: counter(ollist) ". "
}

.text-content .attention {
  padding: 15px
}

.text-content a:hover {
  text-decoration: underline
}

.doc-text-link {
  display: inline-block;
  width: 110px;
  box-sizing: border-box;
  margin-bottom: 10px;
  padding: 3px 10px;
  font-size: 14px;
  font-weight: 400
}

.doc-pdf::after,
.link-video::after {
  display: inline-block;
  padding: 5px;
  vertical-align: -1px;
  font-family: FontAwesome
}

.doc-pdf::after {
  content: "\f1c1";
  font-size: 20px
}

.link-video::after {
  content: "\f144";
  font-size: 22px
}

.doc-doc,
.doc-zip {
  display: inline-block;
  margin-bottom: 10px;
  padding: 3px 10px;
  font-size: 14px;
  font-weight: 400
}

.doc-doc::before,
.doc-zip::before {
  margin-right: 5px;
  font-family: FontAwesome
}

.doc-doc::before {
  content: "\f1c2"
}

.doc-zip::before {
  content: "\f1c6"
}

.doc-doc:hover,
.doc-pdf:hover,
.doc-text-link:hover,
.doc-zip:hover {
  opacity: .85
}

.product-items {
  margin: 0 -10px
}

.product-items .product-item {
  padding: 10px;
  text-align: center
}

.product-items .grid-column-inner {
  padding: 0
}

.product-items .product-item-name {
  display: table-cell;
  height: 50px;
  margin-bottom: 0;
  font-size: 22px;
  text-align: center;
  width: 1000px;
  vertical-align: middle;
  line-height: 1.2em
}

.product-items .product-item-image {
  padding: 20px;
  box-sizing: border-box
}

.product-items .product-item-text {
  text-align: center;
  font-size: 16px
}

.product-items .product-item-to-detail {
  margin-bottom: 20px;
  text-align: center;
  font-size: 14px
}

.product-items .product-item-to-detail a {
  position: relative;
  display: inline-block;
  padding: 5px 70px 5px 20px
}

.product-items .product-item-to-detail abody-en {
  padding-right: 50px
}

.product-items .product-item-to-detail a::after {
  content: "\f144";
  font-size: 20px;
  font-family: FontAwesome;
  position: absolute;
  top: 5px;
  right: 20px
}

.product-items .product-item-to-detail a:hover {
  opacity: .8
}

@media (max-width:689px) {
  .product-item .product-item-name {
    height: initial;
    padding: 10px 0;
    font-size: 18px
  }
}

@media (max-width:689px) {
  .button-content {
    text-align: center !important
  }
}

.news-date-and-tag {
  margin: 0 0 30px
}

.news-date-and-tag .news-date {
  margin-right: 20px
}

@media (max-width:689px) {
  .news-date-and-tag {
    margin-left: 10px;
    margin-right: 10px
  }
}

.text-content .headline-1 {
  overflow: hidden;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 15px;
  padding: 7px 15px;
  font-weight: 700;
  line-height: 1.7em;
  border: 1px solid #ddd;
  background-color: #f9f9f9;
  text-align: center
}

.text-content .headline-1.slim {
  display: inline-block;
  padding-left: 30px;
  padding-right: 30px
}

.text-content .headline-1.half {
  display: inline-block;
  width: 50%
}

.text-content .headline-2 {
  margin-bottom: 20px;
  font-weight: 700
}

.text-content .headline-blue {
  background-color: #0c87d8;
  box-sizing: border-box;
  color: #fff;
  font-size: 22px;
  line-height: 1.6em;
  text-align: center
}

.text-content .headline-blue.slim {
  display: inline-block;
  padding-left: 30px;
  padding-right: 30px
}

.text-content .headline-blue.half {
  display: inline-block;
  width: 50%
}

.text-content .headline-underline {
  margin-bottom: 15px;
  color: #0c87d8;
  font-size: 18px;
  border-bottom: 2px dotted #0c87d8
}

@media (max-width:689px) {

  .text-content .headline-1.half,
  .text-content .headline-2.half {
    width: 100%
  }
}

.border-wrapper {
  text-align: center;
  margin-bottom: 20px
}

.border-wrapper .border {
  display: inline-block;
  padding: 20px 40px;
  box-sizing: border-box;
  max-width: 100%
}

.border-wrapper .border p {
  margin-bottom: 10px
}

.border-wrapper .border p:last-child {
  margin-bottom: 0
}

.border-wrapper .border-black {
  border: 1px solid #282828
}

.border-wrapper .border-blue {
  border: 1px solid #0070bc
}

.border-wrapper .border-gray {
  border: 1px solid rgba(40, 40, 40, .15)
}

@media (max-width:689px) {
  .border-wrapper .border {
    padding: 20px
  }
}

.relational {
  clear: both;
  background-color: #f9f9f9;
  border-top: 2px solid #0071bc;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  margin-bottom: 30px
}

.relational p {
  font-size: 14px;
  border-bottom: 1px solid #ddd;
  padding: 10px 20px;
  margin-bottom: 0
}

.relational .t-c-gray {
  padding-left: 15px;
  color: #666
}

.schedule dt {
  display: block;
  background-color: #0bf;
  padding: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  width: 200px;
  margin-bottom: 10px;
  float: left;
  border: 2px solid #0bf
}

.schedule dd {
  border: 2px solid #0bf;
  padding: 8px;
  color: #666;
  font-size: 14px;
  margin-bottom: 20px;
  display: block;
  text-align: left;
  margin-left: 260px
}

.schedule p {
  margin-bottom: 0
}

.body-en.body-page-id-277 .sitemap-title,
.body-error404 .sitemap-title,
.body-ja.body-page-id-8742 .sitemap-title {
  margin-bottom: 10px
}

.body-en.body-page-id-277 .sitemap-title a,
.body-error404 .sitemap-title a,
.body-ja.body-page-id-8742 .sitemap-title a {
  font-weight: 700;
  color: #282828
}

.body-en.body-page-id-277 .sitemap-list,
.body-error404 .sitemap-list,
.body-ja.body-page-id-8742 .sitemap-list {
  margin-bottom: 30px
}

.body-en.body-page-id-277 .is-main .grid-column,
.body-error404 .is-main .grid-column,
.body-ja.body-page-id-8742 .is-main .grid-column {
  padding: 0 20px
}

.dtddFloat {
  margin-bottom: 50px
}

.body-ja.body-page-id-6458 .text-content ul {
  margin: 0
}

.body-ja.body-page-id-6648 .content-body .grid-rows,
.body-ja.body-page-id-8344 .content-body .grid-rows {
  margin: 0
}

.body-ja.body-page-id-6648 .content-body .grid-rows .text-content,
.body-ja.body-page-id-8344 .content-body .grid-rows .text-content {
  margin-bottom: 0;
  border: none
}

.body-ja.body-page-id-6648 .content-body .text-content .border,
.body-ja.body-page-id-8344 .content-body .text-content .border {
  display: block;
  padding: 20px
}

.body-ja.body-page-id-6648 .content-body .grid-column,
.body-ja.body-page-id-8344 .content-body .grid-column {
  margin-bottom: 0
}

.body-ja.body-page-id-6648 .content-body .grid-column-inner,
.body-ja.body-page-id-8344 .content-body .grid-column-inner {
  padding: 0
}

@media (max-width:980px) {

  .body-ja.body-page-id-6648 .grid-column,
  .body-ja.body-page-id-8344 .grid-column {
    width: 100% !important
  }
}

.body-ja.body-page-id-16510 #right-sidebar,
body-en.body-page-id-1534 #right-sidebar {
  display: none
}

.body-ja.body-page-id-16510 .gallery-item-inner,
body-en.body-page-id-1534 .gallery-item-inner {
  padding-bottom: 10px;
  overflow: hidden
}

.body-ja.body-page-id-16510 .gallery-title,
body-en.body-page-id-1534 .gallery-title {
  font-size: 18px
}

.body-ja.body-page-id-6442 .table-title,
body-en.body-page-id-21183 .table-title {
  text-decoration: none;
  margin-bottom: 0;
  padding: 10px 20px 0;
  border-top: 1px solid rgba(40, 40, 40, .15);
  border-left: 1px solid rgba(40, 40, 40, .15);
  border-right: 1px solid rgba(40, 40, 40, .15)
}

.body-ja.body-page-id-6442 .table-scroll,
body-en.body-page-id-21183 .table-scroll {
  padding: 0 20px 10px;
  border-left: 1px solid rgba(40, 40, 40, .15);
  border-right: 1px solid rgba(40, 40, 40, .15)
}

.body-ja.body-page-id-6442 .table-content.col2,
body-en.body-page-id-21183 .table-content.col2 {
  margin-top: 0;
  margin-bottom: 0
}

.body-ja.body-page-id-6442 .table-content.col2 td,
.body-ja.body-page-id-6442 .table-content.col2 th,
body-en.body-page-id-21183 .table-content.col2 td,
body-en.body-page-id-21183 .table-content.col2 th {
  display: table-cell
}

.body-ja.body-page-id-6442 .table-content.col2 th,
body-en.body-page-id-21183 .table-content.col2 th {
  width: 80px;
  text-align: center
}

.body-ja.body-page-id-6442 .table-scroll:last-child,
body-en.body-page-id-21183 .table-scroll:last-child {
  border-bottom: 1px solid rgba(40, 40, 40, .15)
}

.body-ja.body-page-id-17540 .table-content td,
.body-ja.body-page-id-17540 .table-content th,
.body-ja.body-page-id-17565 .table-content td,
.body-ja.body-page-id-17565 .table-content th,
body-en.body-page-id-21175 .table-content td,
body-en.body-page-id-21175 .table-content th,
body-en.body-page-id-21176 .table-content td,
body-en.body-page-id-21176 .table-content th,
body-en.body-page-id-433 .table-content td,
body-en.body-page-id-433 .table-content th {
  border-right: 20px solid #fff
}

.body-ja.body-page-id-17540 .table-content tr:first-child td,
.body-ja.body-page-id-17540 .table-content tr:first-child th,
.body-ja.body-page-id-17565 .table-content tr:first-child td,
.body-ja.body-page-id-17565 .table-content tr:first-child th,
body-en.body-page-id-21175 .table-content tr:first-child td,
body-en.body-page-id-21175 .table-content tr:first-child th,
body-en.body-page-id-21176 .table-content tr:first-child td,
body-en.body-page-id-21176 .table-content tr:first-child th,
body-en.body-page-id-433 .table-content tr:first-child td,
body-en.body-page-id-433 .table-content tr:first-child th {
  border-bottom: 1px solid rgba(40, 40, 40, .15)
}

.body-ja.body-page-id-17540 .table-content tr:nth-child(2) td:first-child,
.body-ja.body-page-id-17565 .table-content tr:nth-child(2) td:first-child {
  font-size: 22px
}

.body-ja.body-page-id-14090 .button-content a {
  width: initial;
  width: auto;
  white-space: nowrap;
  font-size: 16px;
  padding-left: 10px;
  padding-right: 10px;
  background-image: none
}

.body-ja.body-page-id-12480 #main ul {
  margin: 10px 0
}

.body-ja.body-page-id-12480 #main ul li {
  display: inline-block;
  width: 30%
}

@media (max-width:689px) {
  .body-ja.body-page-id-12480 #main li {
    width: 48%
  }
}

body.body-gtoss #main table ul,
body.body-software #main table ul {
  margin: 0
}

body.body-gtoss #main table ul li,
body.body-software #main table ul li {
  padding: 0;
  background: 0 0
}

body.body-gtoss #main .price-table,
body.body-gtoss #main .type-table,
body.body-software #main .price-table,
body.body-software #main .type-table {
  box-sizing: border-box
}

body.body-gtoss #main .price-table th,
body.body-gtoss #main .type-table th,
body.body-software #main .price-table th,
body.body-software #main .type-table th {
  padding: 6px 10px;
  border-color: #fff;
  border-style: solid;
  border-width: 0 1px 1px 0;
  background-color: #c9d2eb;
  text-align: center;
  vertical-align: middle
}

body.body-gtoss #main .price-table td,
body.body-gtoss #main .type-table td,
body.body-software #main .price-table td,
body.body-software #main .type-table td {
  padding: 6px 10px;
  border-color: #fff;
  border-style: solid;
  border-width: 0 1px 1px 0;
  background-color: #e3e8f5
}

body.body-gtoss #main .price-table .t1,
body.body-gtoss #main .type-table .t1,
body.body-software #main .price-table .t1,
body.body-software #main .type-table .t1 {
  text-align: center
}

body.body-gtoss #main .price-table .t2,
body.body-gtoss #main .type-table .t2,
body.body-software #main .price-table .t2,
body.body-software #main .type-table .t2 {
  padding-left: 15px;
  border-color: #c9d2eb;
  background-color: #fff
}

body.body-gtoss #main .price-table .t2 ul,
body.body-gtoss #main .type-table .t2 ul,
body.body-software #main .price-table .t2 ul,
body.body-software #main .type-table .t2 ul {
  list-style-position: inside;
  list-style-type: square
}

body.body-gtoss #main .price-table .t3,
body.body-gtoss #main .type-table .t3,
body.body-software #main .price-table .t3,
body.body-software #main .type-table .t3 {
  text-align: center;
  border-color: #c9d2eb;
  background-color: #fff
}

body.body-gtoss #main .price-table .t4,
body.body-gtoss #main .type-table .t4,
body.body-software #main .price-table .t4,
body.body-software #main .type-table .t4 {
  text-align: center;
  border-color: #c9d2eb;
  background-color: #fff
}

body.body-gtoss #main table.price-table,
body.body-gtoss #main table.type-table,
body.body-software #main table.price-table,
body.body-software #main table.type-table {
  border: 1px solid #c9d2eb
}

body.body-gtoss #main .price-table .t1,
body.body-software #main .price-table .t1 {
  width: 200px
}

body.body-gtoss #main .price-table .t2,
body.body-software #main .price-table .t2 {
  width: 330px
}

body.body-gtoss #main .price-table .t3,
body.body-software #main .price-table .t3 {
  width: 130px
}

body.body-gtoss #main .price-table .t4,
body.body-software #main .price-table .t4 {
  width: 130px
}

body.body-gtoss #main .type-table .t1,
body.body-software #main .type-table .t1 {
  width: 175px
}

body.body-gtoss #main .type-table .t2,
body.body-software #main .type-table .t2 {
  width: 200px
}

body.body-gtoss #main .type-table .t3,
body.body-software #main .type-table .t3 {
  width: 460px
}

body.body-gtoss #main .application,
body.body-software #main .application {
  width: 540px;
  margin: 40px auto 0;
  padding: 10px 10px 20px;
  border: 2px solid #1d2087
}

body.body-gtoss #main .application p,
body.body-software #main .application p {
  margin: 5px auto 0
}

body.body-gtoss #main .application ul,
body.body-software #main .application ul {
  margin: 0 20px
}

body.body-gtoss #main .application>div,
body.body-software #main .application>div {
  margin-top: 20px;
  overflow: hidden
}

body.body-gtoss #main .application .application-caption,
body.body-software #main .application .application-caption {
  margin: 0;
  background: #303296;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.7em;
  color: #ff0;
  text-align: center
}

body.body-gtoss #main .application .pamphlet,
body.body-software #main .application .pamphlet {
  float: left;
  margin-left: 30px
}

body.body-gtoss #main .application>div>div,
body.body-software #main .application>div>div {
  float: left;
  margin-left: 25px
}

body.body-gtoss #main .application .dlbox,
body.body-software #main .application .dlbox {
  margin-top: 6px;
  margin-bottom: 15px;
  padding: 5px 10px 5px 25px;
  background-position: 5px center;
  border: 1px solid #ccc
}

body.body-gtoss #main .application .arrow-red::before,
body.body-software #main .application .arrow-red::before {
  content: "\f152";
  font-family: FontAwesome;
  color: red;
  margin-right: 5px
}

body.body-gtoss #main .application .arrow-blue::before,
body.body-software #main .application .arrow-blue::before {
  content: "\f152";
  font-family: FontAwesome;
  color: #00f;
  margin-right: 5px
}

body.body-gtoss #main .application .doc-doc,
body.body-gtoss #main .application .doc-zip,
body.body-software #main .application .doc-doc,
body.body-software #main .application .doc-zip {
  margin-left: 5px;
  font-size: 14px;
  padding: 0 7px
}

body.body-gtoss #main .no-darkblue,
body.body-software #main .no-darkblue {
  display: inline-block;
  width: 30px;
  text-align: center;
  background: #0071bc;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  margin-right: 5px
}

body.body-gtoss #main .text-darkblue,
body.body-software #main .text-darkblue {
  color: #0071bc
}

body.body-gtoss #main .new-icon,
body.body-software #main .new-icon {
  margin-left: 20px;
  padding: 0 5px;
  font-size: 95%;
  color: #fff;
  background-color: red;
  border-radius: 5px
}

body.body-gtoss #main .opt-icon,
body.body-software #main .opt-icon {
  margin-left: 20px;
  padding: 0 5px;
  font-size: 95%;
  color: #303296;
  border: 1px solid #303296;
  border-radius: 5px
}

body.body-gtoss #main .border-lightblue,
body.body-software #main .border-lightblue {
  padding: 5px;
  border: 7px solid #c9d2eb;
  background: #fff
}

body.body-gtoss #main .text-content .grid-column,
body.body-software #main .text-content .grid-column {
  padding: 0 20px
}

body.body-gtoss #main p:empty,
body.body-software #main p:empty {
  display: none
}

body.body-gtoss #main .catchcopy:empty,
body.body-software #main .catchcopy:empty {
  display: block
}

@media (max-width:689px) {
  body.body-software #main table {
    width: 835px
  }
}

body.body-ja.body-page-id-6683 #main table {
  margin-top: 15px;
  border: none;
  border-collapse: collapse
}

body.body-ja.body-page-id-6683 #main td {
  padding: 0;
  font-size: 13px;
  text-align: center;
  vertical-align: top;
  border-right: 8px solid #fff;
  border-bottom: 8px solid #fff
}

body.body-ja.body-page-id-6683 #main td img {
  border: 1px solid #ccc
}

body.body-ja.body-page-id-6683 #main td img.no_border {
  border: none
}

body.body-ja.body-page-id-6683 #main td ul {
  padding-left: 20px;
  list-style-type: disc;
  text-align: left
}

body.body-ja.body-page-id-6683 #main td li {
  margin-top: 5px;
  line-height: 15px
}

body.body-ja.body-page-id-6683 #main td .cap {
  display: block;
  padding: 4px 0 2px;
  font-weight: 700
}

body.body-ja.body-page-id-6683 #main td .s1 {
  font-size: 11px
}

body.body-ja.body-page-id-6683 #main td .s2 {
  font-size: 12px
}

body.body-ja.body-page-id-6683 #main .td1 {
  width: 120px;
  text-align: left;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 4px;
  border-right: none
}

body.body-ja.body-page-id-6683 #main .td2 {
  width: 8px
}

body.body-ja.body-page-id-6683 #main .td3,
body.body-ja.body-page-id-6683 #main .td4,
body.body-ja.body-page-id-6683 #main .td5 {
  width: 175px
}

body.body-ja.body-page-id-6683 #main .td6 {
  width: 152px;
  border-right: none
}

body.body-ja.body-page-id-6683 #main .first td {
  border-top: 20px solid #fff
}

body.body-ja.body-page-id-6683 #main .technical_support .cap,
body.body-ja.body-page-id-6683 #main .technical_support .td2 {
  background-color: #bde7fd
}

body.body-ja.body-page-id-6683 #main .business_support .cap,
body.body-ja.body-page-id-6683 #main .business_support .td2 {
  background-color: #bdc6e7
}

body.body-ja.body-page-id-6683 #main body-engineering_support .cap,
body.body-ja.body-page-id-6683 #main body-engineering_support .td2 {
  background-color: #a5d6d6
}

body.body-ja.body-page-id-6683 #main .mechanical_support .cap,
body.body-ja.body-page-id-6683 #main .mechanical_support .td2 {
  background-color: #dbdcdc
}

body.body-ja.body-page-id-6683 #main .accounting_support .cap,
body.body-ja.body-page-id-6683 #main .accounting_support .td2 {
  background-color: #ef7b73
}

body.body-ja.body-page-id-6683 #main .culture_support .cap,
body.body-ja.body-page-id-6683 #main .culture_support .td2 {
  background-color: #f7cede
}

body.body-ja.body-page-id-6683 #main .safety_support .cap,
body.body-ja.body-page-id-6683 #main .safety_support .td2 {
  background-color: #ffffc9
}

body.body-ja.body-page-id-6683 #main .seminar .cap,
body.body-ja.body-page-id-6683 #main .seminar .td2 {
  background-color: #ffd68c
}

body.body-ja.body-page-id-6683 #main .seminar .td5 .cap {
  background-color: #9f6
}

@media (max-width:689px) {
  body.body-ja.body-page-id-6683 .table-scroll table {
    width: 810px
  }
}

body.body-ja.body-page-id-8687 .gmarea-wrapper {
  margin-left: auto;
  margin-right: auto
}

body.body-ja.body-page-id-8687 .gm1area {
  margin-top: 30px;
  position: relative;
  min-height: 640px;
  border: 5px solid #fbc300
}

body.body-ja.body-page-id-8687 .gm1area ul {
  margin: 0
}

body.body-ja.body-page-id-8687 .gm1area ul li {
  padding: 0
}

body.body-ja.body-page-id-8687 .gm2area {
  position: relative;
  bottom: 10px;
  right: 10px;
  min-height: 585px;
  border: 5px solid #d32f29;
  margin-top: 50px;
  margin-left: 200px
}

body.body-ja.body-page-id-8687 .gm2area ul {
  margin-bottom: 50px
}

body.body-ja.body-page-id-8687 .gm1area li,
body.body-ja.body-page-id-8687 .gm2area li {
  overflow: hidden;
  border: 2px solid #ccc;
  background: #ccc
}

body.body-ja.body-page-id-8687 .gm1area li a,
body.body-ja.body-page-id-8687 .gm1area li h5,
body.body-ja.body-page-id-8687 .gm2area li a,
body.body-ja.body-page-id-8687 .gm2area li h5 {
  display: block
}

body.body-ja.body-page-id-8687 .gm1area li p,
body.body-ja.body-page-id-8687 .gm2area li p {
  line-height: 0;
  margin-bottom: 0
}

body.body-ja.body-page-id-8687 .areaTitle {
  position: absolute;
  top: -24px;
  left: 13px;
  padding: 0 8px;
  background-color: #fff
}

body.body-ja.body-page-id-8687 .areaTitle * {
  float: left
}

body.body-ja.body-page-id-8687 .areaTitle h4 {
  margin: 14px 0 0 8px
}

body.body-ja.body-page-id-8687 .gm1item {
  position: absolute;
  top: 40px;
  left: 25px;
  width: 156px
}

body.body-ja.body-page-id-8687 .gm1item li {
  margin-bottom: 25px
}

body.body-ja.body-page-id-8687 .gm2item {
  position: relative;
  top: 30px;
  left: 25px
}

body.body-ja.body-page-id-8687 .gm2item li {
  float: left;
  margin: 0 25px 10px 0;
  position: relative;
  width: 156px;
  height: 150px;
  background-color: #ccc
}

@media (max-width:689px) {
  body.body-ja.body-page-id-8687 .gmarea-wrapper {
    overflow-x: scroll
  }
}

.body-ja.body-page-id-8689 .merit {
  display: inline-block;
  margin-right: 20px;
  padding-bottom: 20px;
  border: 2px solid red;
  vertical-align: top
}

.body-ja.body-page-id-8689 .merit .merit-title {
  margin-bottom: 10px;
  padding: 5px 20px;
  background: red;
  color: #fff
}

.body-ja.body-page-id-8689 .merit .merit-point {
  margin-bottom: 5px;
  padding: 0 20px;
  color: red
}

.body-ja.body-page-id-8689 .merit p,
.body-ja.body-page-id-8689 .merit ul {
  padding: 0 20px
}

.body-ja.body-page-id-8689 .merit ul {
  margin: 0
}

.body-ja.body-page-id-8689 .item_list {
  border-collapse: collapse;
  border: 1px solid #1d2087
}

.body-ja.body-page-id-8689 .item_list th {
  padding: 0 5px;
  color: #fff;
  background-color: #6292fe;
  border: 1px solid #1d2087
}

.body-ja.body-page-id-8689 .item_list td {
  padding: 5px 8px;
  font-size: 13px;
  text-align: center;
  vertical-align: top;
  border: 1px solid #1d2087
}

.body-ja.body-page-id-8689 .td1 {
  width: 20px;
  vertical-align: middle
}

.body-ja.body-page-id-8689 .td2 {
  width: 80px;
  vertical-align: middle
}

.body-ja.body-page-id-8689 .td3 {
  width: 400px;
  text-align: left
}

.body-ja.body-page-id-8689 .td4,
.body-ja.body-page-id-8689 .td5,
.body-ja.body-page-id-8689 .td6,
.body-ja.body-page-id-8689 .td7 {
  width: 15px;
  vertical-align: middle
}

.body-ja.body-page-id-8699 .gm-members {
  position: relative
}

.body-ja.body-page-id-8699 .gm-members::before {
  content: "";
  display: block;
  border-top: solid 5px;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 45%;
  z-index: 1
}

.body-ja.body-page-id-8699 .gm-members img {
  position: relative;
  z-index: 10;
  display: inline-block;
  vertical-align: middle;
  background: #fff
}

.body-ja.body-page-id-8699 .gm-members.gm1::before {
  border-color: #fbc300
}

.body-ja.body-page-id-8699 .gm-members.gm2::before {
  border-color: #d32f29
}

.body-ja.body-page-id-8699 .gm-members-text {
  position: relative;
  z-index: 10;
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: middle;
  font-size: 22px;
  font-weight: 700;
  background: #fff
}

.body-ja.body-page-id-8699 #main td {
  padding: 0;
  border: 1px solid #ccc
}

.body-ja.body-page-id-8699 #main .td0 {
  width: 60px;
  border-width: 0 1px 0 0
}

.body-ja.body-page-id-8699 #main .td1 {
  width: 110px
}

.body-ja.body-page-id-8699 #main .td1 img {
  margin: auto;
  display: block
}

.body-ja.body-page-id-8699 #main .td2 {
  padding: 15px 0 0 15px;
  border-width: 1px 1px 0 0
}

.body-ja.body-page-id-8699 #main .td2 * {
  float: left
}

.body-ja.body-page-id-8699 #main .td2 p {
  margin: 5px 0 0 12px;
  color: red
}

.body-ja.body-page-id-8699 #main .td3 {
  padding: 5px 0 0 30px;
  letter-spacing: 1px;
  border-width: 0 1px 0 0
}

.body-ja.body-page-id-8699 #main .grid-row3 td {
  padding-bottom: 4px;
  border-width: 0 0 1px
}

.body-ja.body-page-id-8699 #main .grid-row3 .td4 {
  width: 32px;
  padding-left: 30px
}

.body-ja.body-page-id-8699 #main .grid-row3 .td5 {
  width: 32px
}

.body-ja.body-page-id-8699 #main .grid-row3 .td6 {
  width: 140px;
  letter-spacing: 1px
}

.body-ja.body-page-id-8699 #main .grid-row3 .td7 {
  font-size: 93%;
  border-right-width: 1px
}

.body-ja.body-page-id-8699 #main .grid-row4 td {
  border-width: 0
}

.body-ja.body-page-id-6681 .flow {
  float: left
}

.body-ja.body-page-id-6681 .softs {
  float: right;
  margin-top: 7px
}

.body-ja.body-page-id-6681 .softs>div {
  width: 390px;
  margin-bottom: 8px;
  padding: 10px 10px 5px;
  border: 2px solid #1d2087
}

.body-ja.body-page-id-6681 .softs>div>div {
  overflow: hidden;
  padding-top: 3px
}

.body-ja.body-page-id-6681 .soft-title {
  padding: 0 !important
}

.body-ja.body-page-id-6681 .soft-title .soft-title-text {
  float: left;
  font-size: 14px;
  line-height: 1.2
}

.body-ja.body-page-id-6681 .soft-title .soft-title-text span {
  padding-right: 3px;
  color: #1d2087
}

.body-ja.body-page-id-6681 .soft-title .soft-link-to {
  float: right;
  font-weight: 400;
  font-size: 14px
}

.body-ja.body-page-id-6681 .icon {
  float: left;
  margin-right: 5px
}

.body-ja.body-page-id-6681 .logo {
  display: block;
  margin-bottom: 5px
}

.body-ja.body-page-id-6681 p {
  margin: 0 0 0 10px
}

.body-ja.body-page-id-6681 .icon {
  float: left
}

.body-ja.body-page-id-6681 .soft2 p {
  display: inline;
  margin: 0;
  line-height: 1.4
}

.body-ja.body-page-id-8094 .headline-1.half {
  width: 48%
}

.body-ja.body-page-id-8338 .table-content td:last-child {
  text-align: right
}

.body-en.body-page-id-447 .table-title,
.body-ja.body-page-id-15474 .table-title {
  text-decoration: none
}

.body-en.body-page-id-447 table.lined,
.body-ja.body-page-id-15474 table.lined {
  border-bottom: 1px solid rgba(40, 40, 40, .15)
}

.body-en.body-page-id-447 table.lined td,
.body-ja.body-page-id-15474 table.lined td {
  vertical-align: top;
  border: none
}

.body-en.body-page-id-447 table.lined tr:first-child td,
.body-ja.body-page-id-15474 table.lined tr:first-child td {
  font-size: 16px
}

.body-en.body-page-id-447 .doc-pdf,
.body-ja.body-page-id-15474 .doc-pdf {
  float: right
}

@media (min-width:689px) {
  .body-calendar .table-content.col2.tr-left th {
    width: 180px;
    text-align: left
  }
}

@media (max-width:689px) {
  .body-calendar .table-content.col2.tr-left th {
    border-bottom-width: 0;
    text-align: left;
    padding-bottom: 5px
  }

  .body-calendar .table-content.col2.tr-left td {
    padding-top: 5px
  }
}

.body-facilities .grid-column-inner>.text-content {
  height: 100%
}

.media .pull-left {
  display: none !important
}

.wpdm-download-link {
  color: #2199e8
}

.w3eden .mt-0 {
  letter-spacing: normal
}

.field-detail-headline {
  position: relative;
  margin-top: 40px;
  margin-bottom: 20px;
  padding-left: 15px;
  font-weight: 700;
  font-size: 18px
}

.select-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.select-fields .select-field {
  line-height: 0;
  width: calc(33.3% - 8px)
}

@media (min-width:689px) {
  .select-fields .select-field {
    width: calc(20% - 8px)
  }
}

.select-fields .select-field img {
  margin-bottom: -1px;
  box-sizing: border-box
}

.select-fields .select-field-thumb:hover {
  cursor: pointer;
  opacity: .8
}

.select-fields .select-field-button {
  display: block;
  width: 100%;
  padding: 10px;
  white-space: nowrap;
  line-height: 1.6em
}

.select-fields .select-field-button:hover {
  cursor: pointer
}

.structure-archives {
  margin-top: 50px;
  justify-content: flex-start;
  margin-left: -10px;
  margin-right: -10px
}

.structure-archives .structure-item-wrapper {
  margin-bottom: 20px
}

.structure-archives .structure-headline {
  padding: 5px 10px
}

.structure-archives .structure-image {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  box-sizing: border-box
}

.structure-archives .structure-image img {
  width: initial
}

.structure-archives .structure-footer {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-end;
  flex-wrap: wrap;
  box-sizing: border-box;
  width: 100%;
  padding: 0 10px
}

.structure-archives .structure-summary {
  padding-bottom: 10px
}

.structure-archives .structure-tags {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 150px;
  padding-bottom: 10px
}

.structure-archives .structure-tags .structure-cat,
.structure-archives .structure-tags .structure-tag {
  min-width: 50%
}

.structure-archives .structure-cat,
.structure-archives .structure-tag {
  position: relative;
  display: inline-block;
  padding-left: 50px
}

.structure-archives .structure-cat li,
.structure-archives .structure-tag li {
  display: inline-block;
  margin-right: 10px;
  font-size: 13px;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 1em
}

.structure-archives .structure-cat li:first-child,
.structure-archives .structure-tag li:first-child {
  position: absolute;
  top: 2px;
  left: 0
}

.structure-archives .structure-cat {
  margin-bottom: 5px
}

.structure-archives .structure-tag-label {
  width: 50px
}

.structure-archives .structure-tag-name {
  padding-left: 5px;
  padding-right: 5px
}

.structure-archives .structure-links {
  padding-bottom: 10px
}

.structure-archives .structure-links li.structure-link-detail a {
  display: inline-block;
  white-space: nowrap;
  padding: 2px 18px
}

@media (min-width:980px) {
  .structure-archives .grid-column-inner {
    padding-left: 10px;
    padding-right: 10px
  }
}

@media (max-width:1240px) {
  .structure-archives .structure-footer {
    flex-direction: column;
    align-items: flex-start
  }

  .structure-archives .structure-links {
    margin-left: auto
  }
}

.is-hidden-item {
  display: none !important
}

details {
  margin-bottom: 25px
}

summary {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 40px;
  margin-left: 20px;
  margin-right: 20px
}

summary:hover {
  cursor: pointer
}

summary::after {
  content: "\f067";
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  padding: 5px 10px
}

details[open] summary {
  margin-bottom: 20px
}

details[open] summary::after {
  content: "\f068"
}

.details-inner {
  overflow: hidden;
  padding: 20px
}

.details-inner>:first-child {
  margin-top: 0
}

@media (max-width:689px) {
  summary {
    padding-top: 10px;
    padding-bottom: 10px;
    margin-left: 10px;
    margin-right: 10px
  }

  summary::after {
    padding: 2px 6px
  }

  .details-inner {
    padding: 10px
  }
}

.no-flexbox .header-logo {
  width: 1000px;
  width: calc(100% - 250px)
}

.no-flexbox .logo-sub-image {
  max-width: 700px;
  max-width: calc(100% - 300px);
  float: right;
  margin-top: 20px
}

.no-flexbox .header-info {
  display: inline-block;
  float: right;
  width: 250px;
  margin-top: 20px
}

.no-flexbox form.search {
  text-align: left
}

.body-home .headline-h2,
.body-home .headline-h3 {
  border: none
}

.body-home .headline-h2::before,
.body-home .headline-h3::before {
  content: initial
}

.body-home .gallery {
  margin-left: 0;
  margin-right: 0
}

.body-home .gallery-image a:hover {
  opacity: .8
}

.body-home .news-list {
  overflow-y: auto;
  margin-bottom: 0
}

.body-home .container {
  background: linear-gradient(135deg, #fff 0, #fff 40%, #dedede 40%, #dedede 100%)
}

.body-home .content-body>.block-content {
  overflow: hidden;
  background-color: #fff
}

.body-home .slick-track {
  display: flex;
  align-items: center;
  justify-content: center
}

.body-home .slick-slide {
  text-align: center
}

.body-home .slick-img {
  width: 100%
}

.body-home #main {
  padding-bottom: 0
}

#toppage-news-link-tab {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0
}

#accordion-panel {
  margin: 0;
  justify-content: flex-start
}

#accordion-panel .grid-column {
  text-align: center;
  padding: 0
}

#accordion-panel .panel-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 5px;
  text-align: center;
  color: #0071bc;
  border: 1px solid rgba(40, 40, 40, .15);
  margin-bottom: -1px;
  height: 2em;
  line-height: 1em
}

#accordion-panel .panel-link.active,
#accordion-panel .panel-link:hover {
  background: #0071bc;
  color: #fff;
  text-decoration: none
}

@media (min-width:689px) {
  #accordion-panel .panel-link {
    margin-bottom: 10px;
    font-size: 12px
  }

  #accordion-panel .panel-link.active::before {
    content: "";
    position: absolute;
    top: 100%;
    margin-top: -10px;
    font-size: 50px;
    text-align: center;
    color: #0071bc;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1px;
    line-height: 1em;
    border: 20px solid transparent;
    border-top-color: #0071bc
  }
}

#news-hr,
#news-ir,
#news-news,
#news-release {
  display: none
}

@media (min-width:689px) {
  .body-home .news-list {
    padding: 5px 0 0;
    max-height: 258px
  }

  .body-home .news-list-item {
    flex-direction: row;
    padding-top: 5px;
    padding-bottom: 5px
  }

  .body-home .news-list-meta {
    margin-right: 20px;
    margin-bottom: 0
  }
}

@media (max-width:980px) {
  .body-home .news-lists {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0
  }

  .body-home .news-list {
    max-height: 300px
  }
}

#toppage-eyecatch {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 20px;
  margin: 0 0 20px;
  padding: 0
}

@media (min-width:980px) {
  #toppage-eyecatch {
    flex-direction: row;
    margin-top: 30px
  }

  #toppage-eyecatch>.snippet-content {
    width: 66.66667%
  }

  #toppage-eyecatch>.slick-images-wrapper {
    width: 33.33333%
  }
}

@media (max-width:980px) {
  #toppage-eyecatch {
    flex-direction: column-reverse;
    margin-bottom: 20px
  }
}

#toppage-about .headline-h2,
#toppage-product .headline-h2,
#toppage-recommend .headline-h2 {
  text-align: center
}

#toppage-about .headline-h2 .maintext,
#toppage-product .headline-h2 .maintext,
#toppage-recommend .headline-h2 .maintext {
  display: block;
  font-size: 32px
}

#toppage-about .headline-h2::after,
#toppage-product .headline-h2::after,
#toppage-recommend .headline-h2::after {
  font-size: 26px
}

#toppage-product .headline-h3 {
  text-align: center;
  background: 0 0
}

#toppage-product .headline-h3 .maintext {
  font-size: 26px;
  color: #fff
}

@media (max-width:689px) {

  #toppage-about .headline-h2 .maintext,
  #toppage-product .headline-h2 .maintext,
  #toppage-recommend .headline-h2 .maintext {
    font-size: 28px
  }

  #toppage-about .headline-h2::after,
  #toppage-product .headline-h2::after,
  #toppage-recommend .headline-h2::after {
    font-size: 22px
  }

  #toppage-product .headline-h3 .maintext {
    font-size: 22px
  }
}

#toppage-award .gallery-item {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0
}

#toppage-about {
  display: flex;
  flex-direction: row;
  padding-top: 50px;
  padding-bottom: 50px;
  align-items: center;
  justify-content: center;
  gap: 50px;
  background: rgba(71, 166, 228, .8)
}

#toppage-about .text-content {
  width: 33.33333%;
  color: #fff;
  font-size: 15px
}

#toppage-about .text-content p {
  padding-left: 20px;
  padding-right: 20px
}

#toppage-about .headline-h2 {
  text-align: center;
  color: #fff
}

#toppage-about .headline-h2 .maintext,
#toppage-about .headline-h2 .subtext {
  display: block
}

#toppage-about .gallery {
  width: 66.66667%;
  flex-direction: column;
  margin-bottom: 0
}

#toppage-about .gallery .gallery-item {
  width: 100%;
  margin-bottom: 20px
}

#toppage-about .gallery .gallery-item:last-child {
  margin-bottom: 0
}

#toppage-about .gallery .gallery-text {
  display: flex;
  flex: 1;
  width: 100%;
  background-color: #fff;
  flex-direction: column;
  padding: 20px;
  box-sizing: border-box
}

#toppage-about .gallery .gallery-image {
  max-width: 40%;
  line-height: 0
}

#toppage-about .gallery .gallery-image a {
  display: flex;
  height: 100%;
  justify-content: center
}

#toppage-about .gallery .gallery-image img {
  height: 100%;
  object-fit: cover
}

#toppage-about .gallery .gallery-content {
  display: flex;
  flex-direction: row;
  justify-content: center
}

#toppage-about .gallery a.gallery-content:hover {
  opacity: .9
}

#toppage-about .gallery .gallery-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
  padding-bottom: 10px;
  font-size: 20px;
  border-bottom: 2px solid #0071bc
}

#toppage-about .gallery .gallery-caption {
  font-size: 15px
}

#toppage-about .about-links {
  display: inline-block;
  margin: 0 auto;
  text-align: left
}

#toppage-about .about-links br {
  display: none
}

#toppage-about .about-links .about-link {
  display: block;
  line-height: 1.8em
}

#toppage-about .about-links .about-link::before {
  content: "＞ "
}

#toppage-about .about-links a {
  color: #0071bc
}

@media (max-width:980px) {
  #toppage-about {
    flex-direction: column
  }

  #toppage-about .gallery,
  #toppage-about .text-content {
    width: 100%
  }
}

@media (max-width:689px) {
  #toppage-about .gallery .gallery-content {
    flex-direction: column
  }

  #toppage-about .gallery .gallery-image,
  #toppage-about .gallery .gallery-text {
    max-width: 100%;
    width: 100%
  }

  #toppage-about .gallery .gallery-image img,
  #toppage-about .gallery .gallery-text img {
    width: 100%
  }

  #toppage-about .gallery-text a {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

#toppage-product {
  background: rgba(0, 113, 188, .8);
  color: #fff;
  padding-top: 50px;
  padding-bottom: 30px
}

#toppage-product .silent-piler-content {
  margin: 0
}

#toppage-product .silent-piler-content .left-content {
  max-width: 50%
}

#toppage-product .silent-piler-content .left-content .grid-column-inner {
  display: flex;
  justify-content: center
}

#toppage-product .silent-piler-content .left-content img {
  object-fit: contain
}

#toppage-product .silent-piler-content .right-content {
  max-width: 50%;
  padding-left: 50px;
  padding-right: 20px
}

#toppage-product .silent-piler-title {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 10px
}

#toppage-product .silent-piler-title .maintext,
#toppage-product .silent-piler-title .subtext {
  display: block;
  line-height: 1.6em
}

#toppage-product .silent-piler-title .maintext {
  font-size: 24px;
  margin-bottom: 5px
}

#toppage-product .silent-piler-title .subtext {
  font-size: 32px
}

#toppage-product .silent-piler-title::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200px;
  border-top: 2px solid #fff
}

#toppage-product .silent-piler-links {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  margin-top: 0;
  margin-bottom: 0
}

#toppage-product .silent-piler-links li {
  display: inline-block;
  background: 0 0;
  padding: 0;
  margin-bottom: 10px
}

#toppage-product .silent-piler-links li a {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  width: 120px;
  background: #fff;
  color: #282828
}

#toppage-product .silent-piler-links li a::after {
  content: "\f054";
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #282828;
  right: 10px
}

#toppage-product .silent-piler-links li a:hover {
  text-decoration: none;
  opacity: .8
}

#toppage-product .gallery {
  margin: 30px auto 0;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 1400px;
  flex-direction: row
}

#toppage-product .gallery img {
  width: 100%
}

#toppage-product .gallery-content {
  display: flex;
  position: relative;
  width: 100%;
  flex-direction: column;
  background: #fff
}

#toppage-product a.gallery-content:hover {
  opacity: .9
}

#toppage-product .gallery-item {
  display: flex;
  margin-bottom: 20px;
  padding: 0
}

#toppage-product .gallery-image,
#toppage-product .gallery-text {
  width: 100%
}

#toppage-product .gallery-image {
  line-height: 0
}

#toppage-product .gallery-image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

#toppage-product .gallery-text {
  display: flex;
  flex-direction: column;
  padding: 10px;
  background: rgba(255, 255, 255, .9);
  box-sizing: border-box
}

#toppage-product .gallery-caption,
#toppage-product .gallery-title {
  margin-bottom: 0;
  padding: 10px;
  color: #282828
}

#toppage-product .gallery-title {
  font-size: 20px;
  font-weight: 700
}

#toppage-product .gallery-caption {
  text-align: left
}

@media (max-width:980px) {
  #toppage-product {
    padding-bottom: 20px
  }

  #toppage-product .silent-piler-content {
    flex-direction: column-reverse
  }

  #toppage-product .silent-piler-content .left-content,
  #toppage-product .silent-piler-content .right-content {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0
  }

  #toppage-product .silent-piler-links {
    justify-content: space-evenly;
    margin-bottom: 20px
  }
}

@media (max-width:689px) {
  #toppage-product {
    padding-left: 0;
    padding-right: 0
  }

  #toppage-product .silent-piler-title .maintext {
    font-size: 22px
  }

  #toppage-product .silent-piler-title .subtext {
    font-size: 28px
  }
}

@media (max-width:1240px) {
  #toppage-product .gallery {
    margin-left: -10px;
    margin-right: -10px
  }

  #toppage-product .gallery-item {
    padding-left: 10px;
    padding-right: 10px
  }

  #toppage-product .silent-piler-content .left-content img {
    object-fit: initial
  }
}

@media (min-width:1240px) {
  #toppage-product .silent-piler-content .right-content {
    padding-right: 50px
  }

  #toppage-product .gallery {
    margin-left: -20px;
    margin-right: -20px
  }

  #toppage-product .gallery-item {
    padding-left: 20px;
    padding-right: 20px
  }
}

#toppage-recommend {
  overflow: hidden;
  padding: 100px 0 50px
}

#toppage-recommend .headline-h2 {
  text-align: center
}

#toppage-recommend .slick-slider {
  padding-bottom: 50px
}

#toppage-recommend .slick-slide {
  margin-bottom: 0
}

#toppage-recommend .slick-next,
#toppage-recommend .slick-prev {
  padding-right: 5px;
  border-radius: 50%;
  color: #fff;
  top: calc(50% - 48px)
}

#toppage-recommend .slick-next:hover,
#toppage-recommend .slick-prev:hover {
  opacity: 1
}

#toppage-recommend .layout-slick.gallery {
  overflow: initial
}

#toppage-recommend .gallery-content,
#toppage-recommend .gallery-item {
  padding: 0
}

#toppage-recommend .gallery-item {
  background: rgba(0, 113, 188, .15);
  margin-left: 30px;
  margin-right: 30px
}

#toppage-recommend .slick-dots {
  bottom: 0
}

@media (min-width:689px) {
  #toppage-recommend .layout-slick {
    margin-left: auto;
    margin-right: auto
  }

  #toppage-recommend .slick-next,
  #toppage-recommend .slick-prev {
    width: 40px;
    height: 45px
  }
}

@media (min-width:920px) {
  #toppage-recommend .gallery-item {
    max-width: 100%
  }

  #toppage-recommend .layout-slick.gallery {
    min-width: 920px
  }
}

@media (max-width:689px) {
  #toppage-recommend .gallery-text {
    width: 100%;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px
  }

  #toppage-recommend .gallery-text a {
    width: 100%
  }

  #toppage-recommend .slick-prev {
    left: 15px
  }

  #toppage-recommend .slick-next {
    right: 15px
  }
}

#toppage-sdgs {
  background: linear-gradient(45deg, #d4eec7, #ddf2d3)
}

#toppage-sdgs .gallery {
  justify-content: center;
  margin: 0
}

#toppage-sdgs .gallery-item {
  max-width: 830px;
  margin: 0;
  padding: 0
}

#toppage-sdgs .gallery-content {
  position: relative
}

#toppage-sdgs .gallery-left-image {
  float: initial;
  margin-left: 0;
  line-height: 0
}

#toppage-sdgs .gallery-left-image img {
  width: 100%
}

#toppage-sdgs .gallery-right-content {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%)
}

#toppage-sdgs .gallery-caption,
#toppage-sdgs .gallery-title {
  font-weight: 700;
  text-align: center;
  color: #fff;
  text-shadow: 1px 2px 3px #282828
}

#toppage-sdgs .gallery-title {
  font-size: 36px
}

#toppage-sdgs .gallery-caption {
  font-size: 28px
}

@media (max-width:689px) {
  #toppage-sdgs {
    padding-top: 10px;
    padding-bottom: 10px
  }

  #toppage-sdgs .gallery-title {
    font-size: 24px
  }

  #toppage-sdgs .gallery-caption {
    font-size: 18px
  }
}

#toppage-banner .gallery {
  margin: 50px auto 50px;
  padding-left: 20px;
  padding-right: 20px
}

@media (min-width:689px) {
  #toppage-banner {
    padding-left: 0;
    padding-right: 0
  }

  #toppage-banner .gallery {
    max-width: 1240px
  }
}

@media (max-width:689px) {
  #toppage-banner .gallery {
    margin-left: -5px;
    margin-right: -5px
  }

  #toppage-banner .gallery-item {
    margin-bottom: 5px;
    padding-left: 5px;
    padding-right: 5px
  }

  #toppage-banner .gallery-content {
    margin-bottom: 5px
  }
}

body {
  color: #282828
}

a,
a:hover {
  color: #0071bc
}

.header {
  background-color: #fff
}

.multilang-menu a {
  color: #282828;
  border-right: 1px solid #282828
}

.multilang-menu .selected {
  color: #fff;
  background-color: #0071bc
}

.multilang-menu li:last-child a {
  border-right-width: 0
}

.header-smp-menu .multilang-menu li {
  border-bottom: 0
}

.header-smp-menu .multilang-menu a {
  border-right: 0;
  color: #282828;
  background: #fff
}

.header-links a {
  color: #282828
}

.header-links a:hover {
  text-decoration: underline
}

.global-nav {
  background: #fff
}

.global-nav .primary-menu-item {
  color: #282828
}

.global-nav .primary-menu-item:hover {
  color: #0071bc;
  background-color: #d9eaf5;
  cursor: pointer
}

.global-nav .header-menu .has-dropdown .primary-menu-item,
.global-nav::before {
  border-top-color: #0071bc
}

.global-nav .header-menu>.menu-item:hover .primary-menu-item {
  position: relative;
  color: #fff;
  background-color: #0071bc
}

.global-nav .header-menu>.menu-item:hover .primary-menu-item::before {
  border-top-color: #fff
}

.global-nav .header-dropmenu .header-dropmenu-inner a {
  color: #fff
}

.global-nav .sub-menu {
  background: #d1251a
}

.global-nav .sub-menu a,
.global-nav .sub-menu span {
  color: #fff
}

.global-nav .sub-menu a:hover,
.global-nav .sub-menu span:hover {
  color: #d1251a;
  background-color: #fff
}

@media (min-width:689px) {

  .header-menu .has-dropdown>a::before,
  .header-menu .has-dropdown>span::before {
    border: 4px solid transparent;
    border-top-color: #fff
  }

  .header-menu .has-dropdown>a::before::before,
  .header-menu .has-dropdown>span::before::before {
    border-top-color: #0071bc
  }

  .header-dropmenu {
    background: #0071bc
  }

  .header-dropmenu a,
  .header-dropmenu span {
    color: #fff
  }

  .header-dropmenu a:hover {
    color: #fff;
    background-color: transparent;
    text-decoration: underline
  }

  .header-dropmenu-items>li {
    border-right: 1px solid #fff
  }

  .header-dropmenu-items>li:last-child,
  .header-dropmenu-items>li:nth-child(5n) {
    border-right: none
  }

  .header-dropmenu-sub li a::before {
    color: #fff
  }
}

.header-smp-menu {
  background-color: #0071bc
}

.header-smp-menu .menu-item {
  border-bottom: 1px dashed #fff
}

.header-smp-menu a,
.header-smp-menu span {
  color: #fff
}

.header-smp-menu .header-dropmenu {
  background-color: #e0e0e0
}

.header-smp-menu .header-dropmenu .header-dropmenu-link {
  color: #282828
}

.header-smp-menu .header-dropmenu-items li {
  border-bottom: 1px solid #fff
}

.header-smp-menu .header-dropmenu-items li:last-child {
  border-bottom: none
}

.header-smp-menu .header-dropmenu-sub li {
  border: none
}

.header-smp-menu .header-dropmenu-sub a,
.header-smp-menu .header-dropmenu-sub span {
  color: #282828
}

.header-smp-menu .primary-menu-item:hover {
  cursor: pointer
}

@media (min-width:689px) {
  .search .search-text {
    border: 2px solid #0071bc
  }
}

.side-title {
  border-top: 5px solid rgba(40, 40, 40, .15)
}

.related-posts>li:nth-child(odd) {
  background-color: rgba(40, 40, 40, .07)
}

.related-posts>li:nth-child(even) {
  background-color: rgba(40, 40, 40, .15)
}

.related-posts a {
  color: #282828
}

.related-posts a:hover {
  background-color: rgba(40, 40, 40, .22)
}

.related-posts li.active>a {
  background: #0071bc url(../images/icon/list/ffffff.gif) 12px center no-repeat;
  color: #fff
}

.related-posts .leaf-posts {
  border-top: 1px solid rgba(40, 40, 40, .15)
}

.related-posts .leaf-posts .leaf-layer:nth-child(odd) {
  background-color: rgba(222, 222, 222, .44)
}

.related-posts .leaf-posts .leaf-layer:nth-child(even) {
  background-color: rgba(222, 222, 222, .88)
}

.related-posts .leaf-posts li.active>a {
  background-image: none
}

.recent-post-list {
  border-top: 1px solid rgba(40, 40, 40, .22)
}

.recent-post-list a {
  color: #282828
}

.recent-post-link:hover {
  text-decoration: underline
}

.footer-upper-title.search .title-text {
  color: #0071bc;
  background-image: url(../images/icon/footer-upper-search.png)
}

.footer-upper-title.video .title-text {
  color: #fff;
  background-image: url(../images/icon/footer-upper-video.png)
}

.footer-upper-title.link .title-text {
  background-image: url(../images/icon/footer-upper-link.png)
}

.footer-upper-link td,
.footer-upper-link th {
  border-bottom: 1px solid rgba(40, 40, 40, .15)
}

.footer-upper-link tr:last-child td,
.footer-upper-link tr:last-child th {
  border-bottom-width: 0
}

.footer-search-link {
  position: relative;
  position-position: relative
}

.footer-search-link::after {
  position: absolute;
  content: "\f144";
  top: calc(50% - 12px);
  right: 10px;
  font-size: 24px;
  font-family: FontAwesome
}

.footer-search-link.blue {
  color: #fff;
  background: #0071bc
}

.footer-search-link.blue:hover {
  background: #005a96
}

.footer-search-link.red {
  color: #fff;
  background: #d1251a
}

.footer-search-link.red:hover {
  background: #a8160f
}

.footer-content {
  background: #fff
}

.footer-upper-link a {
  color: #282828
}

.footer-contact {
  background-color: #0071bc
}

.footer-contact .footer-contact-link {
  color: #0071bc;
  background-color: #fff
}

.footer-contact .footer-contact-link:hover {
  background-color: #d9eaf5
}

.footer {
  background-color: #646464;
  color: #fff
}

.footer a {
  color: #fff
}

.footer .line {
  color: #fff;
  background: #282828
}

.footer-list-title {
  border-bottom: 1px solid #fff
}

#pagetop {
  background: #f7f7f7;
  border: 3px solid #fff;
  color: #898989;
  transition: all .25s ease-in-out
}

#pagetop:hover {
  background-color: #0071bc;
  border-color: #0071bc;
  color: #fff
}

.page-title-container {
  background: rgba(40, 40, 40, .07)
}

.page-title-container .page-title {
  color: #282828
}

@media (max-width:689px) {
  .breadcrumb-wrapper {
    background: #fff
  }
}

.breadcrumb a {
  color: #282828
}

details {
  border: 4px solid rgba(40, 40, 40, .15)
}

details summary::after {
  border: 2px solid rgba(40, 40, 40, .15);
  border-radius: 3px;
  color: rgba(40, 40, 40, .15);
  background-color: rgba(40, 40, 40, .05)
}

details summary::after summary:hover::after {
  opacity: .7
}

details[open] summary {
  border-bottom: 2px solid rgba(40, 40, 40, .15)
}

summary {
  font-size: 18px;
  font-weight: 700
}

.eyecatch {
  background: #efefef
}

.eyecatch .tparrows {
  background: 0 0
}

.eyecatch .tparrows.tp-leftarrow::before {
  content: url(../images/slideshow/left-arrow.png)
}

.eyecatch .tparrows.tp-rightarrow::before {
  content: url(../images/slideshow/right-arrow.png)
}

.eyecatch .hesperiden .tp-bullet {
  background: 0 0;
  border: none
}

.eyecatch .hesperiden .tp-bullet::before {
  content: url(../images/slideshow/active-slide.png)
}

.eyecatch .hesperiden .tp-bullet.selected::before {
  content: url(../images/slideshow/inactive-slide.png)
}

.icon-menus-blue .icon-menu {
  background: #282828
}

.icon-menus-blue .icon-menu-title {
  font-weight: 700;
  color: #fff
}

.icon-menus-blue .grid-column .icon-menu-title {
  background-color: #0071bc
}

.icon-menus-gray .icon-menu {
  background: #282828;
  border: 1px solid #0071bc
}

.icon-menus-gray .icon-menu:hover .icon-menu-image,
.icon-menus-gray .icon-menu:hover .icon-menu-title {
  opacity: .85
}

.icon-menus-gray .icon-menu-title {
  color: #0071bc;
  background-color: #fff
}

body.body-home .icon-menus-gray {
  margin-bottom: 50px
}

.news-list {
  border-top: solid 1px #0071bc;
  border-bottom: solid 1px #0071bc
}

.news-list a {
  color: #282828
}

.news-list li {
  border-bottom: 1px dashed #999
}

.news-list li:last-child {
  border-bottom-width: 0
}

.slick-posts .slick-post {
  border: 1px solid #999
}

.slick-posts .slick-post-title {
  color: #282828
}

.magazine-list a {
  color: #282828
}

.magazine-list a:hover {
  text-decoration: underline
}

body.body-category .news-list {
  border-top-width: 0;
  border-bottom-width: 0
}

body.body-category .news-list li {
  border-bottom-width: 0
}

.news-category.cat-3,
.recent-post-tag.cat-3 {
  color: #fff;
  background-color: #0071bc;
  border: 1px solid #0071bc
}

.news-category.cat-4,
.recent-post-tag.cat-4 {
  color: #0071bc;
  border: 1px solid #0071bc
}

.news-category.cat-5,
.recent-post-tag.cat-5 {
  color: #ff8c00;
  border: 1px solid #ff8c00
}

.news-category.cat-6,
.recent-post-tag.cat-6 {
  color: #fff;
  background-color: #0ac;
  border: 1px solid #0ac
}

.news-category.cat-13,
.recent-post-tag.cat-13 {
  color: #fff;
  background-color: maroon;
  border: 1px solid maroon
}

body.body-single-post.body-magazine .news-category,
body.body-single-post.body-magazine .recent-post-tag {
  color: #fff;
  background-color: maroon;
  border: 1px solid maroon
}

.news-lists .list-title {
  color: #0071bc
}

.news-link-title.news-link-cat-3 {
  color: #fff;
  background-color: #0071bc;
  border: 2px solid #0071bc
}

.news-link-title.news-link-cat-3:hover {
  border-color: #005a96;
  background-color: #005a96
}

.news-link-title.news-link-cat-4 {
  color: #0071bc;
  border: 2px solid #0071bc
}

.news-link-title.news-link-cat-4:hover {
  color: #005a96;
  border-color: #005a96;
  background-color: rgba(40, 40, 40, .15)
}

.news-link-title.news-link-cat-5 {
  color: #ff8c00;
  border: 2px solid #ff8c00
}

.news-link-title.news-link-cat-5:hover {
  border-color: #d37706;
  background-color: rgba(40, 40, 40, .15)
}

.news-link-title.news-link-cat-6 {
  color: #fff;
  background-color: #0ac;
  border: 2px solid #0ac
}

.news-link-title.news-link-cat-6:hover {
  border-color: #007289;
  background-color: #007289
}

.catchcopy {
  border-bottom: 5px solid rgba(40, 40, 40, .15)
}

.pagination .page-numbers {
  background: rgba(40, 40, 40, .07);
  color: #282828
}

.pagination .page-numbers.current {
  background: #0071bc;
  color: #fff
}

.pagination a.page-numbers:hover {
  background: rgba(40, 40, 40, .15)
}

.image-box .image-box-title {
  color: #fff;
  background: #0071bc
}

.image-box .image-box-content {
  background: rgba(40, 40, 40, .07)
}

.image-box .image-box-image-wrapper {
  background: #282828
}

.image-box .image-box-subtext {
  color: #282828
}

.image-box .grid-column:hover .image-box-title {
  color: #fff;
  background: #005a96
}

.image-box .grid-column:hover .image-box-content {
  background: rgba(40, 40, 40, .15)
}

.headline-h2 {
  border-bottom: 3px solid rgba(40, 40, 40, .15)
}

.headline-h2::before {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 20%;
  height: 3px;
  content: "";
  background: #0071bc
}

.headline-h3 {
  color: #282828;
  background: rgba(40, 40, 40, .07)
}

.headline-h4 {
  color: #0071bc
}

.gallery a {
  color: inherit
}

.gallery .gallery-caption a {
  color: #0071bc
}

.gallery.layout-3 .gallery-caption {
  color: #999
}

body.body-home .gallery-content-inner {
  background: 0 0
}

.image-blue {
  background: rgba(0, 113, 188, .15);
  color: #fff
}

.image-blue .wp-caption-text {
  background: #0071bc
}

.text-content ul li {
  background: transparent url(../images/icon/ul.png) 0 center no-repeat
}

.text-content ol {
  border-top: 1px solid #282828
}

.text-content ol li {
  border-bottom: 1px solid #282828
}

.text-content .attention {
  background: rgba(0, 113, 188, .15)
}

.product-items .grid-column-inner {
  border: 1px solid rgba(40, 40, 40, .15)
}

.product-items .product-item-name {
  border-bottom: 1px solid rgba(40, 40, 40, .15)
}

.product-items .product-item-to-detail a {
  color: #fff;
  background-color: grey
}

.button-content.black a {
  color: #fff;
  background-color: grey
}

.button-content.blue a {
  color: #fff;
  background-color: #0071bc
}

.button-link .blue {
  color: #fff;
  background-color: #0071bc;
  border: 1px solid #0071bc
}

.button-link .blue:hover {
  border-color: #005a96;
  background-color: #005a96
}

.button-link .white {
  color: #0071bc;
  border: 1px solid #0071bc
}

.button-link .white:hover {
  color: #005a96;
  border-color: #005a96
}

.button-link .black {
  color: #ededed;
  background: #666
}

.button-link .black:hover {
  opacity: .85
}

.button-link .orange {
  color: #ff8c00;
  border: 1px solid #ff8c00
}

.button-link .orange:hover {
  border-color: #d37706;
  background-color: rgba(40, 40, 40, .15)
}

.button-link .green {
  color: #fff;
  background-color: #0ac;
  border: 1px solid #0ac
}

.button-link .green:hover {
  border-color: #007289;
  background-color: #007289
}

.news-list+.button-link .button-link-inner,
.slick-posts+.button-link .button-link-inner {
  color: #0071bc;
  border: none;
  background: 0 0
}

.news-list+.button-link .button-link-inner:hover,
.slick-posts+.button-link .button-link-inner:hover {
  background: 0 0;
  text-decoration: underline;
  opacity: .85
}

.pdf-list-table {
  border: 1px solid rgba(40, 40, 40, .15)
}

.pdf-list-table a {
  color: #282828
}

.doc-text-link {
  color: #fff !important;
  background-color: #8c8c8c !important;
  border-radius: 5px
}

a.doc-pdf::after {
  color: red
}

.link-video::after {
  color: #1e3050
}

.doc-doc {
  color: #fff !important;
  background-color: #00f !important;
  border-radius: 5px
}

.doc-zip {
  color: #fff !important;
  background-color: #282828 !important;
  border-radius: 5px
}

table.bordered {
  border: 1px solid rgba(40, 40, 40, .15)
}

table.bordered.col2.tr-top th {
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background-color: #0071bc;
  color: #fff
}

table.bordered.col2.tr-top td {
  border-right: 1px solid rgba(40, 40, 40, .15)
}

table.lined td,
table.lined th {
  border-top: 1px solid #282828;
  border-bottom: 1px solid #282828
}

.body-en.body-page-id-1534 .gallery-item-inner,
.body-ja.body-page-id-16510 .gallery-item-inner {
  border-bottom: 1px dashed #282828
}

table.tr-left th {
  background: #0071bc;
  color: #fff;
  border-bottom: 1px solid #fff
}

.body-ja.body-page-id-6442 table.tr-left th,
body-en.body-page-id-21183 table.tr-left th {
  color: #282828;
  background: 0 0;
  border-bottom-width: 0
}

.headline-bk-color {
  background-color: var(--cassette-back-color, rgba(40, 40, 40, .15))
}

.headline-border-left {
  border-left: 4px solid #0071bc
}

.headline-border-left-double.headline-border-left-double {
  padding-left: 20px;
  border-left: 4px solid #0071bc
}

.headline-border-left-double.headline-border-left-double::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 6px;
  background-color: var(--cassette-font-color, rgba(0, 113, 188, .75))
}

.headline-border-bottom {
  border-bottom: 2px solid var(--cassette-font-color, #0071bc)
}

.headline-shortline-center.headline-shortline-center,
.headline-shortline.headline-shortline {
  margin-bottom: 20px;
  padding-bottom: 10px
}

.headline-shortline-center.headline-shortline-center::before,
.headline-shortline.headline-shortline::before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 20%;
  border-top: 3px solid var(--cassette-font-color, #0071bc)
}

.headline-shortline {
  left: 0
}

.headline-shortline-center.headline-shortline-center {
  text-align: center
}

.headline-shortline-center.headline-shortline-center::before {
  left: 40%
}

.field-detail-headline {
  border-bottom: 2px solid rgba(40, 40, 40, .15)
}

.field-detail-headline::after,
.field-detail-headline::before {
  content: "";
  position: absolute;
  width: 5px;
  top: 3px;
  left: 0
}

.field-detail-headline::before {
  height: calc(60% - 6px);
  background: #0071bc
}

.field-detail-headline::after {
  height: calc(100% - 6px);
  background: rgba(0, 113, 188, .75)
}

.select-fields .select-field-button {
  background: 0 0;
  color: #0071bc;
  border: 1px solid #0071bc
}

.select-fields .is-selected .select-field-button,
.select-fields .select-field:hover .select-field-button {
  color: #fff;
  background-color: #0071bc
}

.select-fields .select-field img {
  border: 1px solid #0071bc
}

#select-tag .select-field-button {
  background: 0 0;
  color: #0ac;
  border: 1px solid #0ac
}

#select-tag .is-selected .select-field-button,
#select-tag .select-field:hover .select-field-button {
  color: #fff;
  background-color: #0ac
}

#select-tag .select-field img {
  border: 1px solid #0ac
}

.structure-item-wrapper {
  border: 1px solid rgba(40, 40, 40, .15)
}

.structure-item-wrapper .structure-headline {
  background: rgba(40, 40, 40, .15)
}

.structure-item-wrapper .structure-link-detail {
  background-color: #0071bc;
  border: 1px solid #0071bc
}

.structure-item-wrapper .structure-link-detail a {
  color: #fff
}

.structure-item-wrapper .structure-link-detail:hover {
  background-color: #fff
}

.structure-item-wrapper .structure-link-detail:hover a {
  color: #0071bc
}

.structure-cat .structure-tag-name {
  color: #0071bc;
  border: 1px solid #0071bc
}

.structure-tag .structure-tag-name {
  color: #0ac;
  border: 1px solid #0ac
}