<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-font-smoothing: subpixel-antialiased;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox &lt; 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 8/9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  padding: 0;
}

/* ----------------------------------------------------------------
	base
----------------------------------------------------------------- */

@media (max-width: 767px) {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
}

:where(body, button, input, select, textarea) {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", YuGothic, "游ゴシック", sans-serif;
}

html {
  margin: 0;
  padding: 0;
  overflow-x: clip;
}

body {
  margin: 0;
  padding: 0;
  color: #333;
  font-size: 13px;
  overflow-x: clip;
}

a {
  color: #333;
  text-decoration: none;
  outline: 0 none;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

a:hover,
a:active {
  color: #009fa8;
  text-decoration: none;
}

img {
  border: 0;
  line-height: 1;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}

sup {
  position: static;
  top: 0;
  vertical-align: super;
}

sub {
  position: static;
  top: 0;
  vertical-align: sub;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}
:root:has(dialog[open]) {
  overflow: hidden;
}
::-ms-backdrop {
  background-color: unset;
}
::backdrop {
  background-color: unset;
}

/* ----------------------------------------------------------------
  utility
----------------------------------------------------------------- */
.u-visually-hidden {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

/* ----------------------------------------------------------------
  header
----------------------------------------------------------------- */
.header {
  margin: 0;
  padding: 0;
  height: 138px;
  border-bottom: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  z-index: 10;
}
@media (max-width: 767px) {
  .header {
    height: 56px;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: white;
  }
}
.header .header-inner {
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
}
.header .header-inner &gt; [itemprop="name"] {
  margin: 0;
  padding: 0;
  position: absolute;
  top: 33px;
  left: 20px;
  width: 321px;
  height: auto;
}
@media (max-width: 900px) {
  .header .header-inner &gt; [itemprop="name"] {
    width: 250px;
  }
}
@media (max-width: 767px) {
  .header .header-inner &gt; [itemprop="name"] {
    width: 220px;
    top: 14px;
    left: 16px;
  }
}

.header .header-inner &gt; [itemprop="name"] a {
  display: block;
  overflow: hidden;
  height: 0;
  width: 100%;
  padding: 40px 0 0 0;
  background: url(/img/common/logo.png) no-repeat 0 0;
  background-size: 100% auto;
}

[lang="en"] .header .header-inner &gt; [itemprop="name"] {
  top: 29px;
  width: 190px;
}
@media (max-width: 767px) {
  [lang="en"] .header .header-inner &gt; [itemprop="name"] {
    top: 14px;
  }
}
[lang="en"] .header .header-inner &gt; [itemprop="name"] a {
  background-image: url(/english/img/common/logo.png);
  background-size: auto 100%;
  padding-top: 48px;
}
@media (max-width: 767px) {
  [lang="en"] .header .header-inner &gt; [itemprop="name"] a {
    width: 140px;
    padding-top: 27px;
  }
}

.header-sub__lang {
  position: absolute;
  top: 13px;
  right: 20px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 18px;
}
@media (max-width: 767px) {
  .header-sub__lang {
    display: none;
  }
}
.header-sub__lang ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.header-sub__lang li {
  float: left;
  margin: 0;
  padding: 0;
}
.header-sub__lang .lang-ja {
  padding-right: 15px;
  border-right: 1px solid #ddd;
}
.header-sub__lang .lang-en {
  padding-left: 15px;
}
.header-sub__lang .is-active {
  color: #009fa8;
}
.header-sub__lang a {
  text-decoration: underline;
}
.header-sub__lang a:hover {
  text-decoration: none;
  color: #009fa8;
}

.header-sub__sitemap {
  float: right;
  padding: 47px 0 0 20px;
  font-size: 13px;
}
@media (max-width: 767px) {
  .header-sub__sitemap {
    display: none;
  }
}
.header-sub__sitemap a {
  text-decoration: underline;
}
.header-sub__sitemap a:hover {
  text-decoration: none;
}

.header-sub__contact {
  float: right;
  padding: 41px 20px 0 20px;
}
@media (max-width: 767px) {
  .header-sub__contact {
    display: none;
  }
}
.header-sub__contact a {
  line-height: 28px;
  display: block;
  border-radius: 14px;
  padding: 0 15px 0 25px;
  background: #009fa8 url(/img/common/contact-btn_bg.png) repeat-x 0 0;
  color: #fff;
  font-size: 14px;
  position: relative;
}
.header-sub__contact a:hover {
  background: #009fa8;
}
.header-sub__contact a:before {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  background: url(/img/common/arrow-white.png) no-repeat 0 0;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  left: 13px;
  margin-top: -5px;
}

.header-sub__search {
  float: right;
  margin: 38px 0 0 0;
  padding: 0;
  border: 2px solid #f2f2f2;
  border-radius: 10px;
  width: 240px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .header-sub__search {
    width: 200px;
  }
}
@media (max-width: 767px) {
  .header-sub__search {
    display: none;
  }
}
.header-sub__search form {
  border: 1px solid #d1d1d1;
  height: 30px;
  line-height: 28px;
  border-radius: 9px;
  margin: 0;
  padding: 0;
  position: relative;
}
.header-sub__search form img {
  width: 0;
  height: 0;
  visibility: hidden;
}
.header-sub__search input {
  font-size: 13px;
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0 none;
  padding: 0 24px 0 15px;
  border-radius: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: transparent;
  outline: 0 none;
}
.header-sub__search button {
  border: 0 none;
  background: transparent url(/img/common/search-ico.png) no-repeat 0 0;
  background-size: 100% auto;
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 7px;
  right: 8px;
}

/* .header-nav */
.header-nav {
  position: absolute;
  top: 92px;
  left: 20px;
  width: calc(100% - 40px);
  height: 46px;
}
@media (max-width: 767px) {
  .header-nav {
    display: none;
  }
}
.header-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-nav li {
  margin: 0;
  padding: 0;
  width: 16.66%;
  float: left;
}
.header-nav li:first-child {
  width: 16.7%;
}
.header-nav li:first-child a:before {
  content: "";
  display: block;
  height: 30px;
  width: 1px;
  background-color: #ebeced;
  position: absolute;
  top: 0;
  left: 0;
}
.header-nav a {
  display: block;
  text-align: center;
  color: #1d2088;
  font-size: 16px;
  font-weight: bold;
  height: 30px;
  line-height: 30px;
  padding-bottom: 12px;
  border-bottom: 3px solid #fff;
  position: relative;
  -webkit-transition: color 0.3s, border-bottom-color 0.3s;
  transition: color 0.3s, border-bottom-color 0.3s;
}
html[lang="en"] .header-nav a {
  @media (max-width: 1024px) {
    font-size: 14px;
  }
}
.header-nav a:after {
  content: "";
  display: block;
  height: 30px;
  width: 1px;
  background-color: #ebeced;
  position: absolute;
  top: 0;
  right: 0;
}
.header-nav a:hover {
  color: #009fa8;
  border-bottom-color: #009fa8;
}
.header-nav .is-active {
  color: #009fa8;
  border-bottom-color: #009fa8;
  -webkit-transition: none;
  transition: none;
}

[lang="en"] .header-nav li,
[lang="en"] .header-nav li:first-child {
  width: 20%;
}

/* .header-drawer */
.header-drawer [itemprop="name"] {
  margin: 0;
  padding: 0;
  position: absolute;
  top: 33px;
  left: 20px;
  width: 321px;
  height: auto;
}
@media (max-width: 900px) {
  .header-drawer [itemprop="name"] {
    width: 250px;
  }
}
@media (max-width: 767px) {
  .header-drawer [itemprop="name"] {
    width: 220px;
    top: 14px;
    left: 16px;
  }
}
.header-drawer [itemprop="name"] a {
  display: block;
  overflow: hidden;
  height: 0;
  width: 100%;
  padding: 40px 0 0 0;
  background: url(/img/common/logo.png) no-repeat 0 0;
  background-size: 100% auto;
}

[lang="en"] .header-drawer [itemprop="name"] {
  top: 29px;
  width: 190px;
}
@media (max-width: 767px) {
  [lang="en"] .header-drawer [itemprop="name"] {
    top: 14px;
  }
}
[lang="en"] .header-drawer [itemprop="name"] a {
  background-image: url(/english/img/common/logo.png);
  background-size: auto 100%;
  padding-top: 48px;
}
@media (max-width: 767px) {
  [lang="en"] .header-drawer [itemprop="name"] a {
    width: 140px;
    padding-top: 27px;
  }
}
.header-drawer__button {
  position: fixed;
  right: 0;
  top: 0;
  transition: background-color 0.3s ease;
  width: 56px;
  height: 56px;
  cursor: pointer;
  z-index: 10;
  background-color: transparent;
  border: none;
  display: none;
}
@media (max-width: 767px) {
  .header-drawer__button {
    display: block;
  }
}
.header-drawer__line {
  inset: 0;
  margin: auto;
}
.header-drawer__line,
.header-drawer__line:after,
.header-drawer__line:before {
  display: block;
  height: 2px;
  width: 20px;
  position: absolute;
  background-color: #171a89;
  content: "";
  transition: all 0.3s ease-in-out;
}
.header-drawer__line:before {
  top: -8px;
}
.header-drawer__line:after {
  bottom: -8px;
}
.header-drawer__button[aria-expanded="true"] .header-drawer__line,
.header-drawer__dialog.is-open .header-drawer__line {
  background-color: rgba(0, 0, 0, 0);
}
.header-drawer__button[aria-expanded="true"] .header-drawer__line:before,
.header-drawer__dialog.is-open .header-drawer__line:before {
  top: 0;
  transform: rotate(45deg);
}
.header-drawer__button[aria-expanded="true"] .header-drawer__line:after,
.header-drawer__dialog.is-open .header-drawer__line:after {
  bottom: 0;
  transform: rotate(-45deg);
}
.header-drawer__dialog {
  display: grid;
  place-content: center;
  opacity: 0;
  visibility: hidden;
  transition: background-color 0.3s ease, translate 0.3s ease;
  z-index: 10;
}
.header-drawer__dialog.is-open {
  -webkit-animation: modalOpen 0.3s ease forwards;
  animation: modalOpen 0.3s ease forwards;
  opacity: 1;
  visibility: visible;
}
.header-drawer__dialog.is-close {
  -webkit-animation: modalClose 0.3s ease forwards;
  animation: modalClose 0.3s ease forwards;
}
.header-drawer__container {
  height: 100dvh;
  width: 100dvw;
  padding: 56px 0 40px;
  overflow: auto;
  -webkit-transition: translate 0.3s ease, opacity 0.3s ease;
  transition: translate 0.3s ease, opacity 0.3s ease;
  position: relative;
  background-color: #fff;
}
.header-drawer__links {
  list-style: none;
  display: flex;
  padding-inline: 5%;
  margin-block: 16px;
}
.header-drawer__links.end {
  justify-content: end;
}
.header-drawer__links-item {
  font-weight: 300;
  font-size: 13px;
  line-height: calc(16 / 13);
  letter-spacing: 0;
}
.header-drawer__links-item .is-active {
  color: #009fa8;
}
.header-drawer__links-item a {
  color: #333333;
  text-decoration: underline;
}
.header-drawer__links-item:first-child {
  padding-right: 15px;
  border-right: 1px solid #ddd;
}
.header-drawer__links-item:last-child {
  padding-left: 15px;
}
.header-drawer__search {
  padding: 0;
  border: 2px solid #f2f2f2;
  border-radius: 10px;
  margin-inline: 5%;
}
.header-drawer__search form {
  border: 1px solid #d1d1d1;
  height: 48px;
  line-height: 28px;
  border-radius: 9px;
  margin: 0;
  padding: 0;
  position: relative;
}
.header-drawer__search input {
  font-size: 13px;
  height: 100%;
  width: 100%;
  margin: 0;
  border: 0 none;
  padding: 0 24px 0 15px;
  border-radius: 0;
  box-sizing: border-box;
  box-shadow: none;
  background: transparent;
  outline: 0 none;
}
.header-drawer__search button {
  border: 0 none;
  background: transparent url(/img/common/search-ico.png) no-repeat 0 0;
  background-size: 100% auto;
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  position: absolute;
  inset: 50% 17px auto auto;
  translate: 0 -50%;
}
.header-drawer__nav {
  margin-top: 32px;
}
.header-drawer__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.header-drawer__item {
}
.header-drawer__link,
.header-accordion__title {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 8px;
  padding: 16px 5%;
  color: #383d99;
  font-size: 16px;
  font-weight: 600;
  line-height: calc(30 / 16);
  transition: color 0.2s;
  border-bottom: 1px solid #ddd;
}
.header-accordion__title a {
  color: #383d99;
}
.header-drawer__link::before,
.header-accordion__title::before {
  content: "";
  width: 16px;
  height: 16px;
  mask-image: url(/img/common/drawer-arrow-circle.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #383d99;
  transition: background 0.2s;
}
.header-accordion.is-open .header-accordion__title {
  color: #009fa8;
}
.header-accordion.is-open .header-drawer__link::before,
.header-accordion.is-open .header-accordion__title::before {
  background-color: #009fa8;
}
@media (any-hover: hover) {
  .header-accordion__title:hover {
    color: #009fa8;
  }
  .header-drawer__link:hover::before,
  .header-accordion__title:hover::before {
    background-color: #009fa8;
  }
}
.header-accordion__title {
  cursor: pointer;
  grid-template-columns: auto 1fr auto;
}
.header-accordion__icon {
  position: relative;
  width: 20px;
  height: 20px;
}
.header-accordion__icon::before,
.header-accordion__icon::after {
  content: "";
  display: block;
  width: 20px;
  height: 3px;
  background-color: #383d99;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: rotate 0.2s, background-color 0.2s;
}
.header-accordion__icon::before {
  rotate: -90deg;
}
.header-accordion.is-open .header-accordion__icon::before {
  rotate: 0deg;
}
.header-accordion.is-open .header-accordion__icon::before,
.header-accordion.is-open .header-accordion__icon::after {
  background-color: #009fa8;
}
@media (any-hover: hover) {
  .header-accordion__title:hover .header-accordion__icon::before,
  .header-accordion__title:hover .header-accordion__icon::after {
    background-color: #009fa8;
  }
}
.header-accordion summary::-webkit-details-marker {
  display: none;
}
.header-accordion__content {
  overflow: hidden;
}
.header-drawer__sub-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.header-drawer__sub-item a {
  border-bottom: 1px solid #ddd;
  padding-inline: calc(5% + 24px) 5%;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 8px;
  color: #383d99;
  font-size: 15px;
  font-weight: 600;
  line-height: calc(30 / 15);
  letter-spacing: calc(0.075 / 15 * 1em);
  padding-block: 16px;
  transition: color 0.2s;
}
.header-drawer__sub-item._ir a {
  grid-template-columns: auto auto 1fr;
}
.header-drawer__sub-item a::before {
  content: "";
  width: 15px;
  height: 15px;
  mask-image: url(/img/common/drawer-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #383d99;
  transition: background-color 0.2s;
}
.header-drawer__contact {
  margin-block: 32px 16px;
  padding-inline: 5%;
}
.header-drawer__contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  border-radius: 100vmax;
  padding: 13px 15px;
  background: #009fa8 url(/img/common/contact-btn_bg.png);
  background-size: auto 100%;
  background-position: 0 0;
  background-repeat: repeat-x;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: calc(30 / 16);
  position: relative;
}
.header-drawer__contact a:before {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  background: url(/img/common/arrow-white.png) no-repeat 0 0;
  background-size: 100% auto;
}
.header-drawer__sub-item.is-active a {
  color: #009fa8;
}
.header-drawer__sub-item.is-active a::before {
  background-color: #009fa8;
}
@media (any-hover: hover) {
  .header-drawer__sub-item a:hover {
    color: #009fa8;
  }
  .header-drawer__sub-item a:hover::before {
    background-color: #009fa8;
  }
}

@-webkit-keyframes modalOpen {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes modalOpen {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes modalClose {
  0% {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes modalClose {
  0% {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

/* ----------------------------------------------------------------
  page-top
----------------------------------------------------------------- */
.page-top {
  display: none;
}
@media (max-width: 767px) {
  .page-top {
    display: block;
    position: fixed;
    bottom: 16px;
    right: 16px;
  }
}

/* ----------------------------------------------------------------
  footer
----------------------------------------------------------------- */
.footer {
  background: url(/img/common/footer_logo.gif) no-repeat 80% 40px;
  margin: 60px 0 0 0;
}
@media (max-width: 767px) {
  .footer {
    background: none;
    margin-top: 0;
  }
}
.footer .go-to-top {
  background: url(/img/common/footer-hr.png) no-repeat 50% 0;
  width: 100%;
  height: 80px;
}
@media (max-width: 767px) {
  .footer .go-to-top {
    display: none;
  }
}
.footer .go-to-top a {
  width: 94px;
  height: 0;
  display: block;
  margin: 0 auto;
  padding: 80px 0 0 0;
  overflow: hidden;
  background: url(/img/common/page-top.png) no-repeat 0 50%;
  background-size: 94px 23px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.footer .go-to-top a:hover {
  opacity: 0.5;
}
.footer .sitemap {
  border-top: 1px solid #ddd;
  padding: 40px 0 0 0;
}
@media (max-width: 767px) {
  .footer .sitemap {
    display: none;
  }
}
.footer .sitemap .sitemap__inner {
  max-width: 980px;
  margin: 0 auto;
  padding-inline: 20px;
}
.footer .sitemap .sitemap__inner:before {
  content: "";
  display: table;
}
.footer .sitemap .sitemap__inner:after {
  content: "";
  display: table;
  clear: both;
}
.footer .sitemap .sitemap__inner ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer .sitemap .sitemap__inner li {
  padding: 0;
  margin: 0;
}
.footer .sitemap .sitemap__inner &gt; ul &gt; li {
  float: left;
  width: 25%;
}
.footer .sitemap .sitemap__inner &gt; ul &gt; li &gt; ul &gt; li &gt; a {
  font-size: 14px;
  background: url(/img/common/arrow-blue.png) no-repeat 0 50%;
  background-size: 6px 10px;
  padding-left: 15px;
}
.footer .sitemap .sitemap__inner &gt; ul &gt; li &gt; ul &gt; li + li {
  padding-top: 25px;
}
.footer .sitemap .sitemap__inner &gt; ul &gt; li &gt; ul &gt; li &gt; ul {
  padding-left: 15px;
  font-size: 12px;
}
.footer .sitemap .sitemap__inner &gt; ul &gt; li &gt; ul &gt; li &gt; ul li {
  margin: 7px 0;
}
.footer .sitemap .sitemap__inner &gt; ul &gt; li &gt; ul &gt; li &gt; ul li a {
  text-decoration: underline;
}
.footer .sitemap .sitemap__inner &gt; ul &gt; li &gt; ul &gt; li &gt; ul li a:hover {
  text-decoration: none;
}
.footer .utility {
  border-top: 1px solid #ddd;
  margin-top: 60px;
  height: 50px;
  line-height: 50px;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .footer .utility {
    margin-top: 0;
    border-top: none;
  }
}
.footer .utility .utility__inner {
  max-width: 980px;
  margin: 0 auto;
  font-size: 12px;
  line-height: 18px;
  padding: 16px 20px;
}
@media (max-width: 767px) {
  .footer .utility .utility__inner {
    padding: 16px 0 20px;
  }
}
.footer .utility .utility__inner:before {
  content: "";
  display: table;
}
.footer .utility .utility__inner:after {
  content: "";
  display: table;
  clear: both;
}
.footer .utility .utility__inner ul {
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .footer .utility .utility__inner ul {
    display: none;
  }
}
.footer .utility .utility__inner li {
  float: left;
  margin: 0;
  padding: 0 15px 0 0;
  position: relative;
}
.footer .utility .utility__inner li a {
  text-decoration: underline;
}
.footer .utility .utility__inner li a:hover {
  text-decoration: none;
}
.footer .utility .utility__inner li + li {
  padding-left: 15px;
  border-left: 1px solid #ddd;
}
.footer .utility .utility__logo {
  display: none;
}
@media (max-width: 767px) {
  .footer .utility .utility__logo {
    display: block;
    max-width: 200px;
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  html[lang="en"] .footer .utility .utility__logo {
    max-width: 95px;
  }
}
.footer .utility .utility__inner small {
  float: right;
  font-size: 10px;
}
@media (max-width: 767px) {
  .footer .utility .utility__inner small {
    float: none;
    text-align: center;
    display: block;
    margin-top: 10px;
  }
}
.footer .utility .utility__inner small a:hover {
  color: #333;
}

/* ----------------------------------------------------------------
  main
----------------------------------------------------------------- */
/*header*/
.page-header {
  height: 180px;
  /* padding-bottom: 40px; */
  width: 100%;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .page-header {
    height: 120px;
    padding-bottom: 0;
  }
}
.page-header .page-header__inner {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding: 0;
  padding-left: 80px;
  display: table;
  height: 100%;
  width: 100%;
  max-width: 980px;
  text-align: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .page-header .page-header__inner {
    padding-inline: 15px;
  }
}
.page-header h1 {
  margin: 0 auto;
  padding: 0;
  display: table-cell;
  height: 100%;
  width: 100%;
  max-width: 980px;
  vertical-align: middle;
  color: #fff;
  font-weight: bold;
  font-size: 34px;
  line-height: 34px;
}
.page-header .page-header__main {
  font-weight: bold;
}
@media (max-width: 767px) {
  .page-header .page-header__main {
    font-size: 28px;
    font-weight: 600;
    line-height: calc(32 / 28);
  }
}
.page-header .page-header__sub {
  display: block;
  font-size: 18px;
  font-weight: normal;
  line-height: 18px;
  padding-top: 18px;
}
@media (max-width: 767px) {
  .page-header .page-header__sub {
    font-size: 13px;
    font-weight: 300;
    line-height: calc(13 / 13);
    padding-top: 13px;
  }
}

.dir-company .page-header {
  background: #009fa8 url(/img/company/headerbg.jpg) no-repeat center top;
}

.dir-business .page-header {
  background: #009fa8 url(/img/business/headerbg.jpg) no-repeat center top;
}

.dir-products .page-header {
  background: #009fa8 url(/img/products/headerbg.jpg) no-repeat center top;
}

.dir-ir .page-header {
  background: #009fa8 url(/img/ir/headerbg.jpg) no-repeat center top;
}

.dir-recruit .page-header {
  background: #009fa8 url(/img/recruit/headerbg.jpg) no-repeat center top;
}

.dir-news .page-header {
  background: #009fa8 url(/img/news/headerbg.jpg) no-repeat center top;
}

.dir-contact .page-header {
  background: #009fa8 url(/img/contact/headerbg.jpg) no-repeat center top;
}

.dir-privacy .page-header {
  background: #009fa8 url(/img/privacy/headerbg.jpg) no-repeat center top;
}

.dir-404 .page-header,
.dir-sitemap .page-header {
  background: #009fa8 url(/img/sitemap/headerbg.jpg) no-repeat center top;
}

.dir-search .page-header {
  background: #009fa8 url(/img/search/headerbg.jpg) no-repeat center top;
}

@media (max-width: 767px) {
  .dir-company .page-header,
  .dir-business .page-header,
  .dir-products .page-header,
  .dir-ir .page-header,
  .dir-recruit .page-header,
  .dir-news .page-header,
  .dir-contact .page-header,
  .dir-privacy .page-header,
  .dir-404 .page-header,
  .dir-sitemap .page-header,
  .dir-search .page-header {
    background: url(/img/common/header-bg-sp.webp) no-repeat center top;
    background-size: cover;
  }
}

/*breadcrumb*/
.breadcrumb-list {
  margin-bottom: 36px;
  padding: 0;
  width: 100%;
  box-shadow: 0 4px 4px 0 rgba(233, 233, 233, 0.79);
  position: relative;
  z-index: 2;
  overflow: hidden;
}
@media (max-width: 767px) {
  .breadcrumb-list {
    margin-top: 0;
  }
}
.breadcrumb-list:before {
  content: "";
  display: block;
  height: 40px;
  background: #fff;
  width: 100%;
  position: absolute;
  right: 50%;
  top: 0;
  margin-right: 850px;
}
.breadcrumb-list:after {
  content: "";
  display: block;
  height: 40px;
  background: #fff;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: 850px;
}
.breadcrumb-list ol {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
  list-style: none;
  line-height: 40px;
  font-size: 13px;
}
@media (max-width: 767px) {
  .breadcrumb-list ol {
    padding: 8px 15px;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.65;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: thin;
  }
}
.breadcrumb-list li {
  display: inline-block;
  position: relative;
}
.breadcrumb-list li + li:before {
  content: "\3E";
  display: inline-block;
  padding: 0 8px;
}
.breadcrumb-list a {
  text-decoration: underline;
}
.breadcrumb-list a:hover {
  text-decoration: none;
}

/*contents block*/
.contents {
  max-width: 980px;
  margin: 20px auto 0 auto;
  position: relative;
  padding: 0 20px;
}
@media (max-width: 767px) {
  .contents {
    padding: 0 15px 56px;
    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.05);
  }
}
.contents:before {
  content: "";
  display: table;
}
.contents:after {
  content: "";
  display: table;
  clear: both;
}
.contents article {
  font-size: 13px;
  line-height: 1.65;
}
.contents article:before {
  content: "";
  display: table;
}
.contents article:after {
  content: "";
  display: table;
  clear: both;
}
.contents .local-nav {
  width: 100%;
  max-width: 230px;
  position: absolute;
  top: 0;
  left: auto !important;
}
@media (max-width: 1024px) {
  .contents .local-nav {
    max-width: 200px;
  }
}
@media (max-width: 767px) {
  .contents:not(:has(.news)) .local-nav {
    display: none;
  }
  .contents:has(.news) {
    display: grid;
    grid-template-areas:
      "title"
      "nav"
      "dl"
      "unit";
  }
  .contents:has(.news) .local-nav {
    position: relative !important;
    top: 0 !important;
    margin-top: 0 !important;
    max-width: 100%;
    grid-area: nav;
  }
  .contents:has(.news) .local-nav h2 {
    display: none;
  }
  .contents:has(.news) .local-nav ul {
    display: flex;
    flex-wrap: wrap;
    border-top: 0;
    padding: 0 0 40px 0;
  }
  .contents:has(.news) .local-nav a:after {
    rotate: 90deg;
    left: 0;
  }
  .contents:has(.news) &gt; article {
    display: contents;
  }
}

.contents .local-nav h2 {
  font-size: 16px;
  font-weight: normal;
  line-height: 22px;
  padding: 0 0 0 20px;
  margin: 0 0 15px 0;
  position: relative;
}
.contents .local-nav h2:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 5px;
  width: 3px;
  height: 100%;
  background-color: #009fa8;
}
.contents .local-nav ul {
  border-top: 2px solid #009fa8;
  margin: 0;
  padding: 20px 0 0 0;
  list-style: none;
}
.contents .local-nav li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #eee;
}
.contents .local-nav a {
  display: block;
  padding: 12px;
  font-size: 14px;
  line-height: 18px;
  position: relative;
}
.contents .local-nav a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  margin: -4px 0 0 0;
  width: 5px;
  height: 8px;
  background: url(/img/common/local-nav-arrow.png) no-repeat 0 0;
  background-size: 5px 8px;
}
.contents .local-nav a:hover:after {
  background-image: url(/img/common/local-nav-active-arrow.png);
}
.contents .local-nav .is-active {
  background-color: #f4f4f4;
  color: #009fa8;
  -webkit-transition: none;
  transition: none;
}
.contents .local-nav .is-active:after {
  background-image: url(/img/common/local-nav-active-arrow.png);
}
.contents .local-nav ul ul {
  border-top: 1px solid #eee;
  padding-top: 0;
}
.contents .local-nav ul ul li {
  border-bottom: 0 none;
}
.contents .local-nav ul ul li + li {
  border-top: 1px solid #eee;
}
.contents .local-nav ul ul a {
  font-size: 13px;
  padding-left: 20px;
}
.contents .local-nav ul ul .is-active {
  background-color: transparent;
}
.contents .local-nav .is-open:after {
  width: 8px !important;
  height: 5px !important;
  margin-top: -3px !important;
  background-image: url(/img/common/local-nav-open-arrow.png) !important;
  background-size: 8px 5px !important;
}
.contents .local-nav + article {
  margin-left: 270px;
}
@media (max-width: 1024px) {
  .contents .local-nav + article {
    margin-left: 230px;
  }
}
@media (max-width: 767px) {
  .contents .local-nav + article {
    margin-left: 0;
  }
}

/* ----------------------------------------------------------------
  MT Editor
----------------------------------------------------------------- */
.mce-content-body section,
article section {
  margin: 0;
  clear: both;
}
.mce-content-body section:after,
article section:after {
  content: "";
  display: table;
  clear: both;
}
.mce-content-body section + section,
article section + section {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .mce-content-body section + section,
  article section + section {
    margin-top: 40px;
  }
}
.mce-content-body section section + section,
article section section + section {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .mce-content-body section section + section,
  article section section + section {
    margin-top: 20px;
  }
}

.head_title {
  font-size: 1.3rem;
  font-weight: bold;
  background-color: #f4f4f4;
  padding: 12px 10px 8px 15px;
  margin: 0 0 50px 0;
  border-bottom: 1px solid #e0e0e0;
}
section + .head_title {
  margin-top: 60px;
}

.mce-content-body h2,
article h2 {
  font-weight: normal;
  line-height: 24px;
  font-size: 24px;
  padding: 0 0 20px 50px;
  margin: 0 0 30px 0;
  border-bottom: 1px solid #ccc;
  background: url(/img/common/h2bg.png) no-repeat 5px 5px;
  background-size: 35px 20px;
  position: relative;
}
@media (max-width: 767px) {
  .mce-content-body h2,
  article h2 {
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: calc(0.2 / 20 * 1em);
    background-position: 0 6px;
    padding: 0 0 20px 43px;
  }
}
.mce-content-body h3,
article h3 {
  font-weight: normal;
  line-height: 28px;
  font-size: 20px;
  padding: 0 0 16px 25px;
  margin: 30px 0 25px 0;
  border-bottom: 1px solid #e0e0e0;
  background: url(/img/common/h3bg.png) no-repeat 5px 5px;
  background-size: 13px 13px;
}
@media (max-width: 767px) {
  .mce-content-body h3,
  article h3 {
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: calc(0.2 / 18 * 1em);
    background-position: 0 6px;
    padding: 0 0 12px 24px;
  }
}
.mce-content-body .h4-style,
.mce-content-body h4,
article .h4-style,
article h4 {
  font-weight: normal;
  line-height: 20px;
  font-size: 16px;
  padding: 8px 0 8px 25px;
  margin: 25px 0 20px 0;
  background: #f4f4f4 url(/img/common/h4bg.gif) repeat-y 10px 0;
  position: relative;
}
.mce-content-body .h4-style:before,
.mce-content-body .h4-style:after,
.mce-content-body h4:before,
.mce-content-body h4:after,
article .h4-style:before,
article .h4-style:after,
article h4:before,
article h4:after {
  content: "";
  display: block;
  width: 2px;
  height: 8px;
  position: absolute;
  top: 0;
  left: 10px;
  background: #f4f4f4;
}
.mce-content-body .h4-style:after,
.mce-content-body h4:after,
article .h4-style:after,
article h4:after {
  top: auto;
  bottom: 0;
}
.mce-content-body .h4-style a,
.mce-content-body h4 a,
article .h4-style a,
article h4 a {
  display: block;
  color: #333;
  text-decoration: none;
  background: url(/img/common/arrow-index.png) no-repeat 98.5% 50%;
  background-position: -webkit-calc(100% - 10px) 50%;
  background-position: calc(100% - 10px) 50%;
  background-size: 20px 20px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .mce-content-body .h4-style a,
  .mce-content-body h4 a,
  article .h4-style a,
  article h4 a {
    padding-right: 25px;
    /* background-size: 15px 15px; */
  }
}
article .h4-style._products a {
  background: none;
  display: grid;
  grid-template-columns: 1fr auto;
  padding-right: 10px;
  gap: 10px;
}
article .h4-style._products a:has(sup) {
  position: relative;
  padding-left: 1em;
}
article .h4-style._products a sup {
  position: absolute;
  top: 4px;
  left: 0;
}
article .h4-style._products a .h4-style-arrow {
  display: grid;
  place-items: center;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 5px;
  color: #164392;
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  article .h4-style._products a .h4-style-arrow {
    font-size: 12px;
  }
}
article .h4-style._products a .h4-style-arrow img {
  width: 20px;
  height: 20px;
}
@media (max-width: 767px) {
  article .h4-style._products a .h4-style-arrow img {
    width: 15px;
    height: 15px;
  }
}
.mce-content-body .h4-style a:hover,
.mce-content-body h4 a:hover,
article .h4-style a:hover,
article h4 a:hover {
  color: #333;
  opacity: 0.5;
}
.mce-content-body h5,
article h5 {
  margin: 1em 0 0 0;
  padding: 0;
  font-weight: bold;
  font-size: 100%;
}
@media (max-width: 767px) {
  .mce-content-body h5,
  article h5 {
    font-size: 15px;
    line-height: 1.65;
  }
}
.mce-content-body h5 + p,
article h5 + p {
  margin-top: 0.5em;
}
.mce-content-body a,
article a {
  color: #164392;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .mce-content-body a,
  article a {
    font-size: 15px;
  }
}
.mce-content-body a:hover,
article a:hover {
  color: #009fa8;
  text-decoration: none;
}
.mce-content-body p,
article p {
  margin: 1em 0;
  font-size: 100%;
}
@media (max-width: 767px) {
  .mce-content-body p,
  article p {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.65;
  }
}
.mce-content-body p:after,
article p:after {
  content: "";
  clear: both;
  display: table;
}
.mce-content-body ul,
.mce-content-body ol,
article ul,
article ol {
  margin: 1em 0;
  padding: 0 0 0 30px;
}
@media (max-width: 767px) {
  .mce-content-body ul,
  .mce-content-body ol,
  article ul,
  article ol {
    padding: 0 0 0 20px;
  }
}
.mce-content-body ul ol,
.mce-content-body ol ul,
.mce-content-body ul ul,
.mce-content-body ol ol,
.mce-content-body table ol,
.mce-content-body table ul,
article ul ol,
article ol ul,
article ul ul,
article ol ol,
article table ol,
article table ul {
  margin: 0;
}
.mce-content-body ul &gt; li,
article ul &gt; li {
  list-style-type: disc;
}
.mce-content-body ul ul li,
article ul ul li {
  list-style-type: circle;
}
.mce-content-body li,
article li {
  margin: 0.25em 0;
  padding: 0;
}
.mce-content-body b,
.mce-content-body strong,
article b,
article strong {
  font-weight: bold;
}
.mce-content-body em,
.mce-content-body i,
article em,
article i {
  font-weight: normal;
  font-style: italic;
}
.mce-content-body s,
.mce-content-body strike,
.mce-content-body del,
article s,
article strike,
article del {
  text-decoration: line-through;
}
.mce-content-body u,
.mce-content-body ins,
article u,
article ins {
  text-decoration: underline;
}
.mce-content-body blockquote,
article blockquote {
  margin: 1em 0;
  padding: 20px;
  background-color: #f5f5f5;
  color: #888;
}
.mce-content-body blockquote p,
.mce-content-body blockquote ul,
.mce-content-body blockquote ol,
article blockquote p,
article blockquote ul,
article blockquote ol {
  margin: 0;
}
.mce-content-body blockquote p + p,
.mce-content-body blockquote p + ul,
.mce-content-body blockquote p + ol,
.mce-content-body blockquote ul + p,
.mce-content-body blockquote ul + ul,
.mce-content-body blockquote ul + ol,
.mce-content-body blockquote ol + p,
.mce-content-body blockquote ol + ul,
.mce-content-body blockquote ol + ol,
article blockquote p + p,
article blockquote p + ul,
article blockquote p + ol,
article blockquote ul + p,
article blockquote ul + ul,
article blockquote ul + ol,
article blockquote ol + p,
article blockquote ol + ul,
article blockquote ol + ol {
  margin-top: 1em;
}
.mce-content-body hr,
article hr {
  color: transparent;
  background-color: transparent;
  height: 0;
  display: block;
  width: 100%;
  border-top: 1px dotted #000;
  padding: 0;
  margin: 1em 0;
}
.mce-content-body table,
article table {
  border-collapse: collapse;
  background: #fff;
  width: 100%;
  margin: 0 0 1em 0;
  font-size: 100%;
}
.mce-content-body .scroll-hint table,
article .scroll-hint table {
  margin-bottom: 0;
}
.scroll-hint {
  height: auto !important;
  scrollbar-width: thin;
}
.mce-content-body .scroll-hint-icon,
article .scroll-hint-icon {
  padding: 20px 10px 5px !important;
  width: 100px;
}
.mce-content-body .scroll-hint-icon::before,
article .scroll-hint-icon::before {
  width: 25px;
  height: 25px;
}
.mce-content-body .scroll-hint-icon::after,
article .scroll-hint-icon::after {
  width: 24px;
  height: 10px;
  top: 7px;
  left: 50%;
  margin-left: 0;
  background-size: contain;
  translate: -50% 0;
}
.mce-content-body .scroll-hint-text,
article .scroll-hint-text {
  line-height: 1;
}

@media (max-width: 767px) {
  .mce-content-body table img:not(.pdf-ico, .blank-ico),
  article table img:not(.pdf-ico, .blank-ico) {
    width: 100%;
  }
}
.mce-content-body table + table,
.mce-content-body blockquote + table,
.mce-content-body ul + table,
.mce-content-body ol + table,
.mce-content-body p + table,
article table + table,
article blockquote + table,
article ul + table,
article ol + table,
article p + table {
  margin-top: 2em;
}
.mce-content-body caption,
article caption {
  margin-bottom: 8px;
  font-weight: bold;
}
.mce-content-body th,
article th {
  background: #f4f4f4;
  border: 1px solid #e0e0e0;
  text-align: left;
  vertical-align: top;
  padding: 10px 5px;
  color: #1d2088;
  font-weight: normal;
}
@media (max-width: 1024px) {
  .mce-content-body th,
  article th {
    font-size: 15px;
    padding: 10px;
  }
}
article th.sdgs-table-head {
  width: 14em;
}
.mce-content-body td,
article td {
  border: 1px solid #e0e0e0;
  padding: 10px 5px;
  vertical-align: middle;
}
@media (max-width: 1024px) {
  .mce-content-body td,
  article td {
    font-size: 15px;
    padding: 10px;
  }
}
article table p {
  margin: 0;
}
.mce-content-body table p + p,
.mce-content-body table p + ul,
.mce-content-body table p + ol,
.mce-content-body table ul + p,
.mce-content-body table ul + ul,
.mce-content-body table ul + ol,
.mce-content-body table ol + p,
.mce-content-body table ol + ul,
.mce-content-body table ol + ol,
article table p + p,
article table p + ul,
article table p + ol,
article table ul + p,
article table ul + ul,
article table ul + ol,
article table ol + p,
article table ol + ul,
article table ol + ol {
  margin-top: 1em;
}
table.space-style .in-table {
  width: 100%;
}
table.space-style .in-table td {
  vertical-align: top;
}
@media (max-width: 1024px) {
  table.space-style .in-table td {
    display: table-cell;
    padding: 15px 5px;
  }
}
@media (max-width: 767px) {
  table.space-style .in-table td {
    width: 100% !important;
    display: block;
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  table.space-style .in-table td img {
    display: inline-block;
  }
}
table.space-style .in-table td figure {
  margin: 0;
}
table.space-style .in-table td figcaption {
  margin-top: 5px;
  font-size: 10px;
}
@media (max-width: 767px) {
  table.space-style .in-table td figcaption {
    font-size: 14px;
  }
}
table.space-style .in-table td figure img {
  width: 100%;
  height: auto;
}
.mce-content-body img,
article img {
  max-width: 100%;
  height: auto;
}
.mce-content-body .mt-image-none,
article .mt-image-none {
  clear: both;
  display: block;
}
.mce-content-body .mt-image-center,
article .mt-image-center {
  clear: both;
  text-align: center;
  display: block;
  margin: 0 auto 20px;
}
.mce-content-body .mt-image-left,
article .mt-image-left {
  clear: left;
  float: left;
  margin: 0 20px 20px 0;
}
.mce-content-body .mt-image-right,
article .mt-image-right {
  clear: right;
  float: right;
  margin: 0 0 20px 20px;
}
@media (max-width: 767px) {
  .mce-content-body .mt-image-right,
  article .mt-image-right {
    float: none;
    margin: 0 auto 20px;
    text-align: center;
  }
}

/* ----------------------------------------------------------------
  classes
----------------------------------------------------------------- */
.nowrap,
.nowrap th {
  white-space: nowrap;
}

table.nowrap {
  white-space: normal;
}

.max-w500 {
  max-width: 500px;
}

.add-padding {
  padding: 2em;
}

.w7em {
  width: 7em;
}

.w8em {
  width: 8em;
}

.w9em {
  width: 9em;
}

.w10em {
  width: 10em;
}

.w11em {
  width: 11em;
}

.w12em {
  width: 12em;
}

.w13em {
  width: 13em;
}

.w14em {
  width: 14em;
}

.w15em {
  width: 15em;
}

.txt-center {
  margin: 1em 0;
  display: block;
  text-align: center;
}

.txt-right {
  margin: 1em 0;
  display: block;
  text-align: right;
}

.note {
  display: block;
  margin: 0 0 0 1em;
  text-indent: -1em;
}

.pdf-ico,
.blank-ico {
  vertical-align: middle;
  margin: 0 0 0 5px;
}

.access {
  margin: 1em 0;
  padding: 0;
}
.access dt {
  color: #0e6599;
  font-size: 14px;
}
.access dd {
  margin: 0;
  padding: 0;
}
.access dd ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.access dd ul li {
  list-style: none !important;
  margin: 0.5em 0;
  padding: 0 0 0 12px;
  line-height: 21px;
  background: url(/img/common/listbg.png) no-repeat 0 7px;
  background-size: 4px 4px;
}

.lead .lead__title {
  margin: 2.5em 0;
  text-align: center;
}
@media (max-width: 767px) {
  .lead .lead__title {
    max-width: 500px;
    margin-inline: auto;
  }
}
.lead .lead__body {
  margin: 0;
  padding: 0;
}

.tab {
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
  display: flex;
  width: 100%;
  text-align: center;
  font-size: 16px;
}
@media (max-width: 767px) {
  .tab {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.tab li {
  flex: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}
.tab li a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #ddd;
  color: #333;
  text-decoration: underline;
  height: 100%;
  padding: 6px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .tab li a {
    font-size: 12px;
  }
}
.tab li a:hover {
  text-decoration: none;
}
.tab li:first-child a {
  border-radius: 5px 0 0 0;
}
@media (max-width: 767px) {
  .tab li:first-child a {
    border-radius: 0;
  }
}
.tab li:last-child a {
  border-radius: 0 5px 0 0;
}
@media (max-width: 767px) {
  .tab li:last-child a {
    border-radius: 0;
  }
}
.tab li .is-open {
  background-color: #009fa8;
  border-color: #009fa8;
  color: #fff;
  text-decoration: none;
}

.count-list {
  padding: 0 !important;
  margin: 2em 0 !important;
  list-style: none !important;
}
.count-list &gt; li {
  list-style: none !important;
  padding: 1em 1em 1em 2em !important;
  margin: 0 !important;
  border-bottom: 1px dashed #e4e4e4;
  position: relative;
  counter-increment: numbers;
}
@media (max-width: 767px) {
  .count-list &gt; li {
    font-size: 15px;
  }
}
.count-list &gt; li:before {
  position: absolute;
  top: 1.25em;
  left: 0;
  color: #0e6599;
  content: counter(numbers, decimal) ". ";
}
@media (max-width: 767px) {
  .count-list &gt; li:before {
    font-size: 15px;
    top: 1em;
  }
}
.count-list &gt; li ol &gt; li:before {
  content: counter(numbers, lower-alpha);
}

@media (max-width: 1024px) {
  table.space-style colgroup {
    display: none;
  }
}

table.space-style th {
  border: 0 none;
  border-bottom: 1px dashed #e4e4e4;
  padding: 15px 5px;
  background: none;
}
@media (max-width: 1024px) {
  table.space-style th {
    padding: 15px 5px 5px;
    display: block;
    width: 100%;
    border-bottom: none;
    font-size: 15px;
  }
}
table.space-style td {
  border: 0 none;
  border-bottom: 1px dashed #e4e4e4;
  padding: 15px 5px;
}
@media (max-width: 1024px) {
  table.space-style td {
    padding: 0 5px 15px;
    display: block;
    width: 100%;
    font-size: 15px;
  }
}

table.data-num thead th {
  text-align: center;
}
table.data-num td {
  text-align: right;
}
table.data-num + p {
  margin-top: -0.5em;
  margin-bottom: 2em;
}
table.data-num .txt-right {
  margin: 0;
  display: table-cell;
}
table.data-num .sum {
  color: #1d2088;
}
table.data-num .sub {
  color: #484848;
}

/*btn*/
.btn-type--1 {
  font-size: 14px !important;
  padding: 0 10px 0 10px;
  height: 28px !important;
  line-height: 28px !important;
  border-radius: 28px !important;
  color: #fff !important;
  background: #009fa8;
  background: -webkit-gradient(linear, left top, left bottom, from(#009fa8), to(#00939d));
  background: -webkit-linear-gradient(top, #009fa8, #00939d);
  background: linear-gradient(to bottom, #009fa8, #00939d);
}
.btn-type--1:hover {
  background: #00939d;
}
.btn-type--1 span:before {
  content: "";
  padding-right: 5px;
  display: inline-block;
  width: 6px;
  height: 10px;
  background: url(/img/common/arrow-white.png) no-repeat 0 0;
}

h2 .btn-type--1 {
  position: absolute;
  right: 0;
}

@media (max-width: 767px) {
  [lang="en"] h2 .btn-type--1 {
    position: relative;
    display: inline-block;
    right: unset;
    width: fit-content;
    font-size: 12px !important;
    margin-left: -43px;
  }
}

@media (max-width: 767px) {
  [lang="en"] h2:has(.btn-type--1) {
    display: grid;
    gap: 5px;
  }
}

/*link*/
.link {
  padding: 0 0 0 15px;
  background: url(/img/common/arrow-blue.png) no-repeat 0 0.35em;
  background-size: 6px 10px;
}

.link-box {
  margin: 1em 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.link-box li {
  border: 1px solid #ddd;
  padding: 10px 10px !important;
  margin: 0 !important;
  list-style: none !important;
}
@media (max-width: 767px) {
  .link-box li {
    font-size: 15px;
    line-height: 1.65;
  }
}

.link-box li + li {
  margin-top: 10px !important;
}

.toc {
  margin: 0 0 50px 0;
  padding: 0;
}
.toc:before,
.toc:after {
  content: "";
  display: table;
}
.toc:after {
  clear: both;
}
.toc li {
  float: left;
  padding: 0;
  width: 20%;
  list-style: none;
}
.toc li a {
  display: block;
  padding: 0 0 0 20px;
  background: url(/img/common/down-arrow-blue.png) no-repeat 0 0.35em;
  background-size: 10px 6px;
  color: #333;
  white-space: normal;
}
.toc li a:hover {
  color: #009fa8;
}
.dir-products .toc li {
  width: auto;
  white-space: nowrap;
  margin-right: 20px;
}
.dir-ir .toc li {
  width: auto;
  white-space: nowrap;
  margin-right: 20px;
}

/* YouTube, Google Map etc */
.embed-iframe {
  padding-top: 37.5%;
  position: relative;
  width: 100%;
  max-width: 640px;
  margin: 30px auto;
  text-align: center;
  display: block;
}

.col2 .embed-iframe {
  padding-top: 125%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .col2 .embed-iframe {
    padding-top: 56.25%;
  }
}

.embed-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/*multi colum*/
.col:before,
.col:after {
  content: "";
  display: table;
}

.col:after {
  clear: both;
}

.col__box {
  position: relative;
  float: left;
}
@media (max-width: 767px) {
  .col__box {
    font-size: 15px;
    height: auto !important;
  }
}

.col5 .col__box {
  width: 18.5%;
  margin-right: 1.875%;
}

.col4 .col__box {
  width: 23.5%;
  margin-right: 2%;
}
@media (max-width: 767px) {
  .col4 .col__box {
    width: 48%;
  }
}

.col3 .col__box {
  width: 32%;
  margin-right: 2%;
}
@media (max-width: 767px) {
  .col3 .col__box {
    width: 48%;
  }
}

.col2 .col__box {
  width: 48.5%;
  margin-right: 3%;
}
@media (max-width: 767px) {
  .col2 .col__box {
    width: 100%;
    margin-right: 0;
  }
}

.coladd .col__box {
  width: 95%;
  margin-right: 5%;
}

.col5 .col__box:nth-child(5n),
.col4 .col__box:nth-child(4n),
.col3 .col__box:nth-child(3n),
.col2 .col__box:nth-child(2n),
.coladd .col__box:nth-child(n) {
  margin-right: 0;
}

@media (max-width: 767px) {
  .col4 .col__box:nth-child(4n),
  .col3 .col__box:nth-child(3n) {
    margin-right: 2%;
  }
}

.col5 .col__box:nth-child(5n + 1),
.col4 .col__box:nth-child(4n + 1),
.col3 .col__box:nth-child(3n + 1),
.col2 .col__box:nth-child(2n + 1),
.coladd .col__box:nth-child(n + 1) {
  clear: left;
}
@media (max-width: 767px) {
  .col5 .col__box:nth-child(5n + 1),
  .col4 .col__box:nth-child(4n + 1),
  .col3 .col__box:nth-child(3n + 1),
  .col2 .col__box:nth-child(2n + 1),
  .coladd .col__box:nth-child(n + 1) {
    clear: unset;
  }
}

.col5 .col__box:nth-child(n + 6),
.col4 .col__box:nth-child(n + 5),
.col3 .col__box:nth-child(n + 4),
.col2 .col__box:nth-child(n + 3),
.coladd .col__box:nth-child(n + 2) {
  margin-top: 50px;
}

/*news list*/
.news {
  margin: 0 0 60px 0;
  padding: 0;
  position: relative;
}
@media (max-width: 767px) {
  .news {
    display: contents;
  }
}

@media (max-width: 767px) {
  .news h2 {
    grid-area: title;
  }
}
.news .news__unit {
  position: absolute;
  top: 5px;
  right: 0;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 767px) {
  .news .news__unit {
    grid-area: unit;
    right: auto;
    left: 0;
    position: relative;
  }
}

@media (max-width: 767px) {
  [lang="en"] .news .news__unit {
    display: flex;
    flex-wrap: wrap;
  }
}
.news .news__unit li {
  float: left;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 18px;
}
.news .news__unit li + li {
  margin-left: 10px !important;
  padding-left: 10px !important;
  border-left: 1px solid #ddd;
}
[lang="en"] .news .news__unit li + li {
  border-left: none;
  padding-left: 0 !important;
}
.news .news__unit a {
  text-decoration: underline;
  padding-left: 15px;
  background: url(/img/common/arrow-blue.png) no-repeat 0 50%;
  background-size: 6px 10px;
  color: #333;
}
.news .news__unit a:hover {
  color: #009fa8;
  text-decoration: none;
}
.news .news__unit__list-link a {
  position: relative;
  top: -5px;
  right: 0;
  height: 28px;
  line-height: 28px;
  display: block;
  border-radius: 14px;
  padding: 0 15px 0 25px;
  background-color: #3a3f94;
  background: #00598a url(/img/common/contact-btn-blue_bg.png) repeat-x 0 0;
  color: #fff;
  text-decoration: none;
}
@media (max-width: 767px) {
  [lang="en"] .news .news__unit__list-link a {
    font-size: 12px;
  }
}
.news .news__unit__list-link a:before {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  background: url(/img/common/arrow-white.png) no-repeat 0 0;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  left: 13px;
  margin-top: -5px;
}
.news .news__unit__list-link a:hover {
  background: #006c9b;
  color: #fff;
}
.news .news__unit .rss {
  padding-left: 20px;
  background: url(/img/common/rss-ico.png) no-repeat 0 50%;
  background-size: 11px 11px;
}
.news .news__unit .stock-price {
  position: relative;
  width: 110px;
  height: 18px;
}
@media (max-width: 767px) {
  .news .news__unit .stock-price {
    width: 128px;
  }
}
.news .news__unit .stock-price.en {
  width: 210px;
}
@media (max-width: 767px) {
  .news .news__unit .stock-price.en {
    width: 200px;
  }
}
.news .news__unit .stock-price a {
  top: -5px;
  right: 0;
  height: 28px;
  line-height: 28px;
  display: block;
  border-radius: 14px;
  padding: 0 15px 0 25px;
  background: #009fa8 url(/img/common/contact-btn_bg.png) repeat-x 0 0;
  color: #fff;
  position: relative;
  text-decoration: none;
}

@media (max-width: 767px) {
  [lang="en"] .news .news__unit .stock-price a {
    font-size: 12px;
  }
}
.news .news__unit .stock-price a img {
  vertical-align: middle;
  margin-left: 5px;
}
.news .news__unit .stock-price a:hover {
  background: #009fa8;
}
.news .news__unit .stock-price a:before {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  background: url(/img/common/arrow-white.png) no-repeat 0 0;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  left: 13px;
  margin-top: -5px;
}

@media (max-width: 767px) {
  .news dl {
    grid-area: dl;
    margin-top: 0;
    margin-bottom: 40px;
  }
}
.news dl:before,
.news dl:after {
  content: "";
  display: table;
}
.news dl:after {
  clear: both;
}
.news dt {
  margin: 0;
  padding: 0;
  float: left;
  clear: left;
  line-height: 17px;
}
@media (max-width: 767px) {
  .news dt {
    float: unset;
  }
}
.news dt time {
  display: inline-block;
  width: 125px;
  line-height: 17px;
}
@media (max-width: 767px) {
  .news dt time {
    font-size: 15px;
    line-height: 1.65;
    width: auto;
  }
}
.news dt span {
  display: inline-block;
  background: #009fa8;
  font-size: 11px;
  line-height: 11px;
  width: 82px;
  text-align: center;
  color: #fff;
  padding: 3px 4px;
}
.news dt span.ir {
  background: #1b76ad;
}
.news dt span.group {
  background: #0586a1;
}
.news dt span.press {
  background: #e3691e;
}
.news dt span.products {
  background: #ff9933;
}
.news dt span.research {
  background: #a61c71;
}
.news dt span.recruit {
  background: #8ee500;
}
.news dd + dt {
  padding-top: 15px;
}
@media (max-width: 767px) {
  .news dd + dt {
    padding-top: 30px;
  }
}
.news dd {
  margin: 0;
  padding: 0 0 0 235px;
  line-height: 17px;
}
@media (max-width: 767px) {
  .news dd {
    padding: 4px 0 0;
  }
}
.news dd a {
  position: relative;
  color: #333;
  font-size: 13px;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .news dd a {
    font-size: 13px;
    line-height: 1.7;
  }
}
.news dd a:hover {
  color: #009fa8;
  text-decoration: none;
}
.news dd + dt + dd {
  padding-top: 15px;
}
@media (max-width: 767px) {
  .news dd + dt + dd {
    padding-top: 4px;
  }
}

.local-nav + article .news dt {
  position: relative;
}
.local-nav + article .news dt:not(:first-child) {
  @media (max-width: 767px) {
    padding-top: 20px;
  }
}
.local-nav + article .news dt time {
  display: block;
  width: auto;
  line-height: 1;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .local-nav + article .news dt time {
    display: inline-block;
    position: relative;
    top: 0;
    left: 0;
  }
}
.local-nav + article .news dt span {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .local-nav + article .news dt span {
    margin-top: 0;
  }
}
.local-nav + article .news dd + dt time {
  top: 15px;
}
@media (max-width: 767px) {
  .local-nav + article .news dd + dt time {
    top: 0;
  }
}
.local-nav + article .news dd {
  margin-top: 20px;
  padding-left: 100px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #e4e4e4;
}
@media (max-width: 767px) {
  .local-nav + article .news dd {
    padding-left: 0;
    margin-top: 0;
  }
}

.index-contents + .news {
  margin-top: 60px;
  margin-bottom: 0;
}

/*pager*/
.pager {
  list-style: none;
  margin: 30px 0;
  padding: 0 8em;
  text-align: center;
  position: relative;
}
.pager:before,
.pager:after {
  content: "";
  display: table;
}
.pager:after {
  clear: both;
}
.pager li {
  display: inline;
  margin: 0;
  padding: 0;
}
.pager .prev,
.pager .next {
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1.8;
  padding: 0 0 0 1em;
}
.pager .prev:after,
.pager .next:after {
  content: "\3C";
  position: absolute;
  top: 0;
  left: 0;
  color: #164392;
}
.pager .prev a,
.pager .next a {
  color: #333;
}
.pager .next {
  left: auto;
  right: 0;
  padding: 0 1em 0 0;
}
.pager .next:after {
  content: "\3E";
  left: auto;
  right: 0;
}
.pager .is-disable:after,
.pager .is-disable span {
  color: #ddd;
}
.pager .index {
  margin: 0;
}
.pager .index span,
.pager .index a {
  color: #333;
  font-size: 100%;
  border-radius: 5px;
  line-height: 1.8;
  width: 1.8em;
  display: inline-block;
  padding: 0;
  border: 1px solid #ddd;
}
.pager .index a:hover,
.pager .index span {
  border-color: #009fa8;
  background-color: #009fa8;
  color: #fff;
}

/*contact*/
.contact {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .contact {
    margin-top: 30px;
  }
}
.contact h3 {
  background: #164392;
  position: relative;
  color: #fff;
  font-size: 16px;
  line-height: 38px;
  padding: 0 20px;
  margin: 0;
  border-radius: 5px 5px 0 0;
}
@media (max-width: 767px) {
  .contact h3 {
    line-height: 1.5;
    padding: 10px 20px;
  }
}
.contact h3 span {
  position: absolute;
  top: 0;
  right: 20px;
  font-size: 13px;
}
@media (max-width: 767px) {
  .contact h3 span {
    position: relative;
    display: block;
    right: unset;
  }
}
.contact h4 {
  font-size: 16px;
  margin-top: 0;
  margin-bottom: 10px;
}

@media (max-width: 900px) {
  .contact .col2 .col__box {
    width: 100%;
  }
}
.contact section.col__box {
  clear: none;
}
.contact section.col__box:after {
  display: none;
}
.contact section.col__box + section.col__box {
  margin-top: 0;
}
.contact .contact__box {
  border: 1px solid #ddd;
  padding: 25px 10px 5px 10px;
}
@media (max-width: 900px) {
  .contact .contact__box {
    padding: 20px 15px;
  }
}

@media (max-width: 1024px) {
  .contact .contact__box .col3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .contact .contact__box .col3 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .contact .contact__box .col3::before,
  .contact .contact__box .col3::after {
    content: none;
  }
}

@media (max-width: 1024px) {
  .contact .contact__box .col3 .col__box {
    width: 100%;
  }
}
.dir-privacy .contact .contact__box &gt; p {
  margin-top: -1em;
}

.dir-privacy .contact .contact__box &gt; p + p {
  margin-top: 0;
}
.contact .contact__box dl {
  padding: 0 0 0 10px;
  margin: 0;
}
.contact .contact__box dt {
  color: #1d2088;
  font-size: 18px;
  line-height: 1;
  margin: 10px 0;
  padding: 7px 0 7px 40px !important;
  background: url(/img/contact/contact__tel--3.png) no-repeat 0 50%;
  background-size: 22px 32px;
}
.contact .contact__box dd {
  margin: 0;
  padding: 0;
}
.contact .contact__box ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.contact .contact__box ul li {
  list-style: none;
  margin: 0;
  padding: 5px 0;
  color: #1d2088;
  font-size: 22px;
  line-height: 1;
}
@media (max-width: 900px) {
  .contact .contact__box ul li {
    font-size: 20px;
    line-height: 1;
  }
}
.contact .contact__box .contact__box--1 {
  background: url(/img/contact/contact__tel--1.png) no-repeat 0 50%;
  background-size: 39px 52px;
  padding: 0 0 0 50px !important;
}
.dir-products .contact .contact__box .contact__box--1,
.dir-privacy .contact .contact__box .contact__box--1 {
  background: url(/img/contact/contact__tel--3.png) no-repeat 0 50%;
  background-size: 22px 32px;
  padding: 0 0 0 40px !important;
}

.dir-products .contact .contact__box .contact__box--1 + p,
.dir-privacy .contact .contact__box .contact__box--1 + p {
  position: relative;
  padding-left: 4em;
}
.dir-products .contact .contact__box .contact__box--1 + p em,
.dir-privacy .contact .contact__box .contact__box--1 + p em {
  position: absolute;
  top: 0;
  left: 0;
}

.dir-privacy .contact .contact__box .contact__box--1 + p {
  padding-left: 9em;
}
.contact .contact__box .contact__box--2 {
  padding: 11px 0 11px 50px !important;
  background: url(/img/contact/contact__tel--2.png) no-repeat 0 50%;
  background-size: 39px 52px;
}
.dir-products .contact .contact__box .contact__box--2,
.dir-privacy .contact .contact__box .contact__box--2 {
  background: none;
  padding: 10px 10px 0 10px !important;
}
.dir-products .contact .contact__box .contact__box--2 a,
.dir-privacy .contact .contact__box .contact__box--2 a {
  display: block;
  height: 55px !important;
  line-height: 55px !important;
  text-decoration: none;
  text-align: center;
  font-size: 18px !important;
  position: relative;
  max-width: 85%;
  margin-left: auto;
  margin-right: auto;
}
.dir-products .contact .contact__box .contact__box--2 a:before,
.dir-privacy .contact .contact__box .contact__box--2 a:before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 15px;
  background: url(/img/common/mail-ico.png) no-repeat 0 0;
  background-size: 23px 15px;
  padding-right: 10px;
}
.contact .contact__box .contact__box--3 {
  padding: 11px 0 11px 40px !important;
  background: url(/img/contact/contact__tel--3.png) no-repeat 0 50%;
  background-size: 22px 32px;
}
.contact .contact__box .contact__tel__id {
  background: #009fa8;
  color: #fff;
  margin: 0 10px 0 0;
  padding: 0 9px;
  font-size: 14px;
  display: inline-block;
  border-radius: 3px;
  vertical-align: top;
  @media (max-width: 900px) {
    margin-top: 3px;
  }
}
.contact em {
  color: #1d2088;
  font-style: normal;
}

.contact__form {
  margin: 0 0 60px 0;
}
.contact__form textarea {
  height: 10em;
  width: 80%;
  @media (max-width: 767px) {
    width: 100%;
  }
}
.contact__form textarea,
.contact__form input[type="tel"],
.contact__form input[type="number"],
.contact__form input[type="text"] {
  background: #fff;
  border: 1px solid #ddd;
  padding: 0.75em 0.5em;
  color: #333;
  font-size: 16px;
  -webkit-box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.1);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
}
.contact__form input[size="6"] {
  width: 12.5%;
}
@media (max-width: 767px) {
  .contact__form input[size="6"] {
    width: 30%;
  }
}

@media (max-width: 767px) {
  [lang="en"] .contact__form input[size="6"] {
    width: calc((100% - 48px) / 4);
  }
}
.contact__form input[size="15"] {
  width: 35%;
}
@media (max-width: 767px) {
  .contact__form input[size="15"] {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .contact__form table td:has(input[size="15"]) {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    gap: 10px;
  }
}
.contact__form input[size="40"] {
  width: 80%;
}
@media (max-width: 767px) {
  .contact__form input[size="40"] {
    width: 100%;
  }
}
.contact__form select,
.contact__form option {
  font-size: 16px;
}
.contact__form input[disabled="disabled"],
.contact__form input[disabled],
.contact__form input[readonly="readonly"],
.contact__form input[readonly] {
  color: #999;
}
.contact__form label {
  display: inline-block;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 5px;
}
@media (max-width: 767px) {
  .contact__form label {
    padding: 5px 10px;
  }
}
.contact__form label + label {
  margin-left: 0.5em;
}
.contact__form label:hover {
  border-color: #ddd;
}
.contact__form .txt-label {
  display: inline-block;
  padding-right: 5px;
  color: #999;
  min-width: 2em;
  text-align: right;
}
.contact__form .txt-hyphen {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px;
  color: #999;
}
.contact__form .required {
  color: #ff0700;
  font-size: 80%;
}
.contact__form .btn {
  text-align: center;
  margin: 40px 0;
}
@media (max-width: 767px) {
  .contact__form .btn {
    margin: 20px auto;
    display: grid;
    gap: 10px;
    width: fit-content;
  }
}
.contact__form button {
  border: 0 none;
  margin: 0;
  padding: 0;
  min-width: 370px;
  height: 50px;
  line-height: 50px;
  border-radius: 50px;
  font-weight: normal;
  display: inline-block;
  font-size: 18px;
}
@media (max-width: 767px) {
  .contact__form button {
    min-width: 300px;
  }
}
.contact__form .btn--submit {
  background: #009fa8;
  background: -webkit-gradient(linear, left top, left bottom, from(#009fa8), to(#00939d));
  background: -webkit-linear-gradient(top, #009fa8, #00939d);
  background: linear-gradient(to bottom, #009fa8, #00939d);
  color: #fff;
}
.contact__form .btn--submit:hover {
  background: #00939d;
}
.contact__form .btn--submit span:before {
  content: "";
  padding-right: 5px;
  display: inline-block;
  width: 6px;
  height: 10px;
  background: url(/img/common/arrow-white.png) no-repeat 0 0;
}
.contact__form .btn--back {
  background: #eee;
  background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#ddd));
  background: -webkit-linear-gradient(top, #eee, #ddd);
  background: linear-gradient(to bottom, #eeeeee, #dddddd);
  color: #666;
  margin-left: 1em;
}
@media (max-width: 767px) {
  .contact__form .btn--back {
    margin-left: 0;
  }
}
.contact__form .btn--back:hover {
  background: #ddd;
}
.contact__form .btn--back span:before {
  content: "";
  padding-right: 5px;
  display: inline-block;
  width: 6px;
  height: 10px;
  background: url(/img/common/arrow-blue.png) no-repeat 0 0;
  background-size: 6px 10px;
}

.error-box {
  margin: 20px 0;
  padding: 1.25em;
  background-color: #faf4f2;
}
.error-box dt {
  margin-bottom: 10px;
  font-weight: bold;
}
.error-box dd {
  margin: 0;
  padding: 0;
  color: #9b2800;
}

/*index*/
.index-contents {
  display: grid;
}
.index-contents:has(.index-contents__box:not(.wide-type)) {
  grid-template-columns: repeat(3, 1fr);
  gap: 45px 2%;
}
@media (max-width: 767px) {
  .index-contents:has(.index-contents__box:not(.wide-type)) {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 2%;
  }
}
@media (max-width: 480px) {
  .index-contents:has(.index-contents__box:not(.wide-type)) {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px 0;
  }
}
.index-contents:has(.index-contents__box.wide-type:not(.maxwidth)) {
  grid-template-columns: repeat(2, 1fr);
  gap: 45px 3%;
}
@media (max-width: 480px) {
  .index-contents:has(.index-contents__box.wide-type:not(.maxwidth)) {
    grid-template-columns: repeat(1, 1fr);
  }
}
.index-contents:has(.index-contents__box:not(.wide-type)):before {
  content: none;
}
.index-contents:has(.index-content__box:not(.wide-type)) .index-contents__box {
}
.index-contents .index-contents__box figure img {
  width: 100%;
}
.index-contents .col__box {
  margin-top: 0 !important;
  padding: 15px 0 !important;
  border-bottom: 1px dashed #d2d2d2;
}
.index-contents .col__box a {
  display: block;
}
.index-contents .col__box a:hover {
  color: #009fa8;
}
.index-contents .index-contents__box.wide-type.maxwidth {
  width: 100%;
}
.index-contents a {
  text-decoration: none;
  color: #333;
}
.index-contents a img,
.index-contents a dl {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.index-contents a:hover {
  color: #333;
}
.index-contents a:hover img,
.index-contents a:hover dl {
  opacity: 0.5;
}
.index-contents a figure {
  margin: 0;
}
.index-contents a dl {
  padding: 0;
  margin: 0;
}
.index-contents dt {
  color: #0e6599;
  font-size: 22px;
  line-height: 30px;
  display: block;
  margin: 10px 0;
  @media (max-width: 767px) {
    font-size: 18px;
    line-height: 1.6;
    margin: 8px 0;
  }
}
.index-contents a dt {
  padding: 0 0 0 30px;
  background: url(/img/common/arrow-index.png) no-repeat 0 4px;
  background-size: 22px 22px;
}
@media (max-width: 767px) {
  .index-contents a dt {
    padding: 0 0 0 28px;
    background-size: 18px 18px;
    background-position: left top 6px;
  }
}
.index-contents a dd {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 20px;
}
@media (max-width: 767px) {
  .index-contents a dd {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.65;
  }
}

.index-contents video {
  display: block;
  width: 100%;
}

.news + .index-contents,
section + .index-contents,
.lead + .index-contents,
.index-contents + .index-contents {
  margin-top: 50px;
}

/*business*/
.business-domains {
  list-style: none !important;
  padding: 0 !important;
  margin-top: 15px;
}
.business-domains li.col__box {
  padding: 5px 0 !important;
  list-style: none !important;
  vertical-align: top !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.business-domains li.col__box span,
.business-domains li.col__box a {
  display: block;
  padding-left: 15px;
  position: relative;
}
.business-domains li.col__box span {
  background: url(/img/products/products-listmark.png) no-repeat 0 0.6em;
  background-size: 4px 4px;
}

/*products*/
.dir-products td ul {
  padding: 0;
  margin: 0;
}
.dir-products td ul + .mt-image-center,
.dir-products td ul + .mt-image-left,
.dir-products td ul + .mt-image-right {
  margin-top: 30px;
}
.dir-products td li {
  margin: 0;
  padding: 0.15em 0 0.15em 15px;
  list-style: none;
  background: url(/img/products/products-listmark.png) no-repeat 0 0.75em;
  background-size: 4px 4px;
}

.products-list {
  list-style: none !important;
  padding: 0 !important;
  margin-top: -15px !important;
}
@media (max-width: 767px) {
  .products-list {
    display: flex;
    flex-wrap: wrap;
  }
}
.products-list li.col__box {
  padding: 15px 0 !important;
  list-style: none !important;
  vertical-align: top !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.products-list li.col__box span,
.products-list li.col__box a {
  display: block;
  padding-left: 15px;
  position: relative;
}
.products-list li.col__box span {
  background: url(/img/products/products-listmark.png) no-repeat 0 0.6em;
  background-size: 4px 4px;
}

.products-index {
  border-bottom: 1px dashed #ddd;
}
.products-index p {
  padding-left: 10px;
  margin: 0.5em 0;
}
.products-index ul {
  margin: 0.5em 0;
  padding: 0 0 0 10px;
  list-style: none;
}
.products-index li {
  margin: 0;
  padding: 0.15em 0 0.15em 15px;
  list-style: none;
  background: url(/img/products/products-listmark.png) no-repeat 0 0.75em;
  background-size: 4px 4px;
}
@media (max-width: 767px) {
  .products-index li {
    font-size: 15px;
  }
}

.products-index + .products-index {
  margin-top: 0;
}

/*sitemap*/
.dir-404 h2,
.dir-sitemap h2 {
  margin-bottom: 10px;
}
.dir-404 h2 a,
.dir-sitemap h2 a {
  display: block;
  background: url(/img/common/arrow-index.png) no-repeat 100% 50%;
  background-size: 22px 22px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.dir-404 h2 a:hover,
.dir-sitemap h2 a:hover {
  opacity: 0.5;
}
.dir-404 h2 + h2,
.dir-404 .col + h2,
.dir-sitemap h2 + h2,
.dir-sitemap .col + h2 {
  margin-top: 40px;
}
.dir-404 .index-contents__box.wide-type:nth-child(n + 3),
.dir-sitemap .index-contents__box.wide-type:nth-child(n + 3) {
  margin-top: 60px;
}

/*sdgs*/
.sdgs + .sdgs {
  margin-top: 6em;
}
.sdgs-item + .sdgs-item {
  margin-top: 4em;
}
.sdgs-img {
  margin: 2em 0 3em 0;
}
.sdgs-relationships {
  margin: 2em 0 0 0;
}
.sdgs-relationships dt {
  font-weight: bold;
  font-size: 100%;
  margin: 0;
}
.sdgs-relationships dd {
  margin: 1em 0 0 0;
  padding: 0;
}
.sdgs-works {
  margin: 2em 0 0 0;
}
.sdgs-works dt {
  font-weight: bold;
  font-size: 100%;
  margin: 0;
}
.sdgs-works dd {
  margin: 1em 0 0 0;
  padding: 0;
}
.sdgs-icons {
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-box;
  /*Android 4.3&gt;=*/
  display: -webkit-flex;
  /*Safari, Chrome, Opera*/
  display: flex;
  /*IE11, Firefox*/
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .sdgs-icons {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
  }
}
@media (max-width: 480px) {
  .sdgs-icons {
    grid-template-columns: repeat(4, 1fr);
  }
}
.sdgs-icons li {
  list-style: none;
  width: calc(12.5% - 8px);
  margin: 0 9px 0 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .sdgs-icons li {
    width: 100%;
    margin: 0;
  }
}
.sdgs-icons li:nth-child(8n) {
  margin-right: 0;
}
.sdgs-icons li:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.sdgs-icons--1 {
  background-image: url(/img/company/sdgs/icon1.svg);
}
.sdgs-icons--1.en {
  background-image: url(/img/company/sdgs_icon/icon1_en.svg);
}
.sdgs-icons--2 {
  background-image: url(/img/company/sdgs/icon2.svg);
}
.sdgs-icons--2.en {
  background-image: url(/img/company/sdgs_icon/icon2_en.svg);
}
.sdgs-icons--3 {
  background-image: url(/img/company/sdgs/icon3.svg);
}
.sdgs-icons--3.en {
  background-image: url(/img/company/sdgs_icon/icon3_en.svg);
}
.sdgs-icons--4 {
  background-image: url(/img/company/sdgs/icon4.svg);
}
.sdgs-icons--4.en {
  background-image: url(/img/company/sdgs_icon/icon4_en.svg);
}
.sdgs-icons--5 {
  background-image: url(/img/company/sdgs/icon5.svg);
}
.sdgs-icons--5.en {
  background-image: url(/img/company/sdgs_icon/icon5_en.svg);
}
.sdgs-icons--6 {
  background-image: url(/img/company/sdgs/icon6.svg);
}
.sdgs-icons--6.en {
  background-image: url(/img/company/sdgs_icon/icon6_en.svg);
}
.sdgs-icons--7 {
  background-image: url(/img/company/sdgs/icon7.svg);
}
.sdgs-icons--7.en {
  background-image: url(/img/company/sdgs_icon/icon7_en.svg);
}
.sdgs-icons--8 {
  background-image: url(/img/company/sdgs/icon8.svg);
}
.sdgs-icons--8.en {
  background-image: url(/img/company/sdgs_icon/icon8_en.svg);
}
.sdgs-icons--9 {
  background-image: url(/img/company/sdgs/icon9.svg);
}
.sdgs-icons--9.en {
  background-image: url(/img/company/sdgs_icon/icon9_en.svg);
}
.sdgs-icons--10 {
  background-image: url(/img/company/sdgs/icon10.svg);
}
.sdgs-icons--10.en {
  background-image: url(/img/company/sdgs_icon/icon10_en.svg);
}
.sdgs-icons--11 {
  background-image: url(/img/company/sdgs/icon11.svg);
}
.sdgs-icons--11.en {
  background-image: url(/img/company/sdgs_icon/icon11_en.svg);
}
.sdgs-icons--12 {
  background-image: url(/img/company/sdgs/icon12.svg);
}
.sdgs-icons--12.en {
  background-image: url(/img/company/sdgs_icon/icon12_en.svg);
}
.sdgs-icons--13 {
  background-image: url(/img/company/sdgs/icon13.svg);
}
.sdgs-icons--13.en {
  background-image: url(/img/company/sdgs_icon/icon13_en.svg);
}
.sdgs-icons--14 {
  background-image: url(/img/company/sdgs/icon14.svg);
}
.sdgs-icons--14.en {
  background-image: url(/img/company/sdgs_icon/icon14_en.svg);
}
.sdgs-icons--15 {
  background-image: url(/img/company/sdgs/icon15.svg);
}
.sdgs-icons--15.en {
  background-image: url(/img/company/sdgs_icon/icon15_en.svg);
}
.sdgs-icons--16 {
  background-image: url(/img/company/sdgs/icon16.svg);
}
.sdgs-icons--16.en {
  background-image: url(/img/company/sdgs_icon/icon16_en.svg);
}
.sdgs-icons--17 {
  background-image: url(/img/company/sdgs/icon17.svg);
}
.sdgs-icons--17.en {
  background-image: url(/img/company/sdgs_icon/icon17_en.svg);
}

.alt-title {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0 0 99.9% 99.9%);
  clip-path: inset(0 0 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

/* ----------------------------------------------------------------
  home
----------------------------------------------------------------- */
.dir-home {
  background: url(/img/top/bg.jpg) no-repeat 50% 138px;
}
@media (max-width: 767px) {
  .dir-home {
    background: url(/img/top/bg.jpg) no-repeat 50% 56px;
    background-size: 1000px 222px;
  }
}
.dir-home .main-visual {
  height: 560px;
  position: relative;
}
@media (max-width: 767px) {
  .dir-home .main-visual {
    height: 222px;
  }
}
.dir-home .main-visual h1 {
  visibility: hidden;
  overflow: hidden;
  padding: 290px 0 0 0;
  height: 0;
  max-width: 900px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: 100% 100%;
}
[lang="en"] .dir-home .main-visual h1 {
  padding-top: 260px;
}
.dir-home .main-visual .main-visual--anniversary {
  max-width: 750px;
  padding-top: 320px;
}
.dir-home .main-visual.loaded {
  background: url(/img/top/main.png) no-repeat 50% 0;
  -webkit-animation: fadeIn1 2s;
  animation: fadeIn1 2s;
}
@media (max-width: 767px) {
  .dir-home .main-visual.loaded {
    background: url(/img/top/main.png) no-repeat calc(50% - 70px) 0;
    background-size: 768px auto;
  }
}
.dir-home .main-visual.loaded h1 {
  visibility: visible;
  -webkit-animation: fadeIn2 2s;
  animation: fadeIn2 2s;
}
.dir-home .main-visual.loaded .main-visual--anniversary {
  background-image: url(/img/top/copy_100.png);
  background-size: 332px 239px;
}
[lang="en"] .dir-home .main-visual.loaded .main-visual--anniversary {
  background-image: url(/english/img/top/copy_100.png);
  background-size: 383px 217px;
}
.dir-home .main-visual.loaded .main-visual--copy {
  background-image: url(/img/top/copy.png);
  background-size: 389px 78px;
}
@media (max-width: 767px) {
  .dir-home .main-visual.loaded .main-visual--copy {
    background-size: 257px auto;
    background-position: bottom 140px left calc(50% + 40px);
  }
}
@media (max-width: 375px) {
  .dir-home .main-visual.loaded .main-visual--copy {
    background-position: bottom 140px right 20px;
  }
}

[lang="en"] .dir-home .main-visual.loaded .main-visual--copy {
  background-image: url(/english/img/top/copy.png);
  background-size: 385px 47px;
}
@media (max-width: 767px) {
  [lang="en"] .dir-home .main-visual.loaded .main-visual--copy {
    background-size: 257px auto;
    background-position: bottom 140px left calc(50% + 40px);
  }
}
@media (max-width: 375px) {
  [lang="en"] .dir-home .main-visual.loaded .main-visual--copy {
    background-position: bottom 130px right 20px;
  }
}

.dir-home .contents {
  margin-top: -140px;
}
@media (max-width: 767px) {
  .dir-home .contents {
    margin-top: 0;
  }
}
.dir-home .index-contents figure {
  background-color: #fff;
}
.dir-home .index-contents + .index-contents {
  margin-top: 45px;
}
@media (max-width: 767px) {
  .dir-home .index-contents + .index-contents {
    margin-top: 40px;
  }
}
.dir-home #living {
  margin-top: 60px;
}
.dir-home #living a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.dir-home #living a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.dir-home #living a:hover:before {
  border-color: #009fa8;
}
.dir-home .gorup-link {
  background: #f7f7f7;
}
.dir-home .gorup-link &gt; dl {
  max-width: 980px;
  margin: 60px auto 0 auto;
  padding: 40px 20px;
}
.dir-home .gorup-link &gt; dl &gt; dd {
  margin: 0;
  padding: 0;
}
.dir-home .gorup-link &gt; dl &gt; dd &gt; ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: table;
  width: 100%;
  table-layout: fixed;
}
@media (max-width: 850px) {
  .dir-home .gorup-link &gt; dl &gt; dd &gt; ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
}
@media (max-width: 767px) {
  .dir-home .gorup-link &gt; dl &gt; dd &gt; ul {
    grid-template-columns: repeat(2, 1fr);
    margin-inline: auto;
    width: fit-content;
    gap: 24px;
  }
}
@media (max-width: 480px) {
  .dir-home .gorup-link &gt; dl &gt; dd &gt; ul {
    grid-template-columns: 1fr;
  }
}

.dir-home .gorup-link &gt; dl &gt; dd &gt; ul &gt; li {
  display: table-cell;
  margin: 0;
  padding: 0;
}
.dir-home .gorup-link .gorup-link__title {
  font-size: 24px;
  line-height: 24px;
  padding: 0 0 20px 0;
  margin: 0 0 20px 0;
  border-bottom: 1px solid #ddd;
}
@media (max-width: 767px) {
  .dir-home .gorup-link .gorup-link__title {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: calc(0.2 / 20 * 1em);
    margin: 0 0 30px 0;
  }
}
.dir-home .gorup-link .gorup-link__unit {
  margin: 0;
  padding: 0;
}
.dir-home .gorup-link .gorup-link__unit__title {
  color: #0e6599;
  font-size: 18px;
  line-height: 18px;
  margin: 0 0 15px 0;
  padding: 0;
}
@media (max-width: 767px) {
  .dir-home .gorup-link .gorup-link__unit__title {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: calc(0.18 / 18 * 1em);
    margin: 0 0 4px 0;
  }
}
.dir-home .gorup-link dd + .gorup-link__unit__title {
  margin-top: 25px;
}
.dir-home .gorup-link .gorup-link__unit__title + dd {
  margin: 0;
  padding: 0;
}
.dir-home .gorup-link .gorup-link__unit__title + dd ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .dir-home .gorup-link .gorup-link__unit__title + dd ul {
    display: grid;
    gap: 4px;
  }
}
.dir-home .gorup-link .gorup-link__unit__title + dd ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .dir-home .gorup-link .gorup-link__unit__title + dd ul li {
    font-size: 15px;
    font-weight: 300;
    line-height: calc(23 / 15);
  }
}
.dir-home .gorup-link a {
  text-decoration: underline;
}
.dir-home .gorup-link a:hover {
  text-decoration: none;
}
.dir-home .footer {
  margin-top: -10px;
}
@media (max-width: 767px) {
  .dir-home .footer {
    margin-top: 0;
  }
}
.dir-home .footer .go-to-top {
  background: none;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes fadeIn1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn2 {
  0%,
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn2 {
  0%,
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media print {
  .local-nav,
  .header-sub,
  .header-nav,
  .breadcrumb-list,
  .footer .go-to-top,
  .footer .sitemap,
  .footer .utility__inner ul {
    display: none !important;
  }

  * {
    color: inherit !important;
    background: transparent none !important;
    font-size: inherit !important;
  }

  body,
  a {
    color: #000 !important;
    background-color: #fff !important;
    text-decoration: none !important;
    border: 0 none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
    font-size: 13px !important;
  }

  .header-inner &gt; [itemprop="name"] {
    text-align: center !important;
    padding: 0 0 20px 0 !important;
    font-size: 20px !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
  }

  .header,
  .page-header {
    height: auto !important;
    border: 0 none !important;
  }

  .index-contents__box dt {
    padding: 0;
  }

  .page-header__inner {
    padding-left: 0 !important;
  }
  .page-header__inner h1 {
    text-align: center;
  }
  .page-header__inner .page-header__sub {
    display: none;
  }

  article {
    margin-top: 0 !important;
  }

  article h2 {
    padding: 0 0 10px 0 !important;
  }

  .footer small {
    display: block !important;
    float: none !important;
    text-align: center !important;
    clear: both !important;
    font-size: 10px !important;
  }

  .contents .local-nav + article {
    margin-left: 0 !important;
    height: auto !important;
  }
}

@media (max-width: 767px) {
  .u-hidden-sp {
    display: none;
  }
}

@media (min-width: 768px) {
  .u-visible-sp {
    display: none;
  }
}
</pre></body></html>