@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 */
}

/**
 * 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 < 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 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;
}

td,
th {
  padding: 0;
}

/* ============================================================================
 * ベース設定
 * ========================================================================= */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, input, button, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-style: normal;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-family: \30e1\30a4\30ea\30aa, Meiryo, \30D2\30E9\30AE\30CE\89D2\30B4\20\50\72\6F\20\57\33, "Hiragino Kaku Gothic Pro", \FF2D\FF33\20\FF30\30B4\30B7\30C3\30AF, "MS PGothic", sans-serif;
  font-size: 16px;
  font-size: 1.6em;
  color: #3d3d3d;
  line-height: 1.62;
  -webkit-text-size-adjust: 100%;
  background: #d7d7d7;
}

@media screen and (max-width: 640px) {
  body {
    word-break: break-all;
  }
}
small {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}

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

em, strong, b {
  font-weight: bold;
}

strong {
  color: #c00;
}

a {
  color: #039;
  text-decoration: underline;
}
a:hover, /* a:focus ,*/ a:active {
  color: #039;
  text-decoration: none;
}

@media screen and (min-width: 981px) {
  a,
  button,
  input[type="text"],
  input[type="password"] {
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    transition: 0.2s;
  }

  a:hover img,
  a:focus img,
  a:active img {
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    transition: 0.2s;
    opacity: 0.7;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  border: 0;
}

/* clearfix */
.clearfix::after, .modHdg1 .info::after, .modLinkCol2::after,
.modLinkCol3::after,
.modLinkCol4::after, .modLinkFlex::after, .modListCol2::after,
.modListCol3::after,
.modListCol4::after, .modListFlex::after, .modListLabel::after,
.modListLabelFlex::after, .modLyt::after,
.modLytCol2::after,
.modLytCol3::after,
.modLytCol4::after, .modPurchase::after {
  display: table;
  clear: both;
  content: "";
}

/* ============================================================================
 * テンプレート構造 レイアウト
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * ラッパー
 * ------------------------------------------------------------------------- */
#strWrapper {
  min-width: 320px;
  max-width: 1260px;
  margin: 0 auto;
  position: relative;
  overflow-x: hidden;
}
#strWrapper::before {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #fff;
  content: "";
}

/* ----------------------------------------------------------------------------
 * レイアウト
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * フルカラムレイアウト
 * --------------------------------- */
.strLytFull .strMain {
  width: 1260px;
  display: table-cell;
}

/* ------------------------------------
 * 2カラムレイアウト
 * --------------------------------- */
.strLytCol2 .strMain {
  width: 1260px;
  vertical-align: top;
  display: table-cell;
}
.strLytCol2 .strSub {
  min-width: 300px;
  padding: 0 0 0 30px;
  display: table-cell;
}

@media screen and (max-width: 980px) {
  .strLytCol2 .strSub {
    margin: 32px 0 0;
    min-width: inherit;
    padding: 0;
    display: block;
  }
}
/* ------------------------------------
 * 狭幅レイアウト
 * --------------------------------- */
.strLytNarrow .strContentBody .content {
  max-width: 970px;
  box-sizing: content-box;
}

/* ------------------------------------
 * 構造内インナー要素
 * --------------------------------- */
#strHeader .content,
#strFooter .content,
.strContentHead .content,
.strContentBody .content,
.strContentFoot .content,
.strBreadcrumb .content {
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 45px;
}

@media screen and (max-width: 1200px) {
  #strHeader .content,
  #strFooter .content,
  .strContentHead .content,
  .strContentBody .content,
  .strContentFoot .content,
  .strBreadcrumb .content {
    padding: 0 15px;
  }
}
/* ============================================================================
 * テンプレート構造 コンテントエリア
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * コンテントエリア内構造
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * コンテントヘッダー
 * --------------------------------- */
/* ------------------------------------
 * コンテントフッター
 * --------------------------------- */
/* ------------------------------------
 * コンテントボディ
 * --------------------------------- */
.strContentBody {
  margin: 40px 0 60px;
}

@media screen and (max-width: 768px) {
  .strContentBody {
    margin: 32px 0;
  }
}
/* ------------------------------------
 * コンテントメイン
 * --------------------------------- */
.strMain > *:first-child {
  margin-top: 0;
}

/* ------------------------------------
 * コンテントサブ
 * --------------------------------- */
/* ============================================================================
 * テンプレート構造 ヘッダー
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * ヘッダー全体
 * ------------------------------------------------------------------------- */
#strHeader {
  position: relative;
}

/* ------------------------------------
 * ヘッダー要素包括
 * --------------------------------- */
.headerTitle {
  height: 76px;
  display: table;
}
.headerTitle::after {
  width: 100%;
  height: 1px;
  margin: 0 -100%;
  padding: 0 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 11;
  border-bottom: 1px solid #ccc;
  content: "";
}
.headerTitle #siteTitle {
  /*width: 445px;
  max-width: 445px;*/
  line-height: 1.4;
  display: table-cell;
  vertical-align: middle;
  position: relative;
}
.headerTitle #siteTitle img {
  opacity: 1;
}
.headerTitle #siteTitle a {
  /*width: 445px;
  max-width: 445px;*/
  display: block;
}
.headerTitle #siteTitle .eset {
/*
2021/7/1 バンドル化対応前の記述
max-width: 67px;
  position: absolute;
  bottom: -39px;
  left: 0;
  z-index: 12;
*/
/*2021/5/26 アイソレーションエリア考慮分*/
  max-width: 84px;
  position: absolute;
  bottom: -45px;
  left: -10px;
  z-index: 12;
}
.headerTitle #siteTitle .eset a {
  display: inline;
}
.headerTitle #navTrigger {
  display: none;
}

@media screen and (max-width: 980px) {
  /*.headerTitle #siteTitle {
    width: 365px;
    max-width: 365px;
  }
  .headerTitle #siteTitle a {
    width: 365px;
    max-width: 365px;
  }*/
}
@media screen and (max-width: 768px) {
  .headerTitle {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
  }
  .headerTitle::after {
    z-index: auto;
  }
  .headerTitle #siteTitle {
    margin: 0 auto;
    padding: 10px 0 0;
    vertical-align: top;
    display: inline-block;
  }
  .headerTitle #siteTitle a {
    margin-bottom: 6px;
  }
  .headerTitle #siteTitle .eset {
    max-width: 100%;
    margin: 0;
    position: relative;
    bottom: auto;
    left: auto;
    display: block;
    padding: 6px 0;
  }
  .headerTitle #siteTitle .eset:after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    right: -100%;
    bottom: 0;
    z-index: -1;
    display: block;
    background-color: #e6ecef;
  }
  .headerTitle #siteTitle .eset img {
    max-width: 80px;
  }
  .headerTitle #navTrigger {
    width: 40px;
    height: 40px;
    position: absolute;
    bottom: 1px;
    right: -10px;
    z-index: 13;
    border: none;
    background: #e6ecef;
  }
  .headerTitle #navTrigger::after {
    width: 20px;
    height: 12px;
    margin: -6px 0 0 -10px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-position: -94px -54px;
    background-image: url(../img/ico_sprites.png);
    content: "";
  }
  .headerTitle #navTrigger span {
    position: relative;
    top: -999em;
    left: -999em;
  }
  .headerTitle #navTrigger.active::after {
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    background-position: -73px -52px;
  }

  [data-script-enabled="true"] #navTrigger {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .headerTitle #siteTitle {
    width: 100%;
  }/*
  .headerTitle #siteTitle a {
    width: 100%;
  }*/
  .headerTitle #siteTitle .eset {
    padding: 8px 0;
  }
  .headerTitle #siteTitle .eset img {
    width: 68px;
  }
}
/* ------------------------------------
 * 要素包括
 * --------------------------------- */
.headerContent {
  position: relative;
}
.headerContent .headerSearch {
  position: absolute;
  top: -56px;
  right: 0;
}
.headerContent .headerSearch .searchText {
  width: 260px;
  margin: 0 0 0 24px;
  position: relative;
}
.headerContent .headerSearch .searchText input[type="text"] {
  width: 100%;
  height: 36px;
  min-height: 36px;
  padding: 0 35px 0 8px;
  box-sizing: border-box;
  border: 1px solid #e6e6e6;
  background: #e6e6e6;
}
.headerContent .headerSearch .searchText input[type="text"]:focus {
  border: 1px solid #e6e6e6;
  background: #fff;
}
.headerContent .headerSearch .searchText input[type="image"] {
  padding: 9px 8px;
  position: absolute;
  top: 0;
  right: 0;
}
.headerContent .close {
  display: none;
}

@media screen and (max-width: 768px) {
  .headerContent {
    margin: 0 -15px;
    background: #f5f5f5;
  }
  .headerContent .headerSearch {
    padding: 11px 15px 12px;
    position: static;
    border-bottom: 1px solid #ccc;
  }
  .headerContent .headerSearch .searchText {
    width: 100%;
    margin: 0;
  }
  .headerContent .close {
    width: 100%;
    padding: 15px 0 11px;
    display: none;
    color: #fff;
    position: relative;
    border: none;
    border-radius: 0;
    background: #858585;
  }
  .headerContent .close::after {
    width: 16px;
    height: 16px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    right: 17px;
    background-position: -10px -52px;
    background-image: url(../img/ico_sprites.png);
    content: "";
  }

  [data-script-enabled="true"] .headerContent {
    display: none;
  }
  [data-script-enabled="true"] .headerContent .close {
    display: block;
  }
}
/* ----------------------------------------------------------------------------
 * グローバルナビゲーション
 * ------------------------------------------------------------------------- */
.navGlobal {
  position: relative;
}
.navGlobal::after {
  width: 100%;
  height: 100%;
  margin: 0 -100%;
  padding: 0 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #e6ecef;
  content: "";
}
.navGlobal .nav {
  position: relative;
  z-index: 10;
  width: 100%;
  padding: 0 0 0 90px;
  display: table;
  table-layout: fixed;
}
.navGlobal .nav > li {
  text-align: center;
  vertical-align: middle;
  display: table-cell;
}
.navGlobal .nav > li.current a::before {
  height: 4px;
  border-bottom: 4px solid #148299;
  opacity: 1;
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  transform: translateY(-5px);
}
.navGlobal .nav > li.current > a {
  font-weight: bold;
}
.navGlobal .nav > li > a {
  padding: 13.5px 3px;
  color: #141414;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  position: relative;
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
}
.navGlobal .nav > li > a::before {
  width: 100%;
  height: 1px;
  position: absolute;
  top: 100%;
  left: 0;
  box-sizing: border-box;
  opacity: 0;
  -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  -moz-transition: height 0.3s, opacity 0.3s, -moz-transform 0.3s;
  transition: height 0.3s, opacity 0.3s, transform 0.3s;
  -webkit-transform: translateY(-10px);
  -moz-transform: translateY(-10px);
  transform: translateY(-10px);
  content: "";
}
.navGlobal .nav > li > a > .submenuState {
  display: none;
}
.navGlobal .nav > li > a:hover, .navGlobal .nav > li > a:focus, .navGlobal .nav > li > a:active {
  font-weight: bold;
  position: relative;
}
.navGlobal .nav > li > a:hover::before, .navGlobal .nav > li > a:focus::before, .navGlobal .nav > li > a:active::before {
  height: 4px;
  border-bottom: 4px solid #148299;
  opacity: 1;
  -webkit-transform: translateY(-4px);
  -moz-transform: translateY(-4px);
  transform: translateY(-4px);
}
.navGlobal .nav > li > a.other {
  background-color: #0a4e79;
  color: #fff;
  font-weight: bold;
}
.navGlobal .nav > li > a.other:hover::before, .navGlobal .nav > li > a.other:focus::before, .navGlobal .nav > li > a.other:active::before {
  border-color: #fff;
}
.navGlobal.business .nav > li:nth-child(1) {
  width: 21%;
}
.navGlobal.business .nav > li:nth-child(2) {
  width: 13.5%;
}
.navGlobal.business .nav > li:nth-child(3) {
  width: 13.5%;
}
.navGlobal.business .nav > li:nth-child(4) {
  width: 18%;
}
.navGlobal.business .nav > li:nth-child(5) {
  width: 17%;
}
.navGlobal.business .nav > li:nth-child(6) {
  width: 17%;
}
.navGlobal.business .nav > li.current a::before {
  border-color: #0a4e79;
}
.navGlobal.business .nav > li > a:hover::before, .navGlobal.business .nav > li > a:focus::before, .navGlobal.business .nav > li > a:active::before {
  border-color: #0a4e79;
}
.navGlobal.business .nav > li > a.other {
  background-color: #1190a2;
}
.navGlobal.business .nav > li > a.other:hover::before, .navGlobal.business .nav > li > a.other:focus::before, .navGlobal.business .nav > li > a.other:active::before {
  border-color: #fff;
}
.navGlobal.home .nav > li:nth-child(1) {
  width: 20%;
}
.navGlobal.home .nav > li:nth-child(2) {
  width: 15%;
}
.navGlobal.home .nav > li:nth-child(3) {
  width: 15%;
}
.navGlobal.home .nav > li:nth-child(4) {
  width: 18%;
}
.navGlobal.home .nav > li:nth-child(5) {
  width: 15%;
}
.navGlobal.home .nav > li:nth-child(6) {
  width: 17%;
}

@media screen and (max-width: 768px) {
  .navGlobal::after {
    display: none;
  }
  .navGlobal .nav {
    padding: 0;
    display: block;
  }
  .navGlobal .nav > li {
    padding: 0;
    display: block;
  }
  .navGlobal .nav > li.current a {
    font-weight: normal;
    display: block;
  }
  .navGlobal .nav > li.current > a {
    background-color: #e6e6e6;
  }
  .navGlobal .nav > li.current .current > a {
    background-color: #dcdcdc;
  }
  .navGlobal .nav > li > a {
    position: relative;
    padding: 15px 35px 11px;
    display: block;
    border-top: 1px solid #ccc;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .navGlobal .nav > li > a::before {
    display: none;
  }
  .navGlobal .nav > li > a > .submenuState {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    margin-top: -8px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 100%;
  }
  .navGlobal .nav > li > a > .submenuState::before, .navGlobal .nav > li > a > .submenuState::after {
    position: absolute;
    display: block;
    content: '';
    background: #4f4f4f;
  }
  .navGlobal .nav > li > a > .submenuState::before {
    width: 16px;
    height: 2px;
    top: 50%;
    left: 0;
    margin-top: -1px;
  }
  .navGlobal .nav > li > a > .submenuState::after {
    width: 2px;
    height: 16px;
    top: 0;
    left: 50%;
    margin-left: -1px;
  }
  .navGlobal .nav > li > a:hover, .navGlobal .nav > li > a:focus, .navGlobal .nav > li > a:active {
    font-weight: normal;
  }
  .navGlobal .nav > li > a:hover::before, .navGlobal .nav > li > a:focus::before, .navGlobal .nav > li > a:active::before {
    display: none;
  }
  .navGlobal .nav > li > a.other:hover, .navGlobal .nav > li > a.other:focus, .navGlobal .nav > li > a.other:active {
    font-weight: bold;
  }
  .navGlobal .nav > li > a.open > .submenuState::after {
    content: none;
  }
  .navGlobal.business .nav > li:nth-child(1n), .navGlobal.home .nav > li:nth-child(1n) {
    width: 100%;
  }
}
.headerUtil {
  position: absolute;
  top: -50px;
  right: 0;
}
.headerUtil > .listUtli {
  overflow: hidden;
  font-size: 14px;
  font-size: 1.4rem;
}
.headerUtil > .listUtli > li {
  float: left;
  margin-left: 15px;
}
.headerUtil > .listUtli > li > a {
  display: block;
  color: #3d3d3d;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .headerUtil {
    position: static;
    border-top: 1px solid #ccc;
  }
  .headerUtil > .listUtli > li {
    float: none;
    margin-left: 0;
  }
  .headerUtil > .listUtli > li > a {
    padding: 15px 0 11px;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
  }
}
.headerSubmenu {
  position: absolute;
  top: 100%;
  right: -45px;
  left: -45px;
  display: none;
  background: #25a0b1;
  padding: .5em 69px 1.4em;
  text-align: left;
}
.headerSubmenu > dt {
  display: none;
}
.headerSubmenu > dd > ul {
  margin-left: -3%;
  overflow: hidden;
}
.headerSubmenu > dd > ul > li {
  width: 22%;
  float: left;
  margin: 1.4em 0 0 3%;
}
.home .headerSubmenu > dd > ul > li {
  width: 30%;
  float: left;
  margin: 1.4em 0 0 3%;
}
.headerSubmenu a {
  color: #fff;
  text-decoration: none;
}
.headerSubmenu a > .img,
.headerSubmenu a > .txt {
  display: block;
}
.headerSubmenu a > .img {
  margin-bottom: .5em;
}
.headerSubmenu a > .img img {
  backface-visibility: hidden;
}
.headerSubmenu a > .txt {
  position: relative;
  padding-left: 20px;
}
.headerSubmenu a > .txt::before {
  width: 11px;
  height: 11px;
  position: absolute;
  top: .3em;
  left: 0;
  background-position: -28px -35px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.headerSubmenu a:hover, .headerSubmenu a:focus, .headerSubmenu a:active {
  text-decoration: underline;
}
.open + .headerSubmenu {
  display: block;
}
.business .headerSubmenu {
  background: #0c5e92;
}
.headerSubmenu .current > a {
  text-decoration: underline;
}
.headerSubmenu .current > a img {
  opacity: .7;
}
.headerSubmenu > dd > ul > li.break {
  clear: both;
  display: block;
}

@media screen and (max-width: 768px) {
  .headerSubmenu {
    position: relative;
    left: 0;
    right: 0;
    background: #e6e6e6;
    padding: 0;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .headerSubmenu::before, .headerSubmenu::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    display: block;
  }
  .headerSubmenu::before {
    top: 0;
    height: 4px;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.16)), to(transparent));
    background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.16), transparent);
    background-image: -ms-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.16)), to(transparent));
    background-image: gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.16)), to(transparent));
  }
  .headerSubmenu::after {
    bottom: 0;
    height: 3px;
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.12)), to(transparent));
    background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.12), transparent);
    background-image: -ms-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.12)), to(transparent));
    background-image: gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.12)), to(transparent));
  }
  .headerSubmenu > dt {
    display: block;
  }
  .headerSubmenu > dd > ul {
    margin-left: 0;
  }
  .home .headerSubmenu > dd > ul > li,
  .headerSubmenu > dd > ul > li {
    width: auto;
    float: none;
    margin: 0;
    border-top: 1px solid #ccc;
  }
  .headerSubmenu a {
    display: block;
    color: #1f1f1f;
    padding: 14px 0;
  }
  .headerSubmenu a > .img {
    display: none;
  }
  .headerSubmenu a > .txt {
    margin-top: 0;
    padding-left: 0;
  }
  .headerSubmenu a > .txt::before {
    content: none;
  }
  .headerSubmenu a:hover, .headerSubmenu a:focus, .headerSubmenu a:active {
    text-decoration: none;
  }
  .open + .headerSubmenu {
    display: none;
  }
  .business .headerSubmenu {
    background: #e6e6e6;
  }
  .headerSubmenu .current > a {
    background-color: #ddd;
    text-decoration: none;
  }
  .headerSubmenu .current > a img {
    opacity: 1;
  }
}
/* ============================================================================
 * テンプレート構造 フッター
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * フッター全体
 * ------------------------------------------------------------------------- */
#strFooter {
  font-size: 14px;
  font-size: 1.4rem;
  color: #141414;
}

/* ------------------------------------
 * ページトップ
 * --------------------------------- */
.pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
}
.pageTop > a {
  width: 44px;
  height: 44px;
  overflow: hidden;
  display: block;
  position: relative;
  background: #858585;
}
.pageTop > a::after {
  width: 14px;
  height: 8px;
  margin: -4px 0 0 -7px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-position: -42px -21px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.pageTop > a:hover, .pageTop > a:focus, .pageTop > a:active {
  background: #6c6c6c;
}
.pageTop span {
  position: relative;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .pageTop {
    right: 0;
  }
}
/* ------------------------------------
 * ナビゲーションエリア
 * --------------------------------- */
.footerNav {
  margin: 0 0 40px;
}
.footerNav .sitemap {
  padding: 27px 24px 24px;
  position: relative;
  background: #f8f8f8;
}
.footerNav .sitemap::before {
  width: 100%;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
  background: #228293;
  background: -webkit-gradient(linear, left top, right bottom, from(#228393), to(#002054));
  background: -moz-linear-gradient(left, #228393, #002054);
  background: -ms-gradient(linear, left top, right bottom, from(#228393), to(#002054));
  background: gradient(linear, left top, right bottom, from(#228393), to(#002054));
  content: "";
}
.footerNav .sitemap .hdg {
  margin: 0 0 13px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
}
.footerNav .sitemap .navProduct {
  width: 100%;
  display: table;
  table-layout: fixed;
}
.footerNav .sitemap .navProduct.fit {
  table-layout: auto;
}
.footerNav .sitemap .navProduct + .navInfo {
  margin: 20px 0 0;
}
.footerNav .sitemap .navProduct .segment {
  padding: 5px 24px 3px 24px;
  display: table-cell;
  border-right: 1px solid #dcdcdc;
  vertical-align: top;
}
.footerNav .sitemap .navProduct .segment:first-child {
  padding-left: 0;
}
.footerNav .sitemap .navProduct .segment:last-child {
  padding-right: 0;
  border: none;
}
.footerNav .sitemap .navProduct .listParent > li {
  margin: 24px 0 0 0;
  font-weight: bold;
  display: block;
}
.footerNav .sitemap .navProduct .listParent > li > *:first-child {
  margin-top: 0;
}
.footerNav .sitemap .navProduct .listParent > li:first-child {
  margin-top: 0;
}
.footerNav .sitemap .navProduct .listParent > li > a {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  font-weight: normal;
  text-decoration: none;
}
.footerNav .sitemap .navProduct .listParent > li > a::before {
  width: 11px;
  height: 11px;
  margin-top: -6px;
  position: absolute;
  top: .75em;
  left: 0;
  background-position: -92px -35px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.footerNav .sitemap .navProduct .listParent > li > a:hover, .footerNav .sitemap .navProduct .listParent > li > a:focus, .footerNav .sitemap .navProduct .listParent > li > a:active {
  text-decoration: underline;
}
.footerNav .sitemap .navProduct .listChild {
  margin: 10px 0 0 3px;
}
.footerNav .sitemap .navProduct .listChild li {
  margin: 0 0 2px;
  padding: 0 0 0 17px;
  font-weight: normal;
  position: relative;
}
.footerNav .sitemap .navProduct .listChild li:last-child {
  margin-bottom: 0;
}
.footerNav .sitemap .navProduct .listChild li::before {
  width: 5px;
  height: 6px;
  position: absolute;
  top: 7px;
  left: 0;
  background-position: -10px -10px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.footerNav .sitemap .navProduct .listChild li a {
  text-decoration: none;
}
.footerNav .sitemap .navProduct .listChild li a:hover, .footerNav .sitemap .navProduct .listChild li a:focus, .footerNav .sitemap .navProduct .listChild li a:active {
  text-decoration: underline;
}
.footerNav .sitemap .navInfo {
  background: #eaeaea;
}
.footerNav .sitemap .navInfo .listNav {
  padding: 6px 20px 5px;
  overflow: hidden;
}
.footerNav .sitemap .navInfo .listNav li {
  margin: 0 32px 0 0;
  float: left;
}
.footerNav .sitemap .navInfo .listNav .forSp {
  display: none;
}
.footerNav .sitemap .navInfo .listNav a {
  padding: 0 0 0 20px;
  position: relative;
  text-decoration: none;
}
.footerNav .sitemap .navInfo .listNav a::before {
  width: 11px;
  height: 11px;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  left: 0;
  background-position: -92px -35px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.footerNav .sitemap .navInfo .listNav a:hover, .footerNav .sitemap .navInfo .listNav a:focus, .footerNav .sitemap .navInfo .listNav a:active {
  text-decoration: underline;
}

/* ------------------------------------
 * リンクエリア
 * --------------------------------- */
.footerUtil {
  padding: 13px 0 11px;
  color: #666;
  text-align: center;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.footerUtil a {
  color: #666;
  text-decoration: none;
}
.footerUtil a:hover,
.footerUtil a:focus,
.footerUtil a:active {
  color: #039;
}
.footerUtil .listUtil li {
  margin: 0 13px;
  display: inline-block;
}

/* ------------------------------------
 * インフォエリア
 * --------------------------------- */
.footerInfo {
  padding: 14px 0 17px;
  color: #666;
  text-align: center;
}
.footerInfo .copyright {
  font-family: Arial;
  line-height: 1;
  letter-spacing: 0.06px;
}

@media screen and (max-width: 768px) {
  .footerNav {
    margin: 0 -15px;
  }
  .footerNav .sitemap {
    padding: 0;
    background: #fff;
  }
  .footerNav .sitemap .hdg,
  .footerNav .sitemap .navProduct {
    display: none;
  }
  .footerNav .sitemap .navProduct + .navInfo {
    margin: 0;
  }
  .footerNav .sitemap .navInfo {
    background: #f8f8f8;
  }
  .footerNav .sitemap .navInfo .listNav {
    padding: 0;
  }
  .footerNav .sitemap .navInfo .listNav li {
    margin: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    float: none;
    border-bottom: 1px solid #ccc;
  }
  .footerNav .sitemap .navInfo .listNav .forSp {
    display: block;
  }
  .footerNav .sitemap .navInfo .listNav a {
    padding: 16px 15px 13px 40px;
    color: #3d3d3d;
    text-decoration: none;
    display: block;
  }
  .footerNav .sitemap .navInfo .listNav a::before {
    left: 15px;
  }

  .footerUtil {
    padding: 17px 0 16px;
    text-align: left;
    border: none;
    background: #e6e6e6;
  }
  .footerUtil .listUtil li {
    margin: 0 0 12px;
    padding: 0 0 0 17px;
    position: relative;
    display: block;
  }
  .footerUtil .listUtil li:last-child {
    margin-bottom: 0;
  }
  .footerUtil .listUtil li::before {
    width: 5px;
    height: 8px;
    position: absolute;
    top: 7px;
    left: 4px;
    background-position: -32px -21px;
    background-image: url(../img/ico_sprites.png);
    content: "";
  }

  .footerInfo .copyright {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* ============================================================================
 * テンプレート構造 ブレッドクラム
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .strBreadcrumb
 * ------------------------------------------------------------------------- */
.strBreadcrumb {
  padding: 12px 0 9px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  background: #00416b;
  background: -webkit-gradient(linear, left top, right bottom, from(#00416b), to(#115682));
  background: -moz-linear-gradient(left, #00416b, #115682);
  background: -ms-gradient(linear, left top, right bottom, from(#00416b), to(#115682));
  background: gradient(linear, left top, right bottom, from(#00416b), to(#115682));
}
.strBreadcrumb a, .strBreadcrumb strong {
  color: #fff;
  text-decoration: none;
}
.strBreadcrumb a:hover,
.strBreadcrumb a:focus,
.strBreadcrumb a:active {
  color: #ccd9e1;
}
.strBreadcrumb span {
  margin: 0 9px 0;
  font-size: 11px;
  font-size: 1.1rem;
  position: relative;
  top: 2px;
}
.strBreadcrumb .content {
  overflow: hidden;
}
.strBreadcrumb .content > * {
  float: left;
}
.strBreadcrumb + .strContentHead {
  margin-top: -12px;
}

@media screen and (max-width: 980px) {
  .strBreadcrumb {
    display: none;
  }
  .strBreadcrumb + .strContentHead {
    margin-top: 0;
  }
}
/* ============================================================================
 * テンプレート構造 コンテントサブ
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * ローカルナビゲーション
 * ------------------------------------------------------------------------- */
.navLocal {
  margin: 0 0 24px;
  padding: 0 0 20px;
  background: #f5f5f5;
}
.navLocal a {
  display: block;
}

/* ------------------------------------
 * ナビゲーション
 * --------------------------------- */
.navLocal .navLayer3th li,
.navLocal .navLayer4th li {
  position: relative;
}
.navLocal .navLayer3th a,
.navLocal .navLayer4th a {
  position: relative;
  background: #f5f5f5;
}
.navLocal .navLayer3th > a:hover,
.navLocal .navLayer3th > a:focus,
.navLocal .navLayer3th > a:active,
.navLocal .navLayer4th > a:hover,
.navLocal .navLayer4th > a:focus,
.navLocal .navLayer4th > a:active {
  background: #e6e6e6;
}
.navLocal .navLayer3th .current > a,
.navLocal .navLayer4th .current > a {
  font-weight: bold;
  text-decoration: none;
}
.navLocal .navLayer3th .current > a:hover,
.navLocal .navLayer3th .current > a:focus,
.navLocal .navLayer3th .current > a:active,
.navLocal .navLayer4th .current > a:hover,
.navLocal .navLayer4th .current > a:focus,
.navLocal .navLayer4th .current > a:active {
  background: #f5f5f5;
}
.navLocal .navLayer3th a {
  padding: 16px 20px 15px 40px;
}
.navLocal .navLayer3th a::before {
  width: 13px;
  height: 13px;
  position: absolute;
  top: 21px;
  left: 20px;
  background-position: -10px -34px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.navLocal .navLayer3th a:hover,
.navLocal .navLayer3th a:focus,
.navLocal .navLayer3th a:active {
  background: #e6e6e6;
}
.navLocal .navLayer3th .current::after {
  width: 4px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #ccc;
  content: "";
}
.navLocal .navLayer4th {
  font-size: 14px;
  font-size: 1.4rem;
}
.navLocal .navLayer4th a {
  padding: 6px 20px 5px 56px;
}
.navLocal .navLayer4th a::before {
  width: 5px;
  height: 6px;
  position: absolute;
  top: 13px;
  left: 43px;
  z-index: 1;
  background-position: -10px -10px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* ----------------------------------------------------------------------------
 * サブカラム見出しレベル2
 * ------------------------------------------------------------------------- */
.strSub .hdgLv2 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: normal;
  color: #fff;
  background: #148299;
}
.strSub .hdgLv2 a {
  padding: 29px 20px 27px;
  color: #fff;
  text-decoration: none;
  display: block;
  background: #148299;
}
.strSub .hdgLv2 a:hover,
.strSub .hdgLv2 a:focus,
.strSub .hdgLv2 a:active {
  background: #04768e;
}

@media screen and (max-width: 980px) {
  .strSub .hdgLv2 {
    text-align: center;
  }
  .strSub .hdgLv2 a {
    padding-top: 21px;
    padding-bottom: 19px;
  }
}
/* ============================================================================
 * モジュール 見出し
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 見出しレベル1
 * ------------------------------------------------------------------------- */
.modHdg {
  margin: 0 -45px;
  padding: 0 45px;
  background: #00416b;
  background: -webkit-gradient(linear, left top, right bottom, from(#00416b), to(#115682));
  background: -moz-linear-gradient(left, #00416b, #115682);
  background: -ms-gradient(linear, left top, right bottom, from(#00416b), to(#115682));
  background: gradient(linear, left top, right bottom, from(#00416b), to(#115682));
}
.modHdg .hdg {
  width: 100%;
  padding: 32px 0 30px;
  font-size: 30px;
  font-size: 3rem;
  font-weight: normal;
  color: #fff;
  vertical-align: middle;
  display: table-cell;
}
.modHdg .innerArea {
  padding: 0 0 0 18px;
  color: #fff;
  white-space: nowrap;
  vertical-align: middle;
  display: table-cell;
}
.modHdg .innerArea > * {
  padding: 0 0 15px;
}
.modHdg .innerArea > .noBreadcrumb {
  padding: 15px 0;
}
.modHdg .innerArea > br {
  padding: 0;
}
.modHdg .listCv {
  display: table;
}
.modHdg .listCv li {
  padding: 0 0 0 8px;
  vertical-align: top;
  display: table-cell;
}
.modHdg .listCv li:first-child {
  padding-left: 0;
}
.modHdg .listCv a {
  width: 182px;
  padding: 60px 16px 14px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  position: relative;
  display: block;
  border-radius: 4px;
  box-sizing: border-box;
  background: #f5f5f5;
}
.modHdg .listCv a::before {
  height: 27px;
  position: absolute;
  top: 18px;
  left: 50%;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modHdg .listCv a.icoDl {
  color: #003d7f;
}
.modHdg .listCv a.icoDl::before {
  width: 24px;
  margin-left: -12px;
  background-position: -10px -96px;
}
.modHdg .listCv a.icoBuy {
  color: #148299;
}
.modHdg .listCv a.icoBuy::before {
  width: 27px;
  margin-left: -15px;
  background-position: -68px -96px;
}
.modHdg .listCv a.icoHelp {
  color: #e12b13;
}
.modHdg .listCv a.icoHelp::before {
  width: 29px;
  margin-left: -15px;
  background-position: -289px -96px;
}
.modHdg .listCv a.icoDl2,
.modHdg .listCv a.icoDl3,
.modHdg .listCv a.icoDl4{
  color: #e12b13;
}
.modHdg .listCv a.icoDl2::before {
  width: 24px;
  margin-left: -12px;
  background-position: -323px -96px;
}
/*ADD 190613 calc */
.modHdg .listCv a.icoDl3::before {
  width: 24px;
  margin-left: -12px;
  background-position: -352px -96px;
}
/*ADD 190613 yen 未使用 */
.modHdg .listCv a.icoDl4::before {
  width: 28px;
  margin-left: -12px;
  background-position: -381px -96px;
}

.modHdg .listCv a br {
  display: none;
}
.modHdg .listCv a.break br {
  display: inline;
}
.modHdg .listCv a:hover,
.modHdg .listCv a:focus,
.modHdg .listCv a:active {
  background: #e6e6e6;
}
.modHdg .boxInfo .inner {
  width: 370px;
  padding: 13px 20px 11px;
  white-space: normal;
  line-height: 1.4;
  border: 1px solid #759bb3;
}
.modHdg .boxInfo .inner > *:last-child {
  margin-bottom: 0;
}
.modHdg .boxInfo .inner .title {
  font-weight: bold;
  display: block;
}

@media screen and (max-width: 980px) {
  .modHdg .innerArea > * {
    padding-top: 15px;
  }
  .modHdg .innerArea > br {
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .modHdg .innerArea {
    margin: -15px auto 0;
    padding-left: 0;
    display: table;
  }
}
@media screen and (max-width: 640px) {
  .modHdg .hdg {
    padding-top: 21px;
    padding-bottom: 16px;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .modHdg .innerArea {
    width: 100%;
    white-space: normal;
  }
  .modHdg .listCv {
    width: 100%;
    table-layout: fixed;
  }
  .modHdg .listCv a {
    width: 100%;
    padding-bottom: 8px;
    display: table;
  }
  .modHdg .listCv a br {
    display: inline;
  }
  .modHdg .listCv a span {
    vertical-align: middle;
    display: table-cell;
  }
  .modHdg .boxInfo .inner {
    width: 100%;
  }
}
/* ----------------------------------------------------------------------------
 * 見出し1
 * ------------------------------------------------------------------------- */
.modHdg1 {
  width: 100%;
  margin: 0 0 35px;
  display: table;
}
.modHdg1 .hdg {
  width: 100%;
  font-size: 24px;
  font-size: 2.4rem;
  color: #002f62;
  display: table-cell;
}
.modHdg1 .info {
  width: 100%;
  margin: 0 0 13px;
  text-align: right;
  display: table-caption;
}
.modHdg1 .info > * {
  margin-bottom: 0;
}
.modHdg1 .info .modTxt {
  margin-top: 2px;
  float: right;
  clear: right;
}
.modHdg1 .info .modListLabel,
.modHdg1 .info .modListLabelFlex {
  float: left;
}

@media screen and (max-width: 640px) {
  .modHdg1 .hdg {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
/* ----------------------------------------------------------------------------
 * 見出し2
 * ------------------------------------------------------------------------- */
.modHdg2 {
  margin: 63px 0 32px;
}
.modHdg2 + * {
  margin-top: 32px !important;
}
.modHdg2 .hdg {
  font-size: 22px;
  font-size: 2.2rem;
  color: #141414;
  position: relative;
}
.modHdg2 .hdg::after {
  width: 100%;
  margin: 10px 0 0;
  position: relative;
  display: block;
  border-bottom: 3px solid #bababa;
  content: "";
}
.modHdg2 .hdg > span {
  padding: 0 0 0 18px;
  margin: 3px 0 0;
  position: relative;
  display: block;
}
.modHdg2 .hdg > span::before {
  width: 6px;
  height: 100%;
  position: absolute;
  top: -3px;
  left: 0;
  border-radius: 3px;
  background: #002054;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #002054), color-stop(100%, #228393));
  background: -moz-linear-gradient(top, #002054 0%, #228393 100%);
  background: -ms-linear-gradient(top, #002054 0%, #228393 100%);
  background: gradient(to bottom, #002054 0%, #228393 100%);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  content: "";
}
.modHdg2 .hdg > span.img {
  width: 100%;
  vertical-align: middle;
  display: table-cell;
  box-sizing: content-box;
  padding: 0 0 0 68px;
}
.modHdg2 .hdg > span.img img {
  margin: -27px 0 0;
  position: absolute;
  left: 18px;
  top: 50%;
}
.modHdg2 .hdg .sub {
  margin: 0 0 0 16px;
  font-weight: normal;
  color: #3d3d3d;
  vertical-align: middle;
}
.modHdg2.home .hdg {
  color: #666;
}
.modHdg2.home .hdg::after {
  border-color: #1190a2;
}
.modHdg2.home .hdg > span::before {
  background: #6cbdc6;
  background: -webkit-gradient(linear, left top, right bottom, from(#2499a9), to(#c4e8e9));
  background: -moz-linear-gradient(left, #2499a9, #c4e8e9);
  background: -ms-gradient(linear, left top, right bottom, from(#2499a9), to(#c4e8e9));
  background: gradient(linear, left top, right bottom, from(#2499a9), to(#c4e8e9));
}

@media screen and (max-width: 640px) {
  .modHdg2 .hdg {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .modHdg2 .hdg .sub {
    margin-left: 0;
    display: block;
  }
}
/* ----------------------------------------------------------------------------
 * 見出し3
 * ------------------------------------------------------------------------- */
.modHdg3 {
  margin: 48px 0 24px;
}
.modHdg3 + * {
  margin-top: 24px !important;
}
.modHdg3 .hdg {
  font-size: 18px;
  font-size: 1.8rem;
  color: #141414;
  position: relative;
  overflow: hidden;
  background: #eee;
}
.modHdg3 .hdg span {
  padding: 8px 18px 5px;
  display: block;
}
.modHdg3 .hdg span::before {
  width: 16px;
  height: 16px;
  margin: -8px 0 0;
  position: absolute;
  top: 50%;
  left: -8px;
  border-radius: 50%;
  background: #002054;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #002054), color-stop(100%, #228393));
  background: -moz-linear-gradient(top, #002054 0%, #228393 100%);
  background: -ms-linear-gradient(top, #002054 0%, #228393 100%);
  background: gradient(to bottom, #002054 0%, #228393 100%);
  content: "";
}
.modHdg3 .hdg span.img {
  width: 100%;
  height: 47px;
  padding: 10px 18px 10px 60px;
  vertical-align: middle;
  display: table-cell;
  box-sizing: content-box;
}
.modHdg3 .hdg span.img::before,
.modHdg3 .hdg span.imgcol2::before {
  display: none;
}
.modHdg3 .hdg span.img img,
.modHdg3 .hdg span.imgcol2 img {
  margin: -24px 0 0;
  position: absolute;
  left: 10px;
  top: 50%;
}

/* 画像2つ横並び */
.modHdg3 .hdg span.imgcol2 {
  width: 100%;
  height: 47px;
  padding: 10px 18px 10px 110px;
  vertical-align: middle;
  display: table-cell;
  box-sizing: content-box;
}
.modHdg3 .hdg span.imgcol2 img+img {
  position:absolute;
  left:60px;
}
.modHdg3.home {
  margin: 20px 0 14px;
  border-bottom: 2px solid #1190a2;
  padding-bottom: 4px;
  text-align: center;
}
.modHdg3.home + * {
  margin-top: 12px !important;
}

@media screen and (max-width: 640px) {
  .modHdg3 .hdg {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
/* ----------------------------------------------------------------------------
 * 見出し4
 * ------------------------------------------------------------------------- */
.modHdg4 {
  margin: 45px 0 20px;
}
.modHdg4 + * {
  margin-top: 20px !important;
}
.modHdg4 .hdg {
  padding: 0 0 4px;
  color: #141414;
  font-size: 16px;
  font-size: 1.6rem;
  position: relative;
  border-bottom: 2px solid #bababa;
}
.modHdg4 .hdg > span {
  padding: 0 0 0 18px;
  display: block;
}
.modHdg4 .hdg > span::before {
  width: 10px;
  height: 10px;
  position: absolute;
  top: 6px;
  left: 0;
  background: #002054;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #002054), color-stop(100%, #228393));
  background: -moz-linear-gradient(top, #002054 0%, #228393 100%);
  background: -ms-linear-gradient(top, #002054 0%, #228393 100%);
  background: gradient(to bottom, #002054 0%, #228393 100%);
  content: "";
}
.modHdg4 .hdg > span.img {
  width: 100%;
  height: 47px;
  padding: 10px 18px 10px 60px;
  vertical-align: middle;
  display: table-cell;
  box-sizing: content-box;
}
.modHdg4 .hdg > span.img::before {
  display: none;
}
.modHdg4 .hdg > span.img img {
  margin: -27px 0 0;
  position: absolute;
  left: 10px;
  top: 50%;
}

@media screen and (max-width: 640px) {
  .modHdg4 .hdg {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .modHdg4 .hdg > span {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
/* ----------------------------------------------------------------------------
 * 見出し5
 * ------------------------------------------------------------------------- */
.modHdg5 {
  margin: 41px 0 14px;
}
.modHdg5 + * {
  margin-top: 14px !important;
}
.modHdg5 .hdg {
  font-size: 16px;
  font-size: 1.6rem;
  color: #141414;
}

/* ----------------------------------------------------------------------------
 * 見出し6
 * ------------------------------------------------------------------------- */
.modHdg6 {
  margin: 41px 0 14px;
}
.modHdg6 + * {
  margin-top: 14px !important;
}
.modHdg6 .hdg {
  font-size: 16px;
  font-size: 1.6rem;
}

@media screen and (max-width: 640px) {
  .modHdg5 .hdg,
  .modHdg6 .hdg {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
/* ============================================================================
 * モジュール テキスト
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 段落
 * ------------------------------------------------------------------------- */
.modTxt {
  margin: 0 0 18px;
  word-break: break-all;
}
.modTxt .img {
  display: block;
}

/* ------------------------------------
 * サブテキスト
 * --------------------------------- */
.sub {
  font-size: 14px;
  font-size: 1.4rem;
  color: #666;
}
.sub > strong {
  font-weight: normal;
}

/* ----------------------------------------------------------------------------
 * リードテキスト
 * ------------------------------------------------------------------------- */
.modTxtLead,
.modTxtLeadL {
  color: #002f62;
  line-height: 1.4;
}

/* ------------------------------------
 * リードテキスト（通常）
 * --------------------------------- */
.modTxtLead {
  margin: 28px 0 26px;
  font-size: 20px;
  font-size: 2rem;
}

/* ------------------------------------
 * リードテキスト（大）
 * --------------------------------- */
.modTxtLeadL {
  margin: 33px 0;
  font-size: 24px;
  font-size: 2.4rem;
}

@media screen and (max-width: 640px) {
  .modTxtLead,
  .modTxtLeadL {
    font-size: 18px;
    font-size: 1.8rem;
    text-align: center;
  }
}
/* ------------------------------------
 * リードテキスト（小）
 * --------------------------------- */
.modTxtLeadS {
  margin: 33px 0;
  font-size: 12px;
  font-size: 1.2rem;
}

@media screen and (max-width: 640px) {
  .modTxtLeadS {
    font-size: 12px;
    font-size: 1.2rem;
    text-align: center;
  }
}
/* ----------------------------------------------------------------------------
 * 各種アイコン
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * 外部リンク用
 * --------------------------------- */
.ico {
  padding: 0 5px 0;
  vertical-align: baseline;
}

/* ------------------------------------
 *
 * --------------------------------- */
img.fig {
  margin: 4px 0 0;
  vertical-align: top;
}

/* ------------------------------------
 * その他アイコン
 * 211201:CSSスプライトの表示不良のため、記述修正
 * --------------------------------- */
.icoNew::before,
.icoZoom::before,
.icoNotice::before, {
  margin: 0 8px 0 0;
  vertical-align: baseline;
  position: relative;
  display: inline-block;
  /*  background-image: url(../img/ico_sprites.png);
  content: "";*/
}

/* 新着情報アイコン */
.icoNew {
  position: relative;
  padding: 0 0 0 27px;
}
.icoNew::before {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 1px;
  left: 0;
  background-position: -35px -71px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* 拡大アイコン */
.icoZoom {
  position: relative;
  padding: 0 0 0 27px;}
  
.icoZoom::before {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 1px;
  left: 0;
  background-position: -60px -71px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* 注意喚起アイコン */
.icoNotice {
  position: relative;
  padding: 0 0 0 27px;
}
.icoNotice::before {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 1px;
  left: 0;
  background-position: -10px -72px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* Newアイコン */
.icoLatest {
  min-width: 48px;
  min-height: 24px;
  margin: 0 0 0 4px;
  padding: 0 7px 0;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  color: #fff;
  line-height: 24px;
  text-align: center;
  position: relative;
  top: -.1em;
  display: inline-block;
  border-radius: 2px;
  background: #3c9ea8;
}

@media screen and (max-width: 640px) {
  .icoLatest {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* ----------------------------------------------------------------------------
 * ラベル
 * ------------------------------------------------------------------------- */
.label {
  min-width: 72px;
  min-height: 24px;
  margin: 0 4px 0 0;
  padding: 0 7px 0;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  color: #fff;
  line-height: 24px;
  text-align: center;
  position: relative;
  display: inline-block;
  border-radius: 2px;
  background: #777;
}

@media screen and (max-width: 640px) {
  .label {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* ============================================================================
 * モジュール リンク
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 通常リンク
 * ------------------------------------------------------------------------- */
.modLink,
.modLinkCol2,
.modLinkCol3,
.modLinkCol4,
.modLinkFlex,
.modLinkRight,
.modLinkCenter {
  margin: 0 0 9px;
}
.modLink > li,
.modLinkCol2 > li,
.modLinkCol3 > li,
.modLinkCol4 > li,
.modLinkFlex > li,
.modLinkRight > li,
.modLinkCenter > li {
  margin: 0 0 9px;
  padding: 0 0 0 20px;
  position: relative;
}
.modLink > li > a::before,
.modLinkCol2 > li > a::before,
.modLinkCol3 > li > a::before,
.modLinkCol4 > li > a::before,
.modLinkFlex > li > a::before,
.modLinkRight > li > a::before,
.modLinkCenter > li > a::before {
  width: 5px;
  height: 6px;
  position: absolute;
  top: 8px;
  left: 5px;
  background-position: -20px -10px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modLink > li > .text,
.modLinkCol2 > li > .text,
.modLinkCol3 > li > .text,
.modLinkCol4 > li > .text,
.modLinkFlex > li > .text,
.modLinkRight > li > .text,
.modLinkCenter > li > .text {
  margin-left: -20px;
  color: #3d3d3d;
  text-decoration: none;
  display: block;
}
.modLink > li > .text::before,
.modLinkCol2 > li > .text::before,
.modLinkCol3 > li > .text::before,
.modLinkCol4 > li > .text::before,
.modLinkFlex > li > .text::before,
.modLinkRight > li > .text::before,
.modLinkCenter > li > .text::before {
  display: none;
}
.modLink > li .modLink,
.modLinkCol2 > li .modLink,
.modLinkCol3 > li .modLink,
.modLinkCol4 > li .modLink,
.modLinkFlex > li .modLink,
.modLinkRight > li .modLink,
.modLinkCenter > li .modLink {
  margin-bottom: 0;
}
.modLink > li .modLink > li,
.modLinkCol2 > li .modLink > li,
.modLinkCol3 > li .modLink > li,
.modLinkCol4 > li .modLink > li,
.modLinkFlex > li .modLink > li,
.modLinkRight > li .modLink > li,
.modLinkCenter > li .modLink > li {
  padding-left: 16px;
}
.modLink > li > *,
.modLinkCol2 > li > *,
.modLinkCol3 > li > *,
.modLinkCol4 > li > *,
.modLinkFlex > li > *,
.modLinkRight > li > *,
.modLinkCenter > li > * {
  margin-top: 9px;
}
.modLink > li > br,
.modLinkCol2 > li > br,
.modLinkCol3 > li > br,
.modLinkCol4 > li > br,
.modLinkFlex > li > br,
.modLinkRight > li > br,
.modLinkCenter > li > br {
  margin-top: 0;
}

@media screen and (max-width: 640px) {
  .modLink > li > a::before,
  .modLinkCol2 > li > a::before,
  .modLinkCol3 > li > a::before,
  .modLinkCol4 > li > a::before,
  .modLinkFlex > li > a::before,
  .modLinkRight > li > a::before,
  .modLinkCenter > li > a::before {
    top: 7px;
  }
}
/* ------------------------------------
 * 通常リンクリスト
 * --------------------------------- */
.modLink {
  margin-bottom: 18px;
}

/* ------------------------------------
 * 通常リンクリスト（カラムレイアウト）
 * --------------------------------- */
.modLinkCol2,
.modLinkCol3,
.modLinkCol4 {
  margin-right: -30px;
}
.modLinkCol2 > li,
.modLinkCol3 > li,
.modLinkCol4 > li {
  padding-right: 30px;
  float: left;
}

/* ------------------------------------
 * 通常リンクリスト（2カラムレイアウト）
 * --------------------------------- */
.modLinkCol2 > li {
  width: 50%;
}

/* ------------------------------------
 * 通常リンクリスト（3カラムレイアウト）
 * --------------------------------- */
.modLinkCol3 > li {
  width: 33.3%;
}
.modLinkCol3 > li:nth-child(3n) {
  width: 33.4%;
}

/* ------------------------------------
 * 通常リンクリスト（4カラムレイアウト）
 * --------------------------------- */
.modLinkCol4 > li {
  width: 25%;
}

@media screen and (max-width: 640px) {
  .modLinkCol2,
  .modLinkCol3,
  .modLinkCol4 {
    margin-left: 0;
  }
  .modLinkCol2 > li,
  .modLinkCol3 > li,
  .modLinkCol4 > li {
    width: 100% !important;
    height: auto !important;
    padding-left: 20px;
    float: none;
  }
  .modLinkCol2 > li > a::before,
  .modLinkCol3 > li > a::before,
  .modLinkCol4 > li > a::before {
    left: 0;
  }
  .modLinkCol2 > li .text,
  .modLinkCol3 > li .text,
  .modLinkCol4 > li .text {
    margin-left: -20px;
  }
}
/* ------------------------------------
 * 通常リンクリスト（横並び）
 * --------------------------------- */
.modLinkFlex > li {
  margin-right: 12px;
  float: left;
}

/* ------------------------------------
 * 通常リンクリスト（配置調整）
 * --------------------------------- */
.modLinkRight > li > a,
.modLinkCenter > li > a {
  position: relative;
}
.modLinkRight > li > a::before,
.modLinkCenter > li > a::before {
  left: -15px;
}

/* 右寄せ */
.modLinkRight > li {
  text-align: right;
}

/* 中央寄せ */
.modLinkCenter > li {
  text-align: center;
}

/* ----------------------------------------------------------------------------
 * 通常リンク（インラインテキスト）
 * ------------------------------------------------------------------------- */
.modLinkInline {
  position: relative;
  display: inline-block;
  padding-left: 30px;
}
.modLinkInline:before {
  width: 5px;
  height: 6px;
  position: absolute;
  top: 8px;
  left: 15px;
  background-position: -20px -10px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* ============================================================================
 * モジュール リスト
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 通常リスト
 * ------------------------------------------------------------------------- */
.modList,
.modListCol2,
.modListCol3,
.modListCol4,
.modListFlex {
  margin: 0 0 9px;
}
.modList > li,
.modListCol2 > li,
.modListCol3 > li,
.modListCol4 > li,
.modListFlex > li {
  margin: 0 0 9px;
  padding: 0 0 0 20px;
  position: relative;
}
.modList > li::before,
.modListCol2 > li::before,
.modListCol3 > li::before,
.modListCol4 > li::before,
.modListFlex > li::before {
  width: 8px;
  height: 8px;
  position: absolute;
  top: 8px;
  left: 4px;
  background-position: -10px -21px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modList > li .modList,
.modListCol2 > li .modList,
.modListCol3 > li .modList,
.modListCol4 > li .modList,
.modListFlex > li .modList {
  margin-bottom: 0;
}
.modList > li .modList > li,
.modListCol2 > li .modList > li,
.modListCol3 > li .modList > li,
.modListCol4 > li .modList > li,
.modListFlex > li .modList > li {
  padding-left: 16px;
}
.modList > li .modList > li::before,
.modListCol2 > li .modList > li::before,
.modListCol3 > li .modList > li::before,
.modListCol4 > li .modList > li::before,
.modListFlex > li .modList > li::before {
  width: 4px;
  height: 4px;
  position: absolute;
  top: 11px;
  left: 3px;
  background-position: -23px -23px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modList > li > *,
.modListCol2 > li > *,
.modListCol3 > li > *,
.modListCol4 > li > *,
.modListFlex > li > * {
  margin-top: 9px;
}
.modList > li > br,
.modListCol2 > li > br,
.modListCol3 > li > br,
.modListCol4 > li > br,
.modListFlex > li > br {
  margin-top: 0;
}

/* ------------------------------------
 * 通常リスト
 * --------------------------------- */
.modList {
  margin-bottom: 18px;
}

/* ------------------------------------
 * 通常リスト（カラムレイアウト）
 * --------------------------------- */
.modListCol2,
.modListCol3,
.modListCol4 {
  margin-left: -30px;
}
.modListCol2 > li,
.modListCol3 > li,
.modListCol4 > li {
  padding-left: 50px;
  float: left;
}
.modListCol2 > li::before,
.modListCol3 > li::before,
.modListCol4 > li::before {
  left: 34px;
}

/* ------------------------------------
 * 通常リスト（2カラムレイアウト）
 * --------------------------------- */
.modListCol2 > li {
  width: 50%;
}

/* ------------------------------------
 * 通常リスト（3カラムレイアウト）
 * --------------------------------- */
.modListCol3 > li {
  width: 33.3%;
}
.modListCol3 > li:nth-child(3n) {
  width: 33.4%;
}

/* ------------------------------------
 * 通常リスト（4カラムレイアウト）
 * --------------------------------- */
.modListCol4 > li {
  width: 25%;
}

@media screen and (max-width: 640px) {
  .modListCol2,
  .modListCol3,
  .modListCol4 {
    margin-left: 0;
  }
  .modListCol2 > li,
  .modListCol3 > li,
  .modListCol4 > li {
    width: 100% !important;
    height: auto !important;
    padding-left: 20px;
    float: none;
  }
  .modListCol2 > li::before,
  .modListCol3 > li::before,
  .modListCol4 > li::before {
    left: 4px;
  }
}
/* ------------------------------------
 * 通常リスト（横並び）
 * --------------------------------- */
.modListFlex > li {
  margin-right: 31px;
  float: left;
}

/* ------------------------------------
 * 通常リスト（棒）
 * --------------------------------- */
.modList.another > li,
.modList .modList.another > li {
  padding-left: 20px;
}
.modList.another > li::before,
.modList .modList.another > li::before {
  width: 8px;
  height: 0;
  position: absolute;
  top: 10px;
  left: 4px;
  background: none;
  border-top: 1px solid #141414;
}
.modList.another > li .modList > li::before,
.modList .modList.another > li .modList > li::before {
  width: 4px;
  height: 4px;
  position: absolute;
  top: 9px;
  left: 3px;
  background-position: -23px -61px;
  background-image: url(../img/ico_sprites.png);
  content: "";
  border-top: 0;
}

@media screen and (max-width: 640px) {
  .modList > li::before,
  .modListCol2 > li::before,
  .modListCol3 > li::before,
  .modListCol4 > li::before,
  .modListFlex > li::before {
    top: 7px;
  }
  .modList > li .modList > li::before,
  .modListCol2 > li .modList > li::before,
  .modListCol3 > li .modList > li::before,
  .modListCol4 > li .modList > li::before,
  .modListFlex > li .modList > li::before {
    top: 9px;
  }
}
/* ----------------------------------------------------------------------------
 * 順序リスト
 * ------------------------------------------------------------------------- */
.modListOrder {
  margin: 0 0 18px;
}
.modListOrder > li {
  margin: 0 0 9px;
  padding: 0 0 0 38px;
  list-style: outside none;
  position: relative;
}
.modListOrder > li > .fig {
  width: 30px;
  margin-top: 0;
  text-align: right;
  position: absolute;
  top: 0;
  left: 0;
}
.modListOrder > li > * {
  margin-top: 9px;
  margin-bottom: 0;
}
.modListOrder > li > br {
  margin-top: 0;
}

/* ----------------------------------------------------------------------------
 * 定義リスト
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * 定義リスト
 * --------------------------------- */
.modListDef {
  margin: 0 0 18px;
}
.modListDef dt {
  margin: 0 0 9px;
  font-weight: bold;
}
.modListDef dt a {
  padding: 0 0 0 20px;
  position: relative;
  display: inline-block;
}
.modListDef dt a::before {
  width: 5px;
  height: 6px;
  position: absolute;
  top: 8px;
  left: 5px;
  background-position: -20px -10px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modListDef dd {
  margin: 0 0 22px;
}
.modListDef dd:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .modListDef dt a::before {
    top: 7px;
  }
}
/* ----------------------------------------------------------------------------
 * 注釈リスト
 * ------------------------------------------------------------------------- */
.modListNote {
  margin: 0 0 15px;
}
.modListNote li {
  margin: 0 0 6px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #666;
}
.modListNote .fig {
  white-space: nowrap;
  display: table-cell;
}
.modListNote .text {
  display: table-cell;
  padding: 0 0 0 7px;
}

@media screen and (max-width: 640px) {
  .modListNote li {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* ----------------------------------------------------------------------------
 * ラベルリスト
 * ------------------------------------------------------------------------- */
.modListLabel,
.modListLabelFlex {
  margin: 0 0 24px;
}
.modListLabel li,
.modListLabelFlex li {
  margin: 0 8px 8px 0;
  float: left;
  text-align: center;
}

/* ------------------------------------
 * 成り行き
 * --------------------------------- */
.modListLabelFlex li {
  min-width: inherit;
  text-align: left;
}

/* ----------------------------------------------------------------------------
 * 注意リスト
 * ------------------------------------------------------------------------- */
.modlistNotice {
  margin: 32px 0;
}
.modlistNotice > li {
  margin: 0 0 12px;
  padding: 0 0 0 45px;
  position: relative;
}
.modlistNotice > li:last-child {
  margin-bottom: 0;
}
.modlistNotice > li::before {
  width: 20px;
  height: 18px;
  position: absolute;
  top: 2px;
  left: 4px;
  background-position: -10px -72px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* ----------------------------------------------------------------------------
 * トピックスリスト
 * ------------------------------------------------------------------------- */
.modListTopics {
  margin: 32px 0;
}
.modListTopics li {
  margin: 13px 0 0;
}
.modListTopics li:first-child {
  margin-top: 0;
}
.modListTopics li:first-child > a {
  margin-top: 0;
  border-top: 1px solid #ccc;
}
.modListTopics li > a,
.modListTopics li > .nolink {
  margin: -13px 0 0;
  padding: 15px 8px 11px 8px;
  text-decoration: none;
  position: relative;
  display: block;
  border-bottom: 1px solid #ccc;
}
.modListTopics li > a:hover, .modListTopics li > a:focus, .modListTopics li > a:active,
.modListTopics li > .nolink:hover,
.modListTopics li > .nolink:focus,
.modListTopics li > .nolink:active {
  background: #f5f5f5;
}
.modListTopics li > a:hover .text, .modListTopics li > a:focus .text, .modListTopics li > a:active .text,
.modListTopics li > .nolink:hover .text,
.modListTopics li > .nolink:focus .text,
.modListTopics li > .nolink:active .text {
  text-decoration: underline;
}
.modListTopics li > a .text,
.modListTopics li > .nolink .text {
  display: block;
}
.modListTopics li > a .detail + .text,
.modListTopics li > .nolink .detail + .text {
  margin: 5px 0;
}
.modListTopics li > a .detail .label,
.modListTopics li > .nolink .detail .label {
  display: table-cell;
  font-weight: normal;
}
.modListTopics li > a .detail .label span,
.modListTopics li > .nolink .detail .label span {
  min-width: inherit;
  padding: 4px 9px 5px 11px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  white-space: nowrap;
  position: relative;
  top: -2px;
  display: block;
  /* FIX: IEでズレが生じるバグを修正 */
  padding-top: 2px \9;
  padding-bottom: 1px \9;
  line-height: 1.5 \9;
}
.modListTopics li > a .detail .date,
.modListTopics li > .nolink .detail .date {
  color: #3d3d3d;
  white-space: nowrap;
  display: table-cell;
}
.modListTopics li > a .detail .date + .label,
.modListTopics li > .nolink .detail .date + .label {
  min-width: 140px;
  text-align: center;
  box-sizing: content-box;
}
.modListTopics li > .nolink:hover, .modListTopics li > .nolink:focus, .modListTopics li > .nolink:active {
  background: #fff;
}
.modListTopics li > .nolink:hover .text, .modListTopics li > .nolink:focus .text, .modListTopics li > .nolink:active .text {
  text-decoration: none;
}
.modListTopics li .text,
.modListTopics li .detail {
  display: table-cell;
}
.modListTopics li .detail {
  padding: 0 10px 0 0;
  white-space: nowrap;
}
.modListTopics li .detail .date {
  padding: 0 10px 0 0;
  position: relative;
  top: 2px;
}
.modListTopics li .detail .label {
  min-width: 160px;
}

@media screen and (max-width: 640px) {
  .modListTopics li > a,
  .modListTopics li > .nolink {
    padding-left: 0;
    padding-right: 0;
  }
  .modListTopics li .detail {
    margin: 0 0 10px;
    display: block;
  }
  .modListTopics li .detail .label {
    min-width: 120px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .modListTopics li .detail .date {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* ----------------------------------------------------------------------------
 * リンクリスト、トグルリスト
 * ------------------------------------------------------------------------- */
.modListSummary {
  margin: 32px 0;
  border-top: 1px solid #ccc;
}
.modListSummary .segment {
  border-bottom: 1px solid #ccc;
}
.modListSummary .tglContent > .inner {
  padding-bottom: 32px;
}

/* ------------------------------------
 * 通常テキスト、FAQテキスト
 * --------------------------------- */
.modListSummary .segment > .title,
.modListSummary .segment > .titleFaq {
  padding: 0 12px;
}
.modListSummary .segment > .title a,
.modListSummary .segment > .titleFaq a {
  margin: 0 -12px;
  padding: 16px 48px 15px 8px;
  text-decoration: underline;
  position: relative;
  display: block;
  background: #fff;
}
.modListSummary .segment > .title a:hover, .modListSummary .segment > .title a:active,
.modListSummary .segment > .titleFaq a:hover,
.modListSummary .segment > .titleFaq a:active {
  text-decoration: none;
  background: #f5f5f5;
}
.modListSummary .segment > .title a:hover .ico::after, .modListSummary .segment > .title a:active .ico::after,
.modListSummary .segment > .titleFaq a:hover .ico::after,
.modListSummary .segment > .titleFaq a:active .ico::after {
  background-position: -40px -128px;
}
.modListSummary .segment > .title a.link,
.modListSummary .segment > .titleFaq a.link {
  padding-right: 36px;
}
.modListSummary .segment > .title a.link::after,
.modListSummary .segment > .titleFaq a.link::after {
  width: 8px;
  height: 14px;
  margin: -7px 0 0;
  position: absolute;
  top: 50%;
  right: 12px;
  background-position: -61px -19px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modListSummary .segment > .title a.active,
.modListSummary .segment > .titleFaq a.active {
  font-weight: bold;
  text-decoration: none;
}
.modListSummary .segment > .title a.active::before,
.modListSummary .segment > .titleFaq a.active::before {
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
  background: url(../img/bg_border_01.png) left bottom repeat-x;
  content: "";
}
.modListSummary .segment > .title a.active .ico::after,
.modListSummary .segment > .titleFaq a.active .ico::after {
  background-position: -69px -128px;
}
.modListSummary .segment > .title a.active:hover .ico::after, .modListSummary .segment > .title a.active:active .ico::after,
.modListSummary .segment > .titleFaq a.active:hover .ico::after,
.modListSummary .segment > .titleFaq a.active:active .ico::after {
  background-position: -98px -128px;
}
.modListSummary .segment > .titleFaq a {
  padding-left: 56px;
  padding-right: 48px;
}

/* トグルアイコン */
.modListSummary .segment > .title .ico,
.modListSummary .segment > .titleFaq .ico {
  width: 24px;
  height: 24px;
  margin: -12px 0 0;
  display: block;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 12px;
}
.modListSummary .segment > .title .ico::after,
.modListSummary .segment > .titleFaq .ico::after {
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  right: 0;
  background-position: -10px -128px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* FAQアイコン */
.modListSummary .segment > .titleFaq .fig {
  width: 28px;
  height: 28px;
  margin: -14px 0 0;
  font-size: 18px;
  font-size: 1.8rem;
  font-family: Arial;
  font-weight: normal;
  color: #fff;
  line-height: 28px;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 12px;
  display: table-cell;
  border-radius: 4px;
  background: #148299;
}
.modListSummary .segment > .titleFaq .fig::after {
  margin-top: -5px;
  position: absolute;
  top: 50%;
  right: -13px;
  border: 5px solid transparent;
  border-left: 8px solid #148299;
  content: "";
}

@media screen and (max-width: 640px) {
  .modListSummary .segment > .title a {
    padding-left: 0;
  }
  .modListSummary .segment > .titleFaq a {
    padding-left: 44px;
  }
  .modListSummary .segment > .title a.link,
  .modListSummary .segment > .titleFaq a.link {
    padding-right: 24px;
  }
  .modListSummary .segment > .title a.link::after,
  .modListSummary .segment > .titleFaq a.link::after {
    right: 0;
  }
  .modListSummary .segment > .title .ico,
  .modListSummary .segment > .titleFaq .ico {
    right: 0;
  }
  .modListSummary .segment > .title .fig,
  .modListSummary .segment > .titleFaq .fig {
    left: 0;
  }
}
/* ----------------------------------------------------------------------------
 * フローリスト
 * ------------------------------------------------------------------------- */
.modListFlowCol3,
.modListFlowCol4,
.modListFlowCol5 {
  margin: 40px 0 30px -5px;
  overflow: hidden;
}
.modListFlowCol3 li,
.modListFlowCol4 li,
.modListFlowCol5 li {
  margin: 0 0 10px;
  padding: 0 0 0 5px;
  display: table;
  float: left;
}
.modListFlowCol3 .inner,
.modListFlowCol4 .inner,
.modListFlowCol5 .inner {
  width: 100%;
  min-height: 75px;
  padding: 10px 12px 10px 75px;
  vertical-align: middle;
  position: relative;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  background: #148299;
}
.modListFlowCol3 a,
.modListFlowCol4 a,
.modListFlowCol5 a {
  color: #fff;
}
.modListFlowCol3 a:hover,
.modListFlowCol3 a:focus,
.modListFlowCol3 a:active,
.modListFlowCol4 a:hover,
.modListFlowCol4 a:focus,
.modListFlowCol4 a:active,
.modListFlowCol5 a:hover,
.modListFlowCol5 a:focus,
.modListFlowCol5 a:active {
  background: #04768e;
}
.modListFlowCol3 .num,
.modListFlowCol4 .num,
.modListFlowCol5 .num {
  width: 55px;
  height: 55px;
  margin: -28px 0 0;
  font-size: 12px;
  font-size: 1.2rem;
  color: #148299;
  line-height: 2;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  border-radius: 3px;
  background: #fff;
}
.modListFlowCol3 .num em,
.modListFlowCol4 .num em,
.modListFlowCol5 .num em {
  font-size: 30px;
  font-size: 3rem;
  font-weight: normal;
  line-height: .8;
  display: block;
}
.modListFlowCol3 .txt,
.modListFlowCol4 .txt,
.modListFlowCol5 .txt {
  height: 100%;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.2;
  display: table;
}
.modListFlowCol3 .txt > span,
.modListFlowCol4 .txt > span,
.modListFlowCol5 .txt > span {
  vertical-align: middle;
  display: table-cell;
}

/* ------------------------------------
 * 3カラム
 * --------------------------------- */
.modListFlowCol3 li {
  width: 33%;
}
.modListFlowCol3 li:nth-child(3n) {
  width: 34%;
}

/* ------------------------------------
 * 4カラム
 * --------------------------------- */
.modListFlowCol4 li {
  width: 25%;
}

/* ------------------------------------
 * 5カラム
 * --------------------------------- */
.modListFlowCol5 li {
  width: 20%;
}

@media screen and (max-width: 768px) {
  .modListFlowCol3 li,
  .modListFlowCol4 li,
  .modListFlowCol5 li {
    width: auto !important;
    display: block;
    float: none;
  }
  .modListFlowCol3 li .inner,
  .modListFlowCol4 li .inner,
  .modListFlowCol5 li .inner {
    height: auto !important;
  }
}
/* ------------------------------------
 * 特殊
 * --------------------------------- */
.modListFlowUnique {
  margin: 40px 0 30px -5px;
  overflow: hidden;
}
.modListFlowUnique > li {
  float: left;
  width: 230px;
  margin: 0 0 5px 5px;
}
.modListFlowUnique > li > dl > dt {
  width: 100%;
  min-height: 75px;
  padding: 10px 12px 10px 75px;
  vertical-align: middle;
  position: relative;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  background: #148299;
}
.modListFlowUnique > li > dl > dt .num {
  width: 55px;
  height: 55px;
  margin: -28px 0 0;
  font-size: 12px;
  font-size: 1.2rem;
  color: #148299;
  line-height: 2;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  border-radius: 3px;
  background: #fff;
}
.modListFlowUnique > li > dl > dt .num em {
  font-size: 30px;
  font-size: 3rem;
  font-weight: normal;
  line-height: .8;
  display: block;
}
.modListFlowUnique > li > dl > dt .txt {
  height: 100%;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.2;
  display: table;
}
.modListFlowUnique > li > dl > dt .txt > span {
  vertical-align: middle;
  display: table-cell;
  color: #fff;
}
.modListFlowUnique > li > dl > dd {
  border: 1px solid #ccc;
  border-top: 0;
  padding: 1.2em 20px;
}
.modListFlowUnique > li > dl > dd .modImg {
  margin: 10px 0 20px 0;
}

.strLytNarrow .modListFlowUnique > li {
  width: 190px;
}

@media screen and (max-width: 640px) {
  .modListFlowUnique > li {
    float: none;
    width: auto;
  }
  .modListFlowUnique > li > dl > dt,
  .modListFlowUnique > li > dl > dd {
    height: auto !important;
  }

  .strLytNarrow .modListFlowUnique > li {
    width: auto;
  }
}
/* ----------------------------------------------------------------------------
 * 順序説明リスト
 * ------------------------------------------------------------------------- */
.modListProcess {
  margin: 24px 0;
}
.modListProcess > .segment {
  margin: 40px 0 0;
}
.modListProcess > .segment:first-child {
  margin-top: 0;
}
.modListProcess > .segment > .title {
  margin: 0 0 20px;
  padding: 5px 0 4px 40px;
  font-weight: normal;
  color: #fff;
  position: relative;
  background: #717171;
}
.modListProcess > .segment > .title > .num {
  width: 33px;
  height: 100%;
  padding: 5px 0 0;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  background: #3d3d3d;
}
.modListProcess > .segment > .inner > * {
  margin-bottom: 20px;
}
.modListProcess > .segment > .inner > *:first-child {
  margin-top: 0;
}
.modListProcess > .segment > .inner > *:last-child {
  margin-bottom: 0;
}
.modListProcess > .segment > .inner > br {
  margin-bottom: 0;
}

/* ============================================================================
 * モジュール ナビゲーション
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * ページ内リンク
 * ------------------------------------------------------------------------- */
.modNavAncCol2,
.modNavAncCol3,
.modNavAncCol4,
.modNavAncFlex,
.modNavAncFlexR {
  margin: 40px 0;
}
.modNavAncCol2 .nav,
.modNavAncCol3 .nav,
.modNavAncCol4 .nav,
.modNavAncFlex .nav,
.modNavAncFlexR .nav {
  overflow: hidden;
  margin: 0 0 -12px -30px;
}
.modNavAncCol2 .nav li,
.modNavAncCol3 .nav li,
.modNavAncCol4 .nav li,
.modNavAncFlex .nav li,
.modNavAncFlexR .nav li {
  margin: 0 0 12px 0;
  padding: 0 0 0 30px;
  float: left;
}
.modNavAncCol2 .nav a,
.modNavAncCol3 .nav a,
.modNavAncCol4 .nav a,
.modNavAncFlex .nav a,
.modNavAncFlexR .nav a {
  padding: 7px 28px 7px 36px;
  text-align: center;
  position: relative;
  display: block;
  box-sizing: border-box;
  border-radius: 2px;
  background: #f0f0f0;
}
.modNavAncCol2 .nav a::before,
.modNavAncCol3 .nav a::before,
.modNavAncCol4 .nav a::before,
.modNavAncFlex .nav a::before,
.modNavAncFlexR .nav a::before {
  width: 6px;
  height: 5px;
  position: absolute;
  top: 17px;
  left: 20px;
  background-position: -30px -11px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modNavAncCol2 .nav a:hover,
.modNavAncCol2 .nav a:focus,
.modNavAncCol2 .nav a:active,
.modNavAncCol3 .nav a:hover,
.modNavAncCol3 .nav a:focus,
.modNavAncCol3 .nav a:active,
.modNavAncCol4 .nav a:hover,
.modNavAncCol4 .nav a:focus,
.modNavAncCol4 .nav a:active,
.modNavAncFlex .nav a:hover,
.modNavAncFlex .nav a:focus,
.modNavAncFlex .nav a:active,
.modNavAncFlexR .nav a:hover,
.modNavAncFlexR .nav a:focus,
.modNavAncFlexR .nav a:active {
  background: #eaeaea;
}

.modNavAncFlexR .nav a {
  padding-top: 10px;
}
.modNavAncFlexR .nav a::before {
  height: 7px;
  background-position: -20px -11px;
}

/* ------------------------------------
 * 2カラム
 * --------------------------------- */
.modNavAncCol2 .nav li {
  width: 50%;
}


/* ------------------------------------
 * 3カラム
 * --------------------------------- */
.modNavAncCol3 .nav li {
  width: 33%;
}
.modNavAncCol3 .nav li:nth-child(3n) {
  width: 34%;
}

/* ------------------------------------
 * 4カラム
 * --------------------------------- */
.modNavAncCol4 .nav li {
  width: 25%;
}

@media screen and (max-width: 640px) {
  .modNavAncCol2 .nav,
  .modNavAncCol3 .nav,
  .modNavAncCol4 .nav,
  .modNavAncFlex .nav,
  .modNavAncFlexR .nav {
    margin: 0;
  }
  .modNavAncCol2 .nav li,
  .modNavAncCol3 .nav li,
  .modNavAncCol4 .nav li,
  .modNavAncFlex .nav li,
  .modNavAncFlexR .nav li {
    width: inherit;
    margin: 0;
    padding: 0;
    float: none;
  }
  .modNavAncCol2 .nav li:first-child a,
  .modNavAncCol3 .nav li:first-child a,
  .modNavAncCol4 .nav li:first-child a,
  .modNavAncFlex .nav li:first-child a,
  .modNavAncFlexR .nav li:first-child a {
    border-radius: 2px 2px 0 0;
  }
  .modNavAncCol2 .nav li:last-child a,
  .modNavAncCol3 .nav li:last-child a,
  .modNavAncCol4 .nav li:last-child a,
  .modNavAncFlex .nav li:last-child a,
  .modNavAncFlexR .nav li:last-child a {
    border-radius: 0 0 2px 2px;
  }
  .modNavAncCol2 .nav li:nth-child(3n),
  .modNavAncCol3 .nav li:nth-child(3n),
  .modNavAncCol4 .nav li:nth-child(3n),
  .modNavAncFlex .nav li:nth-child(3n),
  .modNavAncFlexR .nav li:nth-child(3n) {
    width: inherit;
  }
  .modNavAncCol2 .nav a,
  .modNavAncCol3 .nav a,
  .modNavAncCol4 .nav a,
  .modNavAncFlex .nav a,
  .modNavAncFlexR .nav a {
    text-align: left;
    border-radius: 0;
  }
  .modNavAncCol2 .nav a::before,
  .modNavAncCol3 .nav a::before,
  .modNavAncCol4 .nav a::before,
  .modNavAncFlex .nav a::before,
  .modNavAncFlexR .nav a::before {
    top: 15px;
  }
}
/* ----------------------------------------------------------------------------
 * ページ内リンク（フロー）
 * ------------------------------------------------------------------------- */
.modNavAncFlow {
  margin: 40px 0;
}
.modNavAncFlow li {
  margin: 0 0 20px 0;
  padding: 4px 0 0 40px;
  position: relative;
}
.modNavAncFlow li::before {
  width: 28px;
  height: 28px;
  position: absolute;
  top: 0;
  left: 0;
  background-position: -127px -126px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

/* ----------------------------------------------------------------------------
 * パジネーション
 * ------------------------------------------------------------------------- */
.modNavPager {
  margin: 60px 0;
}
.modNavPager .pager {
  margin: 0 auto;
  display: table;
}
.modNavPager li {
  text-align: center;
  display: table-cell;
}
.modNavPager span {
  padding: 0 4px;
  vertical-align: top;
  display: table-cell;
}
.modNavPager a,
.modNavPager b {
  width: 44px;
  height: 44px;
  color: #3d3d3d;
  line-height: 44px;
  text-decoration: none;
  vertical-align: middle;
  position: relative;
  display: table-cell;
  box-sizing: border-box;
  border: 1px solid #ccc;
  background: #fff;
  font-weight: normal;
}
.modNavPager a:hover,
.modNavPager a:focus,
.modNavPager a:active {
  color: #215578;
  border-color: #215578;
}
.modNavPager a:hover::before,
.modNavPager a:focus::before,
.modNavPager a:active::before {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  border: 1px solid #215578;
  content: "";
}
.modNavPager .first a,
.modNavPager .last a,
.modNavPager .prev a,
.modNavPager .next a {
  width: auto;
  padding: 0 16px;
  white-space: nowrap;
}
.modNavPager .first a::after,
.modNavPager .last a::after,
.modNavPager .prev a::after,
.modNavPager .next a::after {
  height: 8px;
  margin: -4px 0 0;
  position: absolute;
  top: 50%;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modNavPager .first a {
  padding-left: 34px;
}
.modNavPager .first a::after {
  width: 12px;
  left: 11px;
  background-position: -65px -10px;
}
.modNavPager .last a {
  padding-right: 34px;
}
.modNavPager .last a::after {
  width: 12px;
  right: 11px;
  background-position: -82px -10px;
}
.modNavPager .prev a {
  padding-left: 26px;
}
.modNavPager .prev a::after {
  width: 7px;
  left: 11px;
  background-position: -41px -10px;
}
.modNavPager .next a {
  padding-right: 26px;
}
.modNavPager .next a::after {
  width: 7px;
  right: 11px;
  background-position: -53px -10px;
}
.modNavPager .current a,
.modNavPager .current b {
  color: #fff;
  cursor: default;
  border-color: #858585;
  background: #858585;
}
.modNavPager .current a:hover::before,
.modNavPager .current a:focus::before,
.modNavPager .current a:active::before {
  display: none;
}

@media screen and (max-width: 768px) {
  .modNavPager {
    margin-left: -5px;
    margin-right: -5px;
  }
  .modNavPager .pager {
    position: relative;
  }
  .modNavPager .num {
    padding: 0 0 54px;
  }
  .modNavPager .first {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .modNavPager .last {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .modNavPager .prev a,
  .modNavPager .next a {
    padding: 0;
  }
  .modNavPager .prev a::after,
  .modNavPager .next a::after {
    margin: -4px 0 0 -3px;
    top: 50%;
    left: 50%;
  }
  .modNavPager .prev span,
  .modNavPager .next span {
    white-space: nowrap;
    position: relative;
    z-index: -1;
  }
}
/* ----------------------------------------------------------------------------
 * 入口選択（個人のお客さま　⇔　法人のお客さま）
 * ------------------------------------------------------------------------- */
.modNavSelect {
  margin: 40px 0 40px;
}
.modNavSelect .listSelect {
  display: table;
}
.modNavSelect .listSelect > li {
  width: 100%;
  vertical-align: bottom;
  display: table-cell;
}
.modNavSelect .listSelect > li + li {
  padding: 0 0 0 11px;
  white-space: nowrap;
}
.modNavSelect .listSelect > li a {
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  display: table;
  box-sizing: border-box;
  border-radius: 4px;
}
.modNavSelect .listSelect > li a span {
  vertical-align: middle;
  display: table-cell;
}
.modNavSelect .lytMain {
  padding: 0 0 10px;
  background: #ededed;
}
.modNavSelect .lytMain .title {
  padding: 15px 0 12px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #001937;
  line-height: 1;
  text-align: center;
  display: block;
}
.modNavSelect .lytMain .title span::before {
  margin: -4px 10px 0 0;
}
.modNavSelect .lytMain .listCtg {
  width: 100%;
  padding: 0 5px;
  display: table;
  table-layout: fixed;
}
.modNavSelect .lytMain .listCtg > li {
  padding: 0 5px;
  vertical-align: bottom;
  display: table-cell;
}
.modNavSelect .lytMain a {
  width: 100%;
  color: #fff;
  padding: 19px 16px 10px;
  background: #197482;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #55c1d3), color-stop(100%, #197482));
  background: -moz-linear-gradient(top, #55c1d3 0%, #197482 100%);
  background: -ms-linear-gradient(top, #55c1d3 0%, #197482 100%);
  background: gradient(to bottom, #55c1d3 0%, #197482 100%);
}
.modNavSelect .lytMain a span::before {
  margin: 0 auto 11px;
  display: table;
}
.modNavSelect .lytMain a:hover,
.modNavSelect .lytMain a:focus,
.modNavSelect .lytMain a:active {
  background: #55c1d3;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #197482), color-stop(100%, #55c1d3));
  background: -moz-linear-gradient(top, #197482 0%, #55c1d3 100%);
  background: -ms-linear-gradient(top, #197482 0%, #55c1d3 100%);
  background: gradient(to bottom, #197482 0%, #55c1d3 100%);
}
.modNavSelect .lytSub a {
  width: 185px;
  height: 100%;
  font-size: 18px;
  font-size: 1.8rem;
  color: #001937;
  background: #e59700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffde96), color-stop(100%, #e59700));
  background: -moz-linear-gradient(top, #ffde96 0%, #e59700 100%);
  background: -ms-linear-gradient(top, #ffde96 0%, #e59700 100%);
  background: gradient(to bottom, #ffde96 0%, #e59700 100%);
}
.modNavSelect .lytSub a span::before {
  margin: 0 auto 10px;
  display: table;
}
.modNavSelect .lytSub a:hover,
.modNavSelect .lytSub a:focus,
.modNavSelect .lytSub a:active {
  background: #ffde96;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e59700), color-stop(100%, #ffde96));
  background: -moz-linear-gradient(top, #e59700 0%, #ffde96 100%);
  background: -ms-linear-gradient(top, #e59700 0%, #ffde96 100%);
  background: gradient(to bottom, #e59700 0%, #ffde96 100%);
}
.modNavSelect .icoPrd::before,
.modNavSelect .icoDl::before,
.modNavSelect .icoCart::before,
.modNavSelect .icoUpdate::before,
.modNavSelect .icoSupport::before,
.modNavSelect .icoPers::before,
.modNavSelect .icoCorp::before {
  vertical-align: middle;
  display: inline-block;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.modNavSelect .icoPrd::before {
  width: 27px;
  height: 27px;
  background-position: -132px -96px;
}
.modNavSelect .icoDl::before {
  width: 24px;
  height: 27px;
  background-position: -39px -96px;
}
.modNavSelect .icoCart::before {
  width: 27px;
  height: 27px;
  background-position: -100px -96px;
}
.modNavSelect .icoUpdate::before {
  width: 27px;
  height: 24px;
  background-position: -164px -98px;
}
.modNavSelect .icoSupport::before {
  width: 30px;
  height: 29px;
  background-position: -196px -95px;
}
.modNavSelect .icoPers::before {
  width: 24px;
  height: 30px;
  background-position: -231px -94px;
}
.modNavSelect .icoCorp::before {
  width: 24px;
  height: 30px;
  background-position: -260px -94px;
}

@media screen and (max-width: 768px) {
  .modNavSelect {
    margin-top: 15px;
  }
  .modNavSelect .listSelect {
    display: block;
  }
  .modNavSelect .listSelect > li {
    width: inherit;
    height: auto !important;
    display: block;
  }
  .modNavSelect .listSelect > li a {
    display: block;
    height: auto !important;
    text-align: left;
  }
  .modNavSelect .listSelect > li a span {
    display: block;
  }
  .modNavSelect .lytMain {
    margin: 0 -15px;
    padding: 0 15px 15px;
  }
  .modNavSelect .lytMain .listCtg {
    padding: 0;
  }
  .modNavSelect .lytMain .listCtg > li {
    margin: 0 0 5px;
    padding: 0;
    display: block;
  }
  .modNavSelect .lytMain .listCtg > li:last-child {
    margin-bottom: 0;
  }
  .modNavSelect .lytMain .listCtg a {
    height: auto !important;
  }
  .modNavSelect .lytMain a {
    padding: 16px 20px 13px 70px;
    position: relative;
  }
  .modNavSelect .lytMain a span::before {
    margin-top: -15px;
    position: absolute;
    top: 50%;
    left: 20px;
  }
  .modNavSelect .lytSub {
    margin: 15px 0 0;
    padding-left: 0 !important;
  }
  .modNavSelect .lytSub a {
    width: 100%;
    padding-top: 22px;
    padding-bottom: 18px;
  }
  .modNavSelect .lytSub a span {
    text-align: center;
  }
  .modNavSelect .lytSub a span::before {
    position: relative;
    top: 2px;
    margin-right: 15px;
    display: inline-block;
  }
}
/* ============================================================================
 * モジュール ボックス
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 汎用ボックス
 * ------------------------------------------------------------------------- */
.modBox,
.modBoxEm,
.modBoxLk,
.modBoxLkBL,
.modBoxTrg,
.modBoxTrgYE,
.modBoxNotice,
.modBoxGuide {
  margin: 32px 0;
  background: #fff;
}
.modBox > *,
.modBoxEm > *,
.modBoxLk > *,
.modBoxLkBL > *,
.modBoxTrg > *,
.modBoxTrgYE > *,
.modBoxNotice > *,
.modBoxGuide > * {
  margin-top: 0;
}
.modBox > .title,
.modBoxEm > .title,
.modBoxLk > .title,
.modBoxLkBL > .title,
.modBoxTrg > .title,
.modBoxTrgYE > .title,
.modBoxNotice > .title {
  font-weight: bold;
  color: #141414;
  line-height: 1.4;
}
.modBox > .title a,
.modBoxEm > .title a,
.modBoxLk > .title a,
.modBoxLkBL > .title a,
.modBoxTrg > .title a,
.modBoxTrgYE > .title a,
.modBoxNotice > .title a {
  padding: 0 0 0 18px;
  position: relative;
  display: block;
  color: #141414;
}
.modBox > .title a::before,
.modBoxEm > .title a::before,
.modBoxLk > .title a::before,
.modBoxLkBL > .title a::before,
.modBoxTrg > .title a::before,
.modBoxTrgYE > .title a::before,
.modBoxNotice > .title a::before {
  width: 5px;
  height: 6px;
  position: absolute;
  top: 8px;
  left: 0;
  background-position: -20px -10px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}

@media screen and (max-width: 640px) {
  .modBox,
  .modBoxEm,
  .modBoxLk,
  .modBoxLkBL,
  .modBoxTrg,
  .modBoxTrgYE,
  .modBoxNotice,
  .modBoxGuide {
    height: auto !important;
  }
  .modBox > .title,
  .modBoxEm > .title,
  .modBoxLk > .title,
  .modBoxLkBL > .title,
  .modBoxTrg > .title,
  .modBoxTrgYE > .title,
  .modBoxNotice > .title {
    height: auto !important;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .modBox > .title a::before,
  .modBoxEm > .title a::before,
  .modBoxLk > .title a::before,
  .modBoxLkBL > .title a::before,
  .modBoxTrg > .title a::before,
  .modBoxTrgYE > .title a::before,
  .modBoxNotice > .title a::before {
    top: 7px;
  }
}
/* ------------------------------------
 * 汎用ボックス（通常）
 * --------------------------------- */
.modBox {
  padding: 18px 22px 0;
  border: 1px solid #ccc;
}
.modBox > .title {
  margin: -18px -22px 11px;
  padding: 11px 22px 11px;
  border-bottom: 1px solid #ccc;
}
.modBox > .title + .modBoxTrg, .modBox > .title + .modBoxTrgYE {
  margin-top: 20px;
}
.modBox > * {
  margin-bottom: 13px;
}
.modBox > *:last-child {
  margin-bottom: 18px;
}
.modBox > br {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .modBox {
    padding: 14px 14px 0;
  }
  .modBox > .title {
    margin: -14px -14px 11px;
    padding: 11px 14px 11px;
  }
  .modBox > .title span {
    margin: -11px -14px -12px;
  }
  .modBox > * {
    margin-bottom: 9px;
  }
  .modBox > *:last-child {
    margin-bottom: 14px;
  }
  .modBox > br {
    margin-bottom: 0;
  }
}
/* ------------------------------------
 * 汎用ボックス（対象製品）
 * --------------------------------- */
.modBoxTrg {
  padding: 18px 14px 0;
  border: 1px solid #ccc;
}
.modBoxTrg > .title {
  margin: -18px -14px 16px;
  padding: 13px 14px 10px;
  font-size: 16px;
  font-size: 1.6rem;
  color: #3d3d3d;
  text-align: center;
  background: #f5f5f5;
}
.modBoxTrg > * {
  margin-bottom: 9px;
}
.modBoxTrg > *:last-child {
  margin-bottom: 12px;
}
.modBoxTrg > br {
  margin-bottom: 0;
}

/* ------------------------------------
 * 汎用ボックス黄色枠（対象製品）
 * --------------------------------- */
.modBoxTrgYE {
  padding: 18px 14px 0;
  border: 1px solid #FFB640;
}
.modBoxTrgYE > .title {
  margin: -18px -14px 16px;
  padding: 13px 14px 10px;
  font-size: 16px;
  font-size: 1.6rem;
  color: #3d3d3d;
  text-align: center;
  background: #f6e094;
}
.modBoxTrgYE > * {
  margin-bottom: 9px;
}
.modBoxTrgYE > *:last-child {
  margin-bottom: 12px;
}
.modBoxTrgYE > br {
  margin-bottom: 0;
}

/* ------------------------------------
 * 汎用ボックス（強調説明、補足説明）
 * --------------------------------- */
.modBoxLk,
.modBoxLkBL,
.modBoxLkBL2,
.modBoxEm {
  padding: 19px 24px 1px;
}
.modBoxLk > .title,
.modBoxLkBL > .title,
.modBoxLkBL2 > .title,
.modBoxEm > .title {
  border-bottom: 1px solid #ccc;
  margin: -19px -24px 11px;
  padding: 13px 24px 12px;
}
.modBoxLk > *,
.modBoxLkBL > *,
.modBoxLkBL2 > *,
.modBoxEm > * {
  margin-bottom: 13px;
}
.modBoxLk > *:last-child,
.modBoxLkBL > *:last-child,
.modBoxLkBL2 > *:last-child,
.modBoxEm > *:last-child {
  margin-bottom: 17px;
}
.modBoxLk > br,
.modBoxLkBL > br,
.modBoxLkBL2 > br,
.modBoxEm > br {
  margin-bottom: 0;
}

/* 補足説明 */
.modBoxLk {
  background: #e6e6e6;
}

/* 補足説明BLUE */
.modBoxLkBL {
  background: #c6e8e9;
}

/* 補足説明BLUE_法人 */
.modBoxLkBL2 {
  background: #f0f8ff;
  margin: 0 auto;
}

/* 強調説明 */
.modBoxEm {
  background: #ffde9f;
}

@media screen and (max-width: 640px) {
  .modBoxLk,
  .modBoxLkBL,
  .modBoxLkBL2,
  .modBoxEm {
    padding: 15px 15px 1px;
  }
  .modBoxLk > .title,
  .modBoxLkBL > .title,
  .modBoxLkBL2 > .title,
  .modBoxEm > .title {
    margin: -15px -15px 11px;
    padding: 12px 15px 12px;
  }
  .modBoxLk > *,
  .modBoxLkBL > *,
  .modBoxLkBL2 > *,
  .modBoxEm > * {
    margin-bottom: 9px;
  }
  .modBoxLk > *:last-child,
  .modBoxLkBL > *:last-child,
  .modBoxLkBL2 > *:last-child,
  .modBoxEm > *:last-child {
    margin-bottom: 13px;
  }
  .modBoxLk > br,
  .modBoxLkBL > br,
  .modBoxLkBL2 > br,
  .modBoxEm > br {
    margin-bottom: 0;
  }
}
/* ------------------------------------
 * 汎用ボックス（注意喚起）
 * --------------------------------- */
.modBoxNotice {
  padding: 15px 19px 0;
  border: 4px solid #c00;
}
.modBoxNotice > .title {
  margin: -15px -19px 11px;
  padding: 12px 19px 11px;
  background: #e6eef7;
}
.modBoxNotice > * {
  margin-top: 0;
  margin-bottom: 9px;
}
.modBoxNotice > *:last-child {
  margin-bottom: 14px;
}
.modBoxNotice > br {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .modBoxNotice {
    padding: 11px 11px 0;
  }
  .modBoxNotice > .title {
    margin: -11px -11px 11px;
    padding: 11px 11px 11px;
  }
  .modBoxNotice > * {
    margin-bottom: 5px;
  }
  .modBoxNotice > *:last-child {
    margin-bottom: 10px;
  }
  .modBoxNotice > br {
    margin-bottom: 0;
  }
}

/* ------------------------------------
 * 汎用ボックス（案内/紹介）
 * --------------------------------- */

.modBoxGuide{
    padding: 1em;
    color: #5d627b;
    border-top: solid 5px #0c5e92;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    border-radius: 3px;
}
.modBoxGuide > .title {
  margin: 5px 0 10px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #002f62;
  line-height:1.4;
  text-align:center;
}
.modBoxGuide > * {
  margin-top: 0;
  margin-bottom: 9px;
}
.modBoxGuide > br {
  margin-bottom: 0;
}
.modBoxGuide .modLytImgLtr .lytDetail p.hdg{
  color: #002f62;
  font-size: 2.4rem;
}
.modBoxGuide .modLytImgLtr .lytImg img{
  text-align:center;
}
@media screen and (max-width: 640px) {
  .modBoxGuide > .title {
    font-size: 1.8rem;
  }
  .modBoxGuide .modLytImgLtr .lytDetail p.hdg{
    font-size: 1.8rem;
    text-align:center;
}
}
/* ----------------------------------------------------------------------------
 * フローボックス
 * ------------------------------------------------------------------------- */
.modBoxFlow {
  margin: 40px 0;
}
.modBoxFlow .box {
  min-height: 125px;
  padding: 24px 69px 24px 140px;
  position: relative;
  overflow: hidden;
  border: 1px solid #ccc;
}
.modBoxFlow .box + .box {
  border-top: none;
}
.modBoxFlow .box::before, .modBoxFlow .box::after {
  position: absolute;
  left: 30px;
  background: #3c9ea8;
  content: "";
}
.modBoxFlow .box::before {
  width: 80px;
  height: 115px;
  top: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #3c9ea8), color-stop(100%, #288998));
  background: -moz-linear-gradient(top, #3c9ea8 0%, #288998 100%);
  background: -ms-linear-gradient(top, #3c9ea8 0%, #288998 100%);
  background: gradient(to bottom, #3c9ea8 0%, #288998 100%);
}
.modBoxFlow .box::after {
  width: 0;
  height: 0;
  top: 83px;
  margin-left: -1px;
  border: 30px solid transparent;
  border-right: 41px solid #fff;
  border-bottom: 30px solid #fff;
  border-left: 41px solid #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #278997), color-stop(100%, #228393));
  background: -moz-linear-gradient(top, #278997 0%, #228393 100%);
  background: -ms-linear-gradient(top, #278997 0%, #228393 100%);
  background: gradient(to bottom, #278997 0%, #228393 100%);
}
.modBoxFlow .box > .title > .num {
  width: 55px;
  height: 55px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #148299;
  line-height: 2;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  top: 10px;
  left: 42px;
  display: block;
  border-radius: 3px;
  background: #fff;
}
.modBoxFlow .box > .title > .num em {
  font-size: 30px;
  font-size: 3rem;
  font-weight: normal;
  line-height: .8;
  display: block;
}
.modBoxFlow .box > .title > .txt {
  margin: 0 0 10px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #141414;
  line-height: 1.4;
  display: block;
}
.modBoxFlow .box > .inner > *:first-child {
  margin-top: 0;
}
.modBoxFlow .box > .inner > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .modBoxFlow .box {
    padding: 20px 0 20px 95px;
    border-left: none;
    border-right: none;
  }
  .modBoxFlow .box::before, .modBoxFlow .box::after {
    left: 0;
  }
  .modBoxFlow .box > .title {
    min-height: 95px;
  }
  .modBoxFlow .box > .title > .num {
    left: 12px;
  }
  .modBoxFlow .box > .title > .txt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .modBoxFlow .box > .inner {
    margin: 10px 0 0 -95px;
    position: relative;
    z-index: 1;
  }
}
/* ----------------------------------------------------------------------------
 * ログインボックス
 * ------------------------------------------------------------------------- */
.modBoxLogin {
  margin: 28px 0;
  text-align: center;
}
.modBoxLogin .box {
  margin: 32px auto;
  padding: 48px 40px;
  display: table;
  border: 1px solid #d5d5d5;
  box-shadow: 0 0 5px #ccc;
}
.modBoxLogin .box > *:last-child {
  margin-bottom: 0;
}
.modBoxLogin .listForm li {
  width: 100%;
  margin: 0 0 32px;
  display: table-row;
}
.modBoxLogin .listForm li:last-child .title,
.modBoxLogin .listForm li:last-child .text {
  padding-bottom: 0;
}
.modBoxLogin .listForm .title {
  padding: 0 30px 25px 0;
  font-weight: bold;
  display: table-cell;
}
.modBoxLogin .listForm .text {
  width: 370px;
  padding: 0 0 25px 0;
  display: table-cell;
}
.modBoxLogin .listForm input {
  width: 100%;
  height: 44px;
  padding: 0 7px;
  line-height: 44px;
  border: 1px solid #ccc;
  background: #e6e6e6;
}
.modBoxLogin .listForm input:focus {
  background: #fff;
}
.modBoxLogin .btnCv2 {
  max-width: 370px;
  margin: 32px 0 32px auto;
}

@media screen and (max-width: 640px) {
  .modBoxLogin .box {
    width: 100%;
    padding: 24px;
  }
  .modBoxLogin .listForm li {
    margin: 0 0 18px;
    text-align: left;
    display: block;
  }
  .modBoxLogin .listForm .title,
  .modBoxLogin .listForm .text {
    padding-bottom: 0;
    display: block;
  }
  .modBoxLogin .listForm .title {
    margin-bottom: 6px;
  }
  .modBoxLogin .listForm .text {
    width: 100%;
  }
  .modBoxLogin .btnCv2 {
    max-width: 100%;
    margin-top: 24px 0 32px 0;
  }
}
/* ============================================================================
 * モジュール レイアウト
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 画像配置
 * ------------------------------------------------------------------------- */
.modImg {
  width: 100%;
  margin: 32px 0;
  text-align: center;
  display: table;
  table-layout: fixed;
}
.modImg::before {
  width: 100%;
  height: 100%;
  content: "";
}
.modImg .caption {
  margin: 12px 0 0;
  text-align: center;
  display: block;
}
.modImg a::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
}
.modImg img + a::before {
  height: 12px;
}

/* ----------------------------------------------------------------------------
 * レイアウト
 * ------------------------------------------------------------------------- */
.modLyt,
.modLytCol2,
.modLytCol3,
.modLytCol4 {
  margin: 32px 0 12px -30px;
}
.modLyt > .col,
.modLytCol2 > .col,
.modLytCol3 > .col,
.modLytCol4 > .col {
  margin: 0 0 24px;
  padding: 0 0 0 30px;
  float: left;
}
.modLyt > .col > *:first-child, .modLyt > .col > *:last-child,
.modLytCol2 > .col > *:first-child,
.modLytCol2 > .col > *:last-child,
.modLytCol3 > .col > *:first-child,
.modLytCol3 > .col > *:last-child,
.modLytCol4 > .col > *:first-child,
.modLytCol4 > .col > *:last-child {
  margin-top: 0;
  margin-bottom: 0;
}
.modLyt a:hover, .modLyt a:active, .modLyt a:focus,
.modLytCol2 a:hover,
.modLytCol2 a:active,
.modLytCol2 a:focus,
.modLytCol3 a:hover,
.modLytCol3 a:active,
.modLytCol3 a:focus,
.modLytCol4 a:hover,
.modLytCol4 a:active,
.modLytCol4 a:focus {
  opacity: 0.7;
}
.modLyt .modBtnCv li,
.modLytCol2 .modBtnCv li,
.modLytCol3 .modBtnCv li,
.modLytCol4 .modBtnCv li {
  margin: 0 0 1px;
}
.modLyt .modBtnCv li::before,
.modLytCol2 .modBtnCv li::before,
.modLytCol3 .modBtnCv li::before,
.modLytCol4 .modBtnCv li::before {
  margin: 0;
  padding: 0;
}
.modLyt .modBtnCv li:last-child,
.modLytCol2 .modBtnCv li:last-child,
.modLytCol3 .modBtnCv li:last-child,
.modLytCol4 .modBtnCv li:last-child {
  margin-bottom: 0;
}
.modLyt .modLytImgLtr,
.modLytCol2 .modLytImgLtr,
.modLytCol3 .modLytImgLtr,
.modLytCol4 .modLytImgLtr {
  table-layout: fixed;
}
.modLyt .modLytImgLtr .lytImg,
.modLyt .modLytImgLtr .lytDetail,
.modLytCol2 .modLytImgLtr .lytImg,
.modLytCol2 .modLytImgLtr .lytDetail,
.modLytCol3 .modLytImgLtr .lytImg,
.modLytCol3 .modLytImgLtr .lytDetail,
.modLytCol4 .modLytImgLtr .lytImg,
.modLytCol4 .modLytImgLtr .lytDetail {
  width: 50%;
}
.modLyt .modLytImgLtr .lytImg img,
.modLytCol2 .modLytImgLtr .lytImg img,
.modLytCol3 .modLytImgLtr .lytImg img,
.modLytCol4 .modLytImgLtr .lytImg img {
  max-width: 100%;
}
.modLyt .modLytImgLtr.fixed .lytImg img,
.modLytCol2 .modLytImgLtr.fixed .lytImg img,
.modLytCol3 .modLytImgLtr.fixed .lytImg img,
.modLytCol4 .modLytImgLtr.fixed .lytImg img {
  width: 100%;
}
.modLyt .modLytImgLtr.fixed .lytDetail,
.modLytCol2 .modLytImgLtr.fixed .lytDetail,
.modLytCol3 .modLytImgLtr.fixed .lytDetail,
.modLytCol4 .modLytImgLtr.fixed .lytDetail {
  width: 100%;
}
.modLyt.home,
.modLytCol2.home,
.modLytCol3.home,
.modLytCol4.home {
  margin-left: -1px;
}
.modLyt.home > .col,
.modLytCol2.home > .col,
.modLytCol3.home > .col,
.modLytCol4.home > .col {
  margin-bottom: 1px;
  padding-left: 1px;
}

.modLytCol2.partition {
  margin-bottom: 10px;
}
.modLytCol2.partition > .col:nth-child(2n-1) {
  position: relative;
}
.modLytCol2.partition > .col:nth-child(2n-1):after {
  content: "";
  position: absolute;
  top: -15px;
  right: -15px;
  bottom: -15px;
  border-right: 1px solid #ccc;
}

.strLytCol2 .modLytCol3 > .modBtnCv .btnCv1,
.strLytCol2 .modLytCol3 > .modBtnCv .btnCv2,
.strLytCol2 .modLytCol3 > .modBtnCv .btnCv3,
.strLytCol2 .modLytCol4 > .modBtnCv .btnCv1,
.strLytCol2 .modLytCol4 > .modBtnCv .btnCv2,
.strLytCol2 .modLytCol4 > .modBtnCv .btnCv3,
.strLytNarrow .modLytCol3 > .modBtnCv .btnCv1,
.strLytNarrow .modLytCol3 > .modBtnCv .btnCv2,
.strLytNarrow .modLytCol3 > .modBtnCv .btnCv3,
.strLytNarrow .modLytCol4 > .modBtnCv .btnCv1,
.strLytNarrow .modLytCol4 > .modBtnCv .btnCv2,
.strLytNarrow .modLytCol4 > .modBtnCv .btnCv3 {
  font-size: 16.5px;
  font-size: 1.65rem;
}

@media screen and (max-width: 640px) {
  .modLyt,
  .modLytCol2,
  .modLytCol3,
  .modLytCol4 {
    margin-left: 0;
  }
  .modLyt > .col,
  .modLytCol2 > .col,
  .modLytCol3 > .col,
  .modLytCol4 > .col {
    width: 100% !important;
    height: auto !important;
    padding-left: 0;
    float: none;
  }
  .modLyt .modLytImgLtr .lytImg,
  .modLyt .modLytImgLtr .lytDetail,
  .modLytCol2 .modLytImgLtr .lytImg,
  .modLytCol2 .modLytImgLtr .lytDetail,
  .modLytCol3 .modLytImgLtr .lytImg,
  .modLytCol3 .modLytImgLtr .lytDetail,
  .modLytCol4 .modLytImgLtr .lytImg,
  .modLytCol4 .modLytImgLtr .lytDetail {
    width: 100%;
  }
  .modLyt .modLytImgLtr.fixed .lytImg img,
  .modLytCol2 .modLytImgLtr.fixed .lytImg img,
  .modLytCol3 .modLytImgLtr.fixed .lytImg img,
  .modLytCol4 .modLytImgLtr.fixed .lytImg img {
    width: auto;
    max-width: inherit;
  }

  .modLytCol2.partition > .col:nth-child(2n-1) {
    position: static;
  }
  .modLytCol2.partition > .col:nth-child(2n-1):after {
    content: none;
  }
  .modLytCol2.partition .modBtn a {
    min-width: 240px;
  }
}
/* ------------------------------------
 * 2カラムレイアウト
 * --------------------------------- */
.modLytCol2 > .col {
  width: 50%;
}
.modLytCol2 .modLytCol2 {
  margin-top: 10px !important;
}

/* ------------------------------------
 * 3カラムレイアウト
 * --------------------------------- */
.modLytCol3 > .col {
  width: 33.3%;
}
.modLytCol3 > .col:nth-child(3n) {
  width: 33.4%;
}

/* ------------------------------------
 * 4カラムレイアウト
 * --------------------------------- */
.modLytCol4 > .col {
  width: 25%;
}

@media screen and (max-width: 768px) {
  .modLytCol4 > .col {
    width: 50%;
  }
  .modLytCol4 > .col > .img {
    text-align: center;
  }
}
/* ----------------------------------------------------------------------------
 * 画像レイアウト（通常）
 * ------------------------------------------------------------------------- */
.modLytImgL,
.modLytImgLtr,
.modLytImgR,
.modLytImgRtl {
  width: 100%;
  margin: 32px 0;
  display: table;
}
.modLytImgL .lytImg,
.modLytImgLtr .lytImg,
.modLytImgR .lytImg,
.modLytImgRtl .lytImg {
  direction: ltr;
  display: table-cell;
  vertical-align: top;
}
.modLytImgL .lytImg > img,
.modLytImgL .lytImg > a > img,
.modLytImgLtr .lytImg > img,
.modLytImgLtr .lytImg > a > img,
.modLytImgR .lytImg > img,
.modLytImgR .lytImg > a > img,
.modLytImgRtl .lytImg > img,
.modLytImgRtl .lytImg > a > img {
  max-width: inherit;
}
.modLytImgL .lytImg .caption,
.modLytImgLtr .lytImg .caption,
.modLytImgR .lytImg .caption,
.modLytImgRtl .lytImg .caption {
  margin: 11px 0 5px;
  text-align: center;
  display: block;
}
.modLytImgL .lytImg .caption span,
.modLytImgLtr .lytImg .caption span,
.modLytImgR .lytImg .caption span,
.modLytImgRtl .lytImg .caption span {
  font-size: 14px;
  font-size: 1.4rem;
  color: #666;
}
.modLytImgL .lytDetail,
.modLytImgLtr .lytDetail,
.modLytImgR .lytDetail,
.modLytImgRtl .lytDetail {
  width: 100%;
  direction: ltr;
  display: table-cell;
}
.modLytImgL .lytDetail > *,
.modLytImgLtr .lytDetail > *,
.modLytImgR .lytDetail > *,
.modLytImgRtl .lytDetail > * {
  margin-top: 0;
  margin-bottom: 10px;
}
.modLytImgL .lytDetail > *:last-child,
.modLytImgLtr .lytDetail > *:last-child,
.modLytImgR .lytDetail > *:last-child,
.modLytImgRtl .lytDetail > *:last-child {
  margin-top: 0;
  margin-bottom: 0;
}
.modLytImgL .lytDetail > br,
.modLytImgLtr .lytDetail > br,
.modLytImgR .lytDetail > br,
.modLytImgRtl .lytDetail > br {
  margin-bottom: 0;
}
.modLytImgL .lytDetail .modBtn,
.modLytImgL .lytDetail .modBtnCol2,
.modLytImgL .lytDetail .modBtnCol3,
.modLytImgL .lytDetail .modBtnLeft,
.modLytImgL .lytDetail .modBtnRight,
.modLytImgLtr .lytDetail .modBtn,
.modLytImgLtr .lytDetail .modBtnCol2,
.modLytImgLtr .lytDetail .modBtnCol3,
.modLytImgLtr .lytDetail .modBtnLeft,
.modLytImgLtr .lytDetail .modBtnRight,
.modLytImgR .lytDetail .modBtn,
.modLytImgR .lytDetail .modBtnCol2,
.modLytImgR .lytDetail .modBtnCol3,
.modLytImgR .lytDetail .modBtnLeft,
.modLytImgR .lytDetail .modBtnRight,
.modLytImgRtl .lytDetail .modBtn,
.modLytImgRtl .lytDetail .modBtnCol2,
.modLytImgRtl .lytDetail .modBtnCol3,
.modLytImgRtl .lytDetail .modBtnLeft,
.modLytImgRtl .lytDetail .modBtnRight {
  margin-top: 24px !important;
}
.modLytImgL .lytDetail .hdg,
.modLytImgLtr .lytDetail .hdg,
.modLytImgR .lytDetail .hdg,
.modLytImgRtl .lytDetail .hdg {
  margin: 0 0 14px !important;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
}
.modLytImgL .lytDetail .hdg .sub,
.modLytImgLtr .lytDetail .hdg .sub,
.modLytImgR .lytDetail .hdg .sub,
.modLytImgRtl .lytDetail .hdg .sub {
  margin: 0 0 3px;
  font-weight: normal;
  display: block;
}
.modLytImgL .lytDetail .modLinkBtn,
.modLytImgLtr .lytDetail .modLinkBtn,
.modLytImgR .lytDetail .modLinkBtn,
.modLytImgRtl .lytDetail .modLinkBtn {
  margin-top: 16px;
}
.modLytImgL .lytDetail .modBoxLk,
.modLytImgLtr .lytDetail .modBoxLk,
.modLytImgR .lytDetail .modBoxLk,
.modLytImgRtl .lytDetail .modBoxLk {
  padding-top: 11px;
}
.modLytImgL .lytDetail .modBoxLk .title,
.modLytImgLtr .lytDetail .modBoxLk .title,
.modLytImgR .lytDetail .modBoxLk .title,
.modLytImgRtl .lytDetail .modBoxLk .title {
  padding-top: 19px;
}
.modLytImgL .lytDetail .modBoxLk > *,
.modLytImgLtr .lytDetail .modBoxLk > *,
.modLytImgR .lytDetail .modBoxLk > *,
.modLytImgRtl .lytDetail .modBoxLk > * {
  margin-bottom: 9px;
}
.modLytImgL .lytDetail .modBoxLk > br,
.modLytImgLtr .lytDetail .modBoxLk > br,
.modLytImgR .lytDetail .modBoxLk > br,
.modLytImgRtl .lytDetail .modBoxLk > br {
  margin-bottom: 0;
}

.modLytImgL .lytDetail .modBoxLkBL,
.modLytImgLtr .lytDetail .modBoxLkBL,
.modLytImgR .lytDetail .modBoxLkBL,
.modLytImgRtl .lytDetail .modBoxLkBL {
  padding-top: 11px;
}
.modLytImgL .lytDetail .modBoxLkBL .title,
.modLytImgLtr .lytDetail .modBoxLkBL .title,
.modLytImgR .lytDetail .modBoxLkBL .title,
.modLytImgRtl .lytDetail .modBoxLkBL .title {
  padding-top: 19px;
}
.modLytImgL .lytDetail .modBoxLkBL > *,
.modLytImgLtr .lytDetail .modBoxLkBL > *,
.modLytImgR .lytDetail .modBoxLkBL > *,
.modLytImgRtl .lytDetail .modBoxLkBL > * {
  margin-bottom: 9px;
}
.modLytImgL .lytDetail .modBoxLkBL > br,
.modLytImgLtr .lytDetail .modBoxLkBL > br,
.modLytImgR .lytDetail .modBoxLkBL > br,
.modLytImgRtl .lytDetail .modBoxLkBL > br {
  margin-bottom: 0;
}

.modLytImgL .lytDetail .modBoxLkBL2,
.modLytImgLtr .lytDetail .modBoxLkBL2,
.modLytImgR .lytDetail .modBoxLkBL2,
.modLytImgRtl .lytDetail .modBoxLkBL2 {
  padding-top: 11px;
}
.modLytImgL .lytDetail .modBoxLkBL2 .title,
.modLytImgLtr .lytDetail .modBoxLkBL2 .title,
.modLytImgR .lytDetail .modBoxLkBL2 .title,
.modLytImgRtl .lytDetail .modBoxLkBL2 .title {
  padding-top: 19px;
}
.modLytImgL .lytDetail .modBoxLkBL2 > *,
.modLytImgLtr .lytDetail .modBoxLkBL2 > *,
.modLytImgR .lytDetail .modBoxLkBL2 > *,
.modLytImgRtl .lytDetail .modBoxLkBL2 > * {
  margin-bottom: 9px;
}
.modLytImgL .lytDetail .modBoxLkBL2 > br,
.modLytImgLtr .lytDetail .modBoxLkBL2 > br,
.modLytImgR .lytDetail .modBoxLkBL2 > br,
.modLytImgRtl .lytDetail .modBoxLkBL2 > br {
  margin-bottom: 0;
}

/* ------------------------------------
 * 画像左
 * --------------------------------- */
.modLytImgL,
.modLytImgLtr {
  direction: rtl;
}
.modLytImgL .lytImg,
.modLytImgLtr .lytImg {
  padding: 0 30px 0 0;
}

/* ------------------------------------
 * 画像右
 * --------------------------------- */
.modLytImgR,
.modLytImgRtl {
  direction: ltr;
}
.modLytImgR .lytImg,
.modLytImgRtl .lytImg {
  padding: 0 0 0 30px;
}

@media screen and (max-width: 640px) {
  .modLytImgL .lytImg,
  .modLytImgLtr .lytImg,
  .modLytImgR .lytImg,
  .modLytImgRtl .lytImg {
    width: 100%;
    margin: 24px 0 0;
    padding: 0;
    display: table;
    table-layout: fixed;
  }
  .modLytImgL .lytImg > img,
  .modLytImgL .lytImg > a > img,
  .modLytImgLtr .lytImg > img,
  .modLytImgLtr .lytImg > a > img,
  .modLytImgR .lytImg > img,
  .modLytImgR .lytImg > a > img,
  .modLytImgRtl .lytImg > img,
  .modLytImgRtl .lytImg > a > img {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .modLytImgL .lytDetail,
  .modLytImgLtr .lytDetail,
  .modLytImgR .lytDetail,
  .modLytImgRtl .lytDetail {
    display: table-caption;
  }
  .modLytImgL .lytDetail .hdg,
  .modLytImgLtr .lytDetail .hdg,
  .modLytImgR .lytDetail .hdg,
  .modLytImgRtl .lytDetail .hdg {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .modLytImgLtr .lytDetail,
  .modLytImgRtl .lytDetail {
    display: block;
  }
  .modLytImgLtr .lytImg,
  .modLytImgRtl .lytImg {
    margin: 0 0 10px;
    display: table-caption;
  }
}
/* ============================================================================
 * モジュール テーブル
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * テーブル（表組）
 * ------------------------------------------------------------------------- */
.modTbl {
  width: 100%;
  margin: 32px 0;
  word-break: break-all;
  border-collapse: collapse;
}
.modTbl caption {
  width: 100%;
  margin: 0 0 10px;
  font-size: 16px;
  font-size: 1.6rem;
  text-align: right;
}
.modTbl thead th, .modTbl thead td {
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #717171;
}
.modTbl tbody th,
.modTbl tbody .empty {
  text-align: left;
  background: #f5f5f5;
}
.modTbl th, .modTbl td {
  padding: 12px 12px 9px;
  border: 1px solid #ccc;
}
.modTbl th > *, .modTbl td > * {
  margin-bottom: 9px;
}
.modTbl th > *:first-child, .modTbl td > *:first-child {
  margin-top: 0;
}
.modTbl th > *:last-child, .modTbl td > *:last-child {
  margin-bottom: 0;
}
.modTbl th > * .btn,
.modTbl th > * .btnCv1,
.modTbl th > * .btnCv2,
.modTbl th > * .btnCv3, .modTbl td > * .btn,
.modTbl td > * .btnCv1,
.modTbl td > * .btnCv2,
.modTbl td > * .btnCv3 {
  min-width: 100%;
}
.modTbl th > * .btn.home,
.modTbl th > * .btnCv1.home,
.modTbl th > * .btnCv2.home,
.modTbl th > * .btnCv3.home, .modTbl td > * .btn.home,
.modTbl td > * .btnCv1.home,
.modTbl td > * .btnCv2.home,
.modTbl td > * .btnCv3.home {
  min-width: 240px;
}
.modTbl th > br, .modTbl td > br {
  margin-bottom: 0;
}
.modTbl th {
  vertical-align: middle;
}
.modTbl td {
  vertical-align: top;
}

@media screen and (max-width: 640px) {
  .modTbl {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .modTbl th, .modTbl td {
    padding-left: 5px;
    padding-right: 5px;
  }
  .modTbl th > * .btn.home,
  .modTbl th > * .btnCv1.home,
  .modTbl th > * .btnCv2.home,
  .modTbl th > * .btnCv3.home, .modTbl td > * .btn.home,
  .modTbl td > * .btnCv1.home,
  .modTbl td > * .btnCv2.home,
  .modTbl td > * .btnCv3.home {
    min-width: 100%;
  }
}
/* ============================================================================
 * モジュール ボタン
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * 各種ボタン
 * ------------------------------------------------------------------------- */
.btn,
.btnCv1,
.btnCv2,
.btnCv3,
.btnCv4,
.btnNo {
  width: 100%;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  opacity: 1 !important;
  position: relative;
  display: block;
  box-sizing: border-box;
  border: none;
  border-radius: 3px;
}
.btn > span,
.btnCv1 > span,
.btnCv2 > span,
.btnCv3 > span,
.btnCv4 > span,
.btnNo > span {
  width: 100%;
  padding: 11px 36px 8px 28px;
  text-align: center;
  position: relative;
  display: block;
  box-sizing: border-box;
}
.btn > span:before,
.btnCv1 > span:before,
.btnCv2 > span:before,
.btnCv3 > span:before,
.btnCv4 > span:before {
  width: 11px;
  height: 11px;
  margin: -6px 0 0;
  position: absolute;
  top: 50%;
  left: 12px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.btn > span.img,
.btnCv1 > span.img,
.btnCv2 > span.img,
.btnCv3 > span.img,
.btnCv4 > span.img {
  padding: 10px 65px 10px 28px;
}
.btn > span.img img,
.btnCv1 > span.img img,
.btnCv2 > span.img img,
.btnCv3 > span.img img,
.btnCv4 > span.img img {
  margin: -24px 0 0;
  opacity: 1;
  position: absolute;
  top: 50%;
  right: 10px;
}
.btn.img,
.btnCv1.img,
.btnCv2.img,
.btnCv3.img,
.btnCv4.img {
  min-height: 65px;
}

/* ------------------------------------
 * 通常ボタン
 * --------------------------------- */
.btn {
  color: #141414;
  background: #c4c4c4;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f1f1f1), color-stop(100%, #c4c4c4));
  background: -moz-linear-gradient(top, #f1f1f1 0%, #c4c4c4 100%);
  background: -ms-linear-gradient(top, #f1f1f1 0%, #c4c4c4 100%);
  background: gradient(to bottom, #f1f1f1 0%, #c4c4c4 100%);
}
.btn > span:before {
  background-position: -76px -35px;
}
.btn:hover, .btn:focus, .btn:active {
  color: #141414;
  background: #f1f1f1;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #c4c4c4), color-stop(100%, #f1f1f1));
  background: -moz-linear-gradient(top, #c4c4c4 0%, #f1f1f1 100%);
  background: -ms-linear-gradient(top, #c4c4c4 0%, #f1f1f1 100%);
  background: gradient(to bottom, #c4c4c4 0%, #f1f1f1 100%);
}
.btn.home {
  color: #666;
  background: #c4c4c4;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ebeaea), color-stop(100%, #dbdbdb));
  background: -moz-linear-gradient(top, #ebeaea 0%, #dbdbdb 100%);
  background: -ms-linear-gradient(top, #ebeaea 0%, #dbdbdb 100%);
  background: gradient(to bottom, #ebeaea 0%, #dbdbdb 100%);
}
.btn.home:hover, .btn.home:focus, .btn.home:active {
  color: #666;
  background: #dbdbdb;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dbdbdb), color-stop(100%, #ebeaea));
  background: -moz-linear-gradient(top, #dbdbdb 0%, #ebeaea 100%);
  background: -ms-linear-gradient(top, #dbdbdb 0%, #ebeaea 100%);
  background: gradient(to bottom, #dbdbdb 0%, #ebeaea 100%);
}
.btn.home > span:before {
  background-position: -92px -35px;
}

/* ------------------------------------
 * コンバージョンボタン
 * --------------------------------- */
.btnCv1,
.btnCv2,
.btnCv3,
.btnCv4 {
  color: #fff;
}

.btnCv1:hover,
.btnCv1:focus,
.btnCv1:active,
.btnCv2:hover,
.btnCv2:focus,
.btnCv2:active,
.btnCv3:hover,
.btnCv3:focus,
.btnCv3:active,
.btnCv4:hover,
.btnCv4:focus,
.btnCv4:active {
  color: #fff;
}

/* コンバージョンボタン1 */
.btnCv1 {
  background: #e12b13;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fb6050), color-stop(100%, #e12b13));
  background: -moz-linear-gradient(top, #fb6050 0%, #e12b13 100%);
  background: -ms-linear-gradient(top, #fb6050 0%, #e12b13 100%);
  background: gradient(to bottom, #fb6050 0%, #e12b13 100%);
}
.btnCv1 > span:before {
  background-position: -60px -35px;
}
.btnCv1:hover, .btnCv1:focus, .btnCv1:active {
  background: #fb6050;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e12b13), color-stop(100%, #fb6050));
  background: -moz-linear-gradient(top, #e12b13 0%, #fb6050 100%);
  background: -ms-linear-gradient(top, #e12b13 0%, #fb6050 100%);
  background: gradient(to bottom, #e12b13 0%, #fb6050 100%);
}

/* コンバージョンボタン2 */
.btnCv2 {
  background: #033568;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #0b5290), color-stop(100%, #033568));
  background: -moz-linear-gradient(top, #0b5290 0%, #033568 100%);
  background: -ms-linear-gradient(top, #0b5290 0%, #033568 100%);
  background: gradient(to bottom, #0b5290 0%, #033568 100%);
}
.btnCv2 > span:before {
  background-position: -44px -35px;
}
.btnCv2:hover, .btnCv2:focus, .btnCv2:active {
  background: #0b5290;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #033568), color-stop(100%, #0b5290));
  background: -moz-linear-gradient(top, #033568 0%, #0b5290 100%);
  background: -ms-linear-gradient(top, #033568 0%, #0b5290 100%);
  background: gradient(to bottom, #033568 0%, #0b5290 100%);
}

/* コンバージョンボタン3 */
.btnCv3 {
  background: #1d6773;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1d8a9c), color-stop(100%, #1d6773));
  background: -moz-linear-gradient(top, #1d8a9c 0%, #1d6773 100%);
  background: -ms-linear-gradient(top, #1d8a9c 0%, #1d6773 100%);
  background: gradient(to bottom, #1d8a9c 0%, #1d6773 100%);
}
.btnCv3 > span:before {
  background-position: -28px -35px;
}
.btnCv3:hover, .btnCv3:focus, .btnCv3:active {
  background: #1d8a9c;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1d6773), color-stop(100%, #1d8a9c));
  background: -moz-linear-gradient(top, #1d6773 0%, #1d8a9c 100%);
  background: -ms-linear-gradient(top, #1d6773 0%, #1d8a9c 100%);
  background: gradient(to bottom, #1d6773 0%, #1d8a9c 100%);
}
.btnCv3.home {
  background: #32a2b2;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #4cb1bf), color-stop(100%, #1290a2));
  background: -moz-linear-gradient(top, #4cb1bf 0%, #1290a2 100%);
  background: -ms-linear-gradient(top, #4cb1bf 0%, #1290a2 100%);
  background: gradient(to bottom, #4cb1bf 0%, #1290a2 100%);
}
.btnCv3.home:hover, .btnCv3.home:focus, .btnCv3.home:active {
  background: #32a2b2;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1290a2), color-stop(100%, #4cb1bf));
  background: -moz-linear-gradient(top, #1290a2 0%, #4cb1bf 100%);
  background: -ms-linear-gradient(top, #1290a2 0%, #4cb1bf 100%);
  background: gradient(to bottom, #1290a2 0%, #4cb1bf 100%);
}

/* コンバージョンボタン4 */
.btnCv4 {
  color: #666;
  background: #c4c4c4;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ebeaea), color-stop(100%, #dbdbdb));
  background: -moz-linear-gradient(top, #ebeaea 0%, #dbdbdb 100%);
  background: -ms-linear-gradient(top, #ebeaea 0%, #dbdbdb 100%);
  background: gradient(to bottom, #ebeaea 0%, #dbdbdb 100%);
}
.btnCv4 > span:before {
  background-position: -92px -35px;
}
.btnCv4:hover, .btnCv4:focus, .btnCv4:active {
  color: #666;
  background: #dbdbdb;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dbdbdb), color-stop(100%, #ebeaea));
  background: -moz-linear-gradient(top, #dbdbdb 0%, #ebeaea 100%);
  background: -ms-linear-gradient(top, #dbdbdb 0%, #ebeaea 100%);
  background: gradient(to bottom, #dbdbdb 0%, #ebeaea 100%);
}

/* ----------------------------------------------------------------------------
 * 通常ボタンリスト（1カラム～3カラム）
 * ------------------------------------------------------------------------- */
.modBtn,
.modBtnCol2,
.modBtnCol3,
.modBtnLeft,
.modBtnRight {
  margin: 32px auto;
  display: table;
}
.modBtn li,
.modBtnCol2 li,
.modBtnCol3 li,
.modBtnLeft li,
.modBtnRight li {
  padding: 0 0 0 30px;
  vertical-align: top;
  display: table-cell;
}
.modBtn li:first-child,
.modBtnCol2 li:first-child,
.modBtnCol3 li:first-child,
.modBtnLeft li:first-child,
.modBtnRight li:first-child {
  padding-left: 0;
}
.modBtn a, .modBtn button,
.modBtnCol2 a,
.modBtnCol2 button,
.modBtnCol3 a,
.modBtnCol3 button,
.modBtnLeft a,
.modBtnLeft button,
.modBtnRight a,
.modBtnRight button {
  width: 270px;
  display: table-cell;
  vertical-align: middle;
}

/* ------------------------------------
 * 1カラム
 * --------------------------------- */
.modBtn a, .modBtn button {
  width: auto;
  min-width: 270px;
  max-width: 670px;
}

/* ------------------------------------
 * 2カラム
 * --------------------------------- */
.modBtnCol2 a, .modBtnCol2 button {
  width: 270px;
}

/* ------------------------------------
 * 配置
 * --------------------------------- */
/* 左寄せ */
.modBtnLeft {
  margin-left: 0;
}

/* 右寄せ */
.modBtnRight {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .btn > span,
  .btnCv1 > span,
  .btnCv2 > span,
  .btnCv3 > span,
  .btnCv4 > span {
    padding-top: 12px;
    padding-bottom: 10px;
  }

  .modBtn,
  .modBtnCol2,
  .modBtnCol3,
  .modBtnLeft,
  .modBtnRight {
    width: 100%;
    display: block;
  }
  .modBtn li,
  .modBtnCol2 li,
  .modBtnCol3 li,
  .modBtnLeft li,
  .modBtnRight li {
    width: 100%;
    margin: 10px 0 0;
    padding: 0;
    display: table;
  }
  .modBtn li:first-child,
  .modBtnCol2 li:first-child,
  .modBtnCol3 li:first-child,
  .modBtnLeft li:first-child,
  .modBtnRight li:first-child {
    margin-top: 0;
  }
  .modBtn a, .modBtn button,
  .modBtnCol2 a,
  .modBtnCol2 button,
  .modBtnCol3 a,
  .modBtnCol3 button,
  .modBtnLeft a,
  .modBtnLeft button,
  .modBtnRight a,
  .modBtnRight button {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .modBtn span,
  .modBtnCol2 span,
  .modBtnCol3 span,
  .modBtnLeft span,
  .modBtnRight span {
    margin: -10px 0;
  }
  .modBtn span.img,
  .modBtnCol2 span.img,
  .modBtnCol3 span.img,
  .modBtnLeft span.img,
  .modBtnRight span.img {
    margin: 0;
  }
}
/* ----------------------------------------------------------------------------
 * コンバージョンボタンリスト
 * ------------------------------------------------------------------------- */
.modBtnCv li {
  padding: 24px;
  position: relative;
  background: #ffde9f;
}
.modBtnCv li::before {
  width: 100%;
  height: 100%;
  margin: 0 -100%;
  padding: 0 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: "";
}
.modBtnCv li.clr1 {
  background: #ffde9f;
}
.modBtnCv li.clr1::before {
  background: #ffde9f;
}
.modBtnCv li.clr2 {
  background: #bedcf6;
}
.modBtnCv li.clr2::before {
  background: #bedcf6;
}
.modBtnCv li.clr3 {
  background: #c0f5db;
}
.modBtnCv li.clr3::before {
  background: #c0f5db;
}
.modBtnCv li.clr3.home {
  background: #eafcf3;
}
.modBtnCv li.clr3.home::before {
  background: #eafcf3;
}
.modBtnCv .title {
  width: 100%;
  margin: -3px 0 14px;
  font-weight: bold;
  color: #141414;
  text-align: center;
  display: table;
}
.modBtnCv .title > span {
  vertical-align: middle;
  display: table-cell;
}
.modBtnCv .btnCv1,
.modBtnCv .btnCv2,
.modBtnCv .btnCv3,
.modBtnCv .btnCv4 {
  max-width: 370px;
  margin: 0 auto;
  font-size: 20px;
  font-size: 2rem;
}
.modBtnCv .btnCv1 > span,
.modBtnCv .btnCv2 > span,
.modBtnCv .btnCv3 > span,
.modBtnCv .btnCv4 > span {
  padding-top: 20px;
  padding-bottom: 15px;
}

@media screen and (max-width: 640px) {
  .modBtnCv li {
    height: auto !important;
    padding: 20px;
    position: relative;
    background: #ffde9f;
  }
  .modBtnCv .title {
    margin: -3px 0 14px;
  }
  .modBtnCv .title > span {
    height: auto !important;
  }
  .modBtnCv .btnCv1,
  .modBtnCv .btnCv2,
  .modBtnCv .btnCv3,
  .modBtnCv .btnCv4 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
/* ----------------------------------------------------------------------------
 * 法人トップ専用
 * ------------------------------------------------------------------------- */
.modBtnBiz > a {
  position: relative;
  display: block;
  margin-bottom: .5em;
  border-radius: 4px;
  padding: 76px 10px 10px 10px;
  background-color: #389BAB;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1a7482), color-stop(100%, #55c1d3));
  background: -moz-linear-gradient(top, #1a7482 0%, #55c1d3 100%);
  background: -ms-linear-gradient(top, #1a7482 0%, #55c1d3 100%);
  background: gradient(to bottom, #1a7482 0%, #55c1d3 100%);
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}
.modBtnBiz > a:before {
  content: "";
  position: absolute;
  top: 16px;
  left: 50%;
  display: block;
  width: 72px;
  height: 55px;
  margin-left: -36px;
  background-image: url(../img/ico_sprites.png);
  content: "";
  background-position: -10px -214px;
}
.modBtnBiz.reason > a:before {
  background-position: -10px -214px;
}
.modBtnBiz.case > a:before {
  background-position: -82px -214px;
}
.modBtnBiz.exchange > a:before {
  background-position: -154px -214px;
}

/* ============================================================================
 * モジュール その他
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * フリー入力エリア
 * ------------------------------------------------------------------------- */
.modFreeArea {
  margin: 32px 0;
}

/* ----------------------------------------------------------------------------
 * 製品ラインアップ（トップ）
 * ------------------------------------------------------------------------- */
.modLineupTop {
  margin: 20px 0 48px;
}
.modLineupTop .segment {
  width: 50%;
  padding: 0 24px 0 0;
  vertical-align: top;
  display: table-cell;
}
.modLineupTop .segment + .segment {
  padding: 0 0 0 24px;
  border-left: 1px solid #dcdcdc;
}
.modLineupTop .segment > * {
  margin-top: 16px;
  margin-bottom: 16px;
}
.modLineupTop .segment > br {
  margin-top: 0;
  margin-bottom: 0;
}
.modLineupTop .lead {
  width: 100%;
  margin: 0 0 24px;
  padding: 10px 14px 7px;
  font-size: 20px;
  font-size: 2rem;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  display: table;
  background: #003d7f;
}
.modLineupTop .lead > em {
  vertical-align: middle;
  display: table-cell;
}
.modLineupTop .outline {
  overflow: hidden;
}
.modLineupTop .outline .title {
  margin: 0 0 5px;
  float: left;
}
.modLineupTop .outline .title em {
  font-weight: normal;
}
.modLineupTop .outline .modListLabelFlex {
  margin: 0;
  float: right;
}
.modLineupTop .outline .modListLabelFlex li {
  margin-bottom: 0;
  font-weight: bold;
}
.modLineupTop .outline .modListLabelFlex li:last-child {
  margin-right: 0;
}
.modLineupTop .outline .modListLabelFlex .label {
  background: #5e5e5e;
}
.modLineupTop .detail .list {
  margin: 0 0 16px -10px;
  overflow: hidden;
}
.modLineupTop .detail .list .col {
  width: 50%;
  padding: 0 0 0 10px;
  font-weight: bold;
  color: #141414;
  text-align: center;
  display: table;
  float: left;
}
.modLineupTop .detail .list .col > .inner {
  padding: 10px;
  vertical-align: middle;
  display: table-cell;
  border: 1px solid #afafaf;
}
.modLineupTop .detail .list .col strong > span {
  font-size: 28px;
  font-size: 2.8rem;
}
.modLineupTop .detail .list .col .txt {
  display: inline-block;
}
.modLineupTop .detail .list .col .listImg {
  vertical-align: middle;
  display: inline-block;
  overflow: hidden;
}
.modLineupTop .detail .list .col .listImg > li {
  width: 30px;
  margin: 0 0 0 10px;
  float: left;
}
.modLineupTop .detail .modTxt {
  text-align: center;
}

@media screen and (max-width: 640px) {
  .modLineupTop {
    margin-bottom: 32px;
  }
  .modLineupTop .segment {
    width: 100%;
    height: auto !important;
    padding: 0;
    display: block;
  }
  .modLineupTop .segment + .segment {
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid #dcdcdc;
    border-left: none;
  }
  .modLineupTop .lead {
    height: auto !important;
    margin-bottom: 10px;
  }
  .modLineupTop .outline .title,
  .modLineupTop .outline .modListLabelFlex {
    float: none;
  }
  .modLineupTop .detail .list .col {
    width: 100%;
    float: none;
  }
  .modLineupTop .detail .list .col + .col {
    margin-top: 5px;
  }
}
/* ----------------------------------------------------------------------------
 * 製品ラインアップ（下層）
 * ------------------------------------------------------------------------- */
.modLineupOther .segment {
  width: 100%;
  display: table;
  table-layout: fixed;
  direction: rtl;
}
.modLineupOther .lytImg,
.modLineupOther .lytDetail {
  vertical-align: top;
  display: table-cell;
  direction: ltr;
}
.modLineupOther .lytImg {
  width: 50%;
  padding: 0 30px 0 0;
}
.modLineupOther .lytImg > * {
  margin: 0;
}
.modLineupOther .lytDetail {
  width: 100%;
}
.modLineupOther .lytDetail > *:first-child {
  margin-top: 0;
}
.modLineupOther .lytDetail .outline {
  overflow: hidden;
  margin: 0 0 20px;
}
.modLineupOther .lytDetail .outline .title {
  margin: 0 15px 0 0;
  float: left;
}
.modLineupOther .lytDetail .outline .title em {
  font-weight: normal;
}
.modLineupOther .lytDetail .outline .modListLabelFlex {
  margin: 0;
  float: left;
}
.modLineupOther .lytDetail .outline .modListLabelFlex li {
  margin-bottom: 0;
  font-weight: bold;
}
.modLineupOther .lytDetail .outline .modListLabelFlex li:last-child {
  margin-right: 0;
}
.modLineupOther .lytDetail .outline .modListLabelFlex .label {
  background: #5e5e5e;
}
.modLineupOther .lytDetail .detail .list {
  margin: 0 0 16px -10px;
  overflow: hidden;
}
.modLineupOther .lytDetail .detail .list .col {
  width: 50%;
  padding: 0 0 0 10px;
  font-weight: bold;
  color: #141414;
  text-align: center;
  display: table;
  float: left;
}
.modLineupOther .lytDetail .detail .list .col > .inner {
  padding: 10px;
  vertical-align: middle;
  display: table-cell;
  border: 1px solid #afafaf;
}
.modLineupOther .lytDetail .detail .list .col strong > span {
  font-size: 28px;
  font-size: 2.8rem;
}
.modLineupOther .lytDetail .detail .list .col .txt {
  display: inline-block;
}
.modLineupOther .lytDetail .detail .list .col .listImg {
  vertical-align: middle;
  display: inline-block;
  overflow: hidden;
}
.modLineupOther .lytDetail .detail .list .col .listImg > li {
  width: 30px;
  margin: 0 0 0 10px;
  float: left;
}
.modLineupOther .lytDetail .detail .modTxt {
  text-align: center;
}

@media screen and (max-width: 640px) {
  .modLineupOther .lytImg {
    width: inherit;
    margin: 0 0 20px;
    padding: 0;
    display: table-caption;
  }
  .modLineupOther .lytDetail > * {
    margin-bottom: 10px;
  }
  .modLineupOther .lytDetail > br {
    margin-bottom: 0;
  }
}
/* ----------------------------------------------------------------------------
 * 購入
 * ------------------------------------------------------------------------- */
.modPurchase {
  margin-bottom: 20px;
}
.modPurchase .lytImg {
  width: 370px;
  float: left;
  text-align: center;
}
.modPurchase .lytDetail {
  padding-left: 400px;
}
.modPurchase .lytDetail .lytBox {
  margin: 20px 0 20px -30px;
  overflow: hidden;
}
.modPurchase .lytDetail .lytBox .lytCol {
  float: left;
  width: 50%;
}
.modPurchase .lytDetail .lytBox .lytCol dl {
  margin-left: 30px;
  border: 1px solid #ccc;
  padding: 15px;
  text-align: center;
}
.modPurchase .lytDetail .lytBox .lytCol dl dt {
  font-weight: bold;
}
.modPurchase .lytDetail .lytBox .lytCol dl dd p {
  margin-top: .5em;
  color: #666;
  font-size: 14px;
  font-size: 1.4rem;
}
.modPurchase .lytDetail .lytBox .lytCol dl dd .btn {
  width: auto;
  margin: 1em 25px 0 25px;
}
.modPurchase .lytDetail .lytBox .lytCol dl dd .btn .btnCv1 {
  width: auto;
}

@media screen and (max-width: 980px) {
  .modPurchase .lytDetail .lytBox {
    margin-left: 0;
  }
  .modPurchase .lytDetail .lytBox .lytCol {
    float: none;
    width: auto;
  }
  .modPurchase .lytDetail .lytBox .lytCol dl {
    margin-left: 0;
  }
  .modPurchase .lytDetail .lytBox .lytCol + .lytCol {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .modPurchase .lytImg {
    width: auto;
    float: none;
    margin-bottom: 15px;
  }
  .modPurchase .lytDetail {
    padding-left: 0;
  }
  .modPurchase .lytDetail .lytBox .lytCol {
    float: left;
    width: 50%;
  }
  .modPurchase .lytDetail .lytBox .lytCol dl {
    margin-right: 10px;
  }
  .modPurchase .lytDetail .lytBox .lytCol dl dd .btn {
    margin: 1em 15px 0 15px;
  }
  .modPurchase .lytDetail .lytBox .lytCol + .lytCol {
    margin-top: 0;
  }
  .modPurchase .lytDetail .lytBox .lytCol + .lytCol dl {
    margin-left: 10px;
    margin-right: 0;
  }
}
@media screen and (max-width: 640px) {
  .modPurchase .lytDetail .lytBox .lytCol {
    float: none;
    width: auto;
  }
  .modPurchase .lytDetail .lytBox .lytCol dl {
    margin-right: 0;
  }
  .modPurchase .lytDetail .lytBox .lytCol + .lytCol {
    margin-top: 10px;
  }
  .modPurchase .lytDetail .lytBox .lytCol + .lytCol dl {
    margin-left: 0;
  }
}
/* ----------------------------------------------------------------------------
 * 更新のご案内
 * ------------------------------------------------------------------------- */
.modUpdateInfo {
  max-width: 970px;
  width: auto;
  margin: 0 auto;
}
.modUpdateInfo .modLytCol2 {
  margin-top: 15px;
  margin-bottom: 0;
}
.modUpdateInfo .modLytCol2 > .col {
  margin-bottom: 12px;
}
.modUpdateInfo .modLytCol2 > .col .lytCol .lytImg {
  margin-bottom: 12px;
  text-align: center;
}
.modUpdateInfo .modBoxLk {
  margin-top: 12px;
}
.modUpdateInfo .modBoxLk > .title {
  padding-top: 24px;
  padding-bottom: 24px;
}
.modUpdateInfo .modBoxLk .modLytCol3 {
  margin-top: 15px;
  margin-bottom: 0;
}
.modUpdateInfo .modBoxLk .modLytCol3 > .col {
  margin-bottom: 12px;
}
.modUpdateInfo .modBoxLk .modLytCol3 > .col .lytImg {
  margin-bottom: 12px;
  text-align: center;
}

.modUpdateInfo .modBoxLkBL {
  margin-top: 12px;
}
.modUpdateInfo .modBoxLkBL > .title {
  padding-top: 24px;
  padding-bottom: 24px;
}
.modUpdateInfo .modBoxLkBL .modLytCol3 {
  margin-top: 15px;
  margin-bottom: 0;
}
.modUpdateInfo .modBoxLkBL .modLytCol3 > .col {
  margin-bottom: 12px;
}
.modUpdateInfo .modBoxLkBL .modLytCol3 > .col .lytImg {
  margin-bottom: 12px;
  text-align: center;
}

.modUpdateInfo .modBoxLkBL2 {
  margin-top: 12px;
}
.modUpdateInfo .modBoxLkBL2 > .title {
  padding-top: 24px;
  padding-bottom: 24px;
}
.modUpdateInfo .modBoxLkBL2 .modLytCol3 {
  margin-top: 15px;
  margin-bottom: 0;
}
.modUpdateInfo .modBoxLkBL2 .modLytCol3 > .col {
  margin-bottom: 12px;
}
.modUpdateInfo .modBoxLkBL2 .modLytCol3 > .col .lytImg {
  margin-bottom: 12px;
  text-align: center;
}

@media screen and (min-width: 981px) {
  .modUpdateInfo .modLytCol2 > .col .lytCol {
    overflow: hidden;
  }
  .modUpdateInfo .modLytCol2 > .col .lytCol .lytImg {
    width: 200px;
    float: left;
  }
  .modUpdateInfo .modLytCol2 > .col .lytCol .lytDetail {
    padding-left: 225px;
  }
}
/* ----------------------------------------------------------------------------
 * 体験版ダウンロード
 * ------------------------------------------------------------------------- */
.modTblForm input[type="text"] {
  width: 100%;
}

@media screen and (max-width: 640px) {
  .modTblForm {
    border-top: 1px solid #ccc;
  }
  .modTblForm colgroup {
    display: none;
  }
  .modTblForm thead, .modTblForm tbody, .modTblForm tfoot, .modTblForm tr, .modTblForm th, .modTblForm td {
    display: block;
  }
  .modTblForm th, .modTblForm td {
    border-top: 0;
    padding: 8px;
  }
}
/* ============================================================================
 * モジュール JavaScript
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * トグル
 * ------------------------------------------------------------------------- */
.tglContent {
  display: none;
}
.tglContent.active {
  display: block;
}
.tglContent > .inner {
  padding: 24px 0;
}
.tglContent > .inner > *:last-child {
  margin-bottom: 0;
}

/* ------------------------------------
 * PC/SP対応
 * --------------------------------- */
.tglWrap {
  /*  */
}

/* ------------------------------------
 * PCのみ対応
 * --------------------------------- */
.tglWrapPc {
  /*  */
}

@media screen and (max-width: 640px) {
  .tglWrapPc {
    /*  */
  }
}
/* ------------------------------------
 * SPのみ対応
 * --------------------------------- */
.tglWrapSp .tglContent {
  display: block;
}

@media screen and (max-width: 640px) {
  .tglWrapSp .tglContent {
    display: none;
  }
  .tglWrapSp .tglContent.active {
    display: block;
  }

  .strContentBody .tglWrapSp .tglContent > * {
    margin-top: 0;
  }
  .strContentBody .tglWrapSp .tglContent > *:first-child {
    margin-top: 14px;
  }
  .strContentBody .tglWrapSp .tglContent > *:first-child > * {
    margin-top: 0;
  }
  .strContentBody .tglWrapSp .tglContent > *:last-child {
    margin-bottom: 60px;
  }
  .strContentBody .tglWrapSp .tglContent > *:last-child > *:last-child {
    margin-bottom: 0;
  }
}
/* ----------------------------------------------------------------------------
 * モーダルウィンドウ
 * ------------------------------------------------------------------------- */
#modal-blind {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9990;
  opacity: .85;
  background-color: #000;
}

#modal-content {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9995;
  background-color: #fff;
}

#modal-close {
  color: #fff;
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 9999;
  display: block;
  width: 30px;
  height: 30px;
  border: 0;
  background: none;
}
#modal-close::before {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 9999;
  display: block;
  width: 18px;
  height: 18px;
  background-image: url(../img/ico_sprites.png);
  content: "";
  background-position: -31px -52px;
}
#modal-close:hover::before, #modal-close:active::before, #modal-close:focus::before {
  background-position: -52px -52px;
}
#modal-close span {
  position: absolute;
  top: -999em;
  right: -999em;
}

/* ----------------------------------------------------------------------------
 * タブメニュー（PC,SPタブ）
 * ------------------------------------------------------------------------- */
.tabMenu,
.tabMenuLink {
  margin: 40px 0;
}

/* ------------------------------------
 * タブナビゲーション
 * --------------------------------- */
.tabMenu .tabPanel,
.tabMenuLink .tabPanel {
  margin: 0 0 40px;
  border-bottom: 5px solid #148299;
}
.tabMenu .tabPanel .tabNav,
.tabMenuLink .tabPanel .tabNav {
  margin: 0 0 0 -2px;
  display: table;
}
.tabMenu .tabPanel .tabNav li,
.tabMenuLink .tabPanel .tabNav li {
  width: 240px;
  padding: 0 0 0 2px;
  display: table-cell;
}
.tabMenu .tabPanel .tabNav a,
.tabMenuLink .tabPanel .tabNav a {
  padding: 18px 20px 9px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #141414;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  display: block;
  border-radius: 4px 4px 0 0;
  background: #f0f0f0;
}
.tabMenu .tabPanel .tabNav a:hover,
.tabMenuLink .tabPanel .tabNav a:hover {
  background: #e6e6e6;
}
.tabMenu .tabPanel .tabNav a.active,
.tabMenuLink .tabPanel .tabNav a.active {
  color: #fff;
  cursor: default;
  background: #148299;
}

.tabMenuLink .tabPanel .tabNav li {
  width: auto;
  min-width: 240px;
}

/* ------------------------------------
 * タブコンテント
 * --------------------------------- */
.tabMenu .tabContent,
.tabMenuLink .tabContent {
  width: 100%;
  max-width: 970px;
  margin: 0 auto 32px;
}
.tabMenu .tabContent:last-child,
.tabMenuLink .tabContent:last-child {
  margin-bottom: 0;
}
.tabMenu .tabContent > *:first-child,
.tabMenuLink .tabContent > *:first-child {
  margin-top: 0;
}
.tabMenu .tabContent > *:last-child,
.tabMenuLink .tabContent > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .tabMenu .tabPanel,
  .tabMenuLink .tabPanel {
    margin: 0 0 20px;
    border: none;
  }
  .tabMenu .tabPanel .tabNav,
  .tabMenuLink .tabPanel .tabNav {
    margin-bottom: -2px;
    display: block;
    overflow: hidden;
  }
  .tabMenu .tabPanel .tabNav li,
  .tabMenuLink .tabPanel .tabNav li {
    width: 50%;
    margin-bottom: 2px;
    position: relative;
    display: table;
    float: left;
  }
  .tabMenu .tabPanel .tabNav a,
  .tabMenuLink .tabPanel .tabNav a {
    padding: 17px 32px 13px 20px;
    display: table-cell;
    width: 100%;
    border-radius: 2px;
    vertical-align: middle;
  }
  .tabMenu .tabPanel .tabNav a::after,
  .tabMenuLink .tabPanel .tabNav a::after {
    width: 5px;
    height: 6px;
    margin: -3px 0 0;
    position: absolute;
    top: 50%;
    right: 14px;
    background-position: -20px -10px;
    background-image: url(../img/ico_sprites.png);
    content: "";
  }
  .tabMenu .tabPanel .tabNav a.active,
  .tabMenuLink .tabPanel .tabNav a.active {
    padding-right: 20px;
  }
  .tabMenu .tabPanel .tabNav a.active::after,
  .tabMenuLink .tabPanel .tabNav a.active::after {
    display: none;
  }
  .tabMenu .tabContent,
  .tabMenuLink .tabContent {
    margin: 0 0 20px;
  }

  .tabMenuLink .tabPanel .tabNav li {
    width: 50%;
    min-width: inherit;
  }
}
/* ----------------------------------------------------------------------------
 * タブメニュー（PCタブ、SPトグル）
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * タブナビゲーション
 * --------------------------------- */
.tabMenuSpTgl {
  margin: 32px 0;
  position: relative;
}
.tabMenuSpTgl .tabList {
  padding: 0 4px 0 0;
  display: table-cell;
}
.tabMenuSpTgl .tabList:last-child {
  padding-right: 0;
}
.tabMenuSpTgl .tabList .tabContent {
  width: 100%;
  position: absolute;
  left: 0;
  border: 1px solid #dcdcdc;
}
.tabMenuSpTgl .tabList .tabContent > .inner {
  padding: 24px;
  background: #fff;
}
.tabMenuSpTgl .tabList .tabContent > .inner > *:first-child {
  margin-top: 0;
}
.tabMenuSpTgl .tabList .tabContent > .inner > *:last-child {
  margin-bottom: 0;
}
.tabMenuSpTgl .tabList .tabContent > .inner .modListTopics li + li {
  padding-top: 10px;
  border-top: 1px solid #dcdcdc;
}
.tabMenuSpTgl.noFrame .tabList .tabContent {
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
.tabMenuSpTgl .tabNav > a {
  padding: 11px 20px 6px;
  font-weight: bold;
  color: #141414;
  text-align: center;
  text-decoration: none;
  position: relative;
  top: 1px;
  display: block;
  border: 1px solid #dcdcdc;
  border-radius: 4px 4px 0 0;
  background: #eaeaea;
  background: -webkit-gradient(linear, left top, left bottom, from(#eaeaea), to(#fff));
  background: -moz-linear-gradient(top, #eaeaea, #fff);
  background: -ms-gradient(linear, left top, left bottom, from(#eaeaea), to(#fff));
  background: gradient(linear, left top, left bottom, from(#eaeaea), to(#fff));
}
.tabMenuSpTgl .tabNav > a:hover {
  background: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eaeaea));
  background: -moz-linear-gradient(top, #fff, #eaeaea);
  background: -ms-gradient(linear, left top, left bottom, from(#fff), to(#eaeaea));
  background: gradient(linear, left top, left bottom, from(#fff), to(#eaeaea));
}
.tabMenuSpTgl .tabNav > a.active {
  cursor: default;
  position: relative;
  top: 1px;
  z-index: 1;
  border-bottom: 1px solid #fff;
  background: #fff;
}
.tabMenuSpTgl .tabNav > a.active:hover {
  background: #fff;
}
.tabMenuSpTgl .tabNav .ico {
  display: none;
}

@media screen and (max-width: 640px) {
  .tabMenuSpTgl {
    height: auto !important;
    margin: 32px 0;
    border-top: 1px solid #dcdcdc;
  }
  .tabMenuSpTgl .tabList {
    padding: 0;
    display: block;
  }
  .tabMenuSpTgl .tabList .tabContent {
    width: 100%;
    position: static;
    border: 1px solid #dcdcdc;
  }
  .tabMenuSpTgl .tabList .tabContent > .inner {
    padding: 24px;
    background: #fff;
  }
  .tabMenuSpTgl .tabNav {
    display: block;
  }
  .tabMenuSpTgl .tabNav > a {
    padding: 12px 40px 8px 12px;
    text-align: left;
    top: 0;
    border-top: none;
    border-radius: 0;
    background: #fff;
  }
  .tabMenuSpTgl .tabNav > a:hover {
    background: #fff;
  }
  .tabMenuSpTgl .tabNav > a.active {
    top: 0;
    border-bottom: none;
  }
  .tabMenuSpTgl .tabNav > a.active .ico {
    display: none;
  }
  .tabMenuSpTgl .tabNav .ico {
    width: 24px;
    height: 24px;
    margin: -13px 0 0;
    position: absolute;
    top: 50%;
    right: 9px;
    display: block;
    overflow: hidden;
  }
  .tabMenuSpTgl .tabNav .ico::after {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 0;
    right: 0;
    background-position: -10px -128px;
    background-image: url(../img/ico_sprites.png);
    content: "";
  }
}
/* ----------------------------------------------------------------------------
 * カルーセル（ビジュアル）
 * ------------------------------------------------------------------------- */
.carouselVisual {
  margin: 20px 0 40px 0;
  position: relative;
}
.carouselVisual .carouselItem {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.carouselVisual .carouselItem ul {
  display: table;
}
.carouselVisual .carouselItem ul .item {
  display: table-cell;
}
.carouselVisual .carouselItem ul .item img {
  width: 100%;
}
.carouselVisual .control button {
  position: absolute;
  top: 50%;
  z-index: 2;
  text-indent: -999px;
  border: none;
  background: transparent;
  margin-top: -49px;
}
.carouselVisual .control .prev,
.carouselVisual .control .next {
  width: 52px;
  height: 52px;
  overflow: hidden;
}
.carouselVisual .control .prev span,
.carouselVisual .control .next span {
  width: 52px;
  height: 52px;
  line-height: 52px;
  position: relative;
  display: block;
}
.carouselVisual .control .prev span::after,
.carouselVisual .control .next span::after {
  width: 52px;
  height: 52px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.carouselVisual .control .prev {
  left: 15px;
}
.carouselVisual .control .prev span::after {
  background-position: -10px -157px;
}
.carouselVisual .control .next {
  right: 15px;
}
.carouselVisual .control .next span::after {
  background-position: -67px -157px;
}
.carouselVisual .pager {
  margin: 16px auto 0;
  display: table;
  overflow: hidden;
}
.carouselVisual .pager button {
  width: 30px;
  height: 30px;
  margin: 0 0 0 12px;
  color: #033e69;
  line-height: 30px;
  float: left;
  border: 1px solid #033e69;
  background: #fff;
}
.carouselVisual .pager button:first-child {
  margin-left: 0;
}
.carouselVisual .pager button.start, .carouselVisual .pager button.stop {
  overflow: hidden;
  position: relative;
}
.carouselVisual .pager button.start span, .carouselVisual .pager button.stop span {
  text-indent: -999px;
}
.carouselVisual .pager button.start span::before, .carouselVisual .pager button.stop span::before {
  margin: -6px 0 0 -6px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.carouselVisual .pager button.start span {
  width: 11px;
  height: 12px;
  display: block;
}
.carouselVisual .pager button.start span::before {
  width: 11px;
  height: 12px;
  background-position: -102px -75px;
}
.carouselVisual .pager button.stop span {
  width: 12px;
  height: 12px;
  display: block;
}
.carouselVisual .pager button.stop span::before {
  width: 12px;
  height: 12px;
  background-position: -85px -75px;
}
.carouselVisual .pager button.current {
  color: #fff;
  background: #033e69;
}

@media screen and (max-width: 640px) {
  .carouselVisual {
    width: auto;
    margin: 0 -15px 16px;
    display: block;
  }
  .carouselVisual .control button {
    margin-top: -28.5px;
  }
  .carouselVisual .control .prev,
  .carouselVisual .control .next {
    width: 26px;
    height: 26px;
  }
  .carouselVisual .control .prev span,
  .carouselVisual .control .next span {
    width: 26px;
    height: 26px;
    line-height: 26px;
  }
  .carouselVisual .control .prev span::after,
  .carouselVisual .control .next span::after {
    width: 26px;
    height: 26px;
    background-size: 250px 250px;
  }
  .carouselVisual .control .prev {
    left: 4px;
  }
  .carouselVisual .control .prev span::after {
    background-position: -5px -79px;
  }
  .carouselVisual .control .next {
    right: 4px;
  }
  .carouselVisual .control .next span::after {
    background-position: -34px -79px;
  }
  .carouselVisual .pager {
    margin-top: 9px;
  }
  .carouselVisual .pager button {
    width: 22px;
    height: 22px;
    margin-left: 8px;
    line-height: 22px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .carouselVisual .pager button.start, .carouselVisual .pager button.stop {
    overflow: hidden;
    position: relative;
  }
  .carouselVisual .pager button.start span, .carouselVisual .pager button.stop span {
    text-indent: -999px;
  }
  .carouselVisual .pager button.start span::before, .carouselVisual .pager button.stop span::before {
    margin: -4px 0 0 -4px;
    background-size: 400px 400px;
  }
  .carouselVisual .pager button.start span {
    width: 9px;
    height: 10px;
    display: block;
  }
  .carouselVisual .pager button.start span::before {
    width: 10px;
    height: 10px;
    background-position: -82px -60px;
  }
  .carouselVisual .pager button.stop span {
    width: 10px;
    height: 10px;
    display: block;
  }
  .carouselVisual .pager button.stop span::before {
    width: 10px;
    height: 10px;
    background-position: -68px -60px;
  }
  .carouselVisual .pager button.current {
    color: #fff;
    background: #033e69;
  }
}
/* ----------------------------------------------------------------------------
 * カルーセル（フロー）
 * ------------------------------------------------------------------------- */
.carouselFlow {
  position: relative;
}
.carouselFlow .carouselItem {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin: 0 30px;
}
.carouselFlow .carouselItem ol {
  display: table;
}
.carouselFlow .carouselItem ol .item {
  display: table-cell;
}
.carouselFlow .control button {
  position: absolute;
  top: 50%;
  z-index: 2;
  text-indent: -999px;
  border: none;
  background: transparent;
  margin-top: -26px;
}
.carouselFlow .control .prev,
.carouselFlow .control .next {
  width: 52px;
  height: 52px;
  overflow: hidden;
}
.carouselFlow .control .prev[disabled],
.carouselFlow .control .next[disabled] {
  opacity: .2;
}
.carouselFlow .control .prev span,
.carouselFlow .control .next span {
  width: 52px;
  height: 52px;
  line-height: 52px;
  position: relative;
  display: block;
}
.carouselFlow .control .prev span::after,
.carouselFlow .control .next span::after {
  width: 52px;
  height: 52px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
.carouselFlow .control .prev {
  left: -22px;
}
.carouselFlow .control .prev span::after {
  background-position: -10px -157px;
}
.carouselFlow .control .next {
  right: -22px;
}
.carouselFlow .control .next span::after {
  background-position: -67px -157px;
}
.carouselFlow .pager {
  margin: 16px auto 0;
  display: table;
  overflow: hidden;
}
.carouselFlow .pager button {
  width: 30px;
  height: 30px;
  margin: 0 0 0 12px;
  color: #033e69;
  line-height: 30px;
  float: left;
  border: 1px solid #033e69;
  background: #fff;
}
.carouselFlow .pager button:first-child {
  margin-left: 0;
}
.carouselFlow .pager button.current {
  color: #fff;
  background: #033e69;
}
.carouselFlow .pager button.init {
  width: auto;
  margin-left: 20px;
  padding: 0 .5em;
}
.carouselFlow .pager button.init[disabled] {
  opacity: .2;
}

@media screen and (max-width: 640px) {
  .carouselFlow .carouselItem {
    position: static;
    margin: 0;
  }
  .carouselFlow .carouselItem ol {
    display: block;
  }
  .carouselFlow .carouselItem ol .item {
    display: list-item;
  }
  .carouselFlow .control,
  .carouselFlow .pager {
    display: none;
  }
}
/* ----------------------------------------------------------------------------
 * カルーセル＋ログイン（トップページ）
 * ------------------------------------------------------------------------- */
.homeCarouselLogin {
  margin: 20px 0 0 0;
}
.homeCarouselLogin .carouselRoot .carouselContent ul li {
  margin-bottom: 20px;
  text-align: center;
}
.homeCarouselLogin .carouselRoot .carouselContent ul li a {
  display: block;
}
.homeCarouselLogin .carouselRoot .carouselContent ul li a img {
  display: inline-block;
}
.homeCarouselLogin .carouselRoot .carouselControl {
  display: none;
}
.homeCarouselLogin .login {
  text-align: center;
}

[data-script-enabled="true"] .homeCarouselLogin {
  position: relative;
  margin-bottom: 60px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot {
  position: relative;
  z-index: 6;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot img {
  width: 100%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselContent {
  width: 76.923077%;
  overflow: hidden;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselContent ul {
  position: relative;
  left: 0;
  display: table;
  table-layout: fixed;
  will-change: left;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselContent ul li {
  display: table-cell;
  margin-bottom: 0;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl {
  position: relative;
  display: block;
  padding: 5px 45px;
  background-color: #ededed;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl button {
  display: block;
  margin: 0;
  border: 0;
  padding: 0;
  background-color: transparent;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb {
  width: 100%;
  overflow: hidden;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul {
  position: relative;
  left: 0;
  display: table;
  table-layout: fixed;
  will-change: left;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul li {
  display: table-cell;
  padding: 5px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul li button {
  display: block;
  margin: auto;
  background-color: #000;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul li button img {
  display: block;
  opacity: .5;
  transition: opacity .2s;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul li button:hover img, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul li button:focus img, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul li button:active img, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .thumb ul li button.current img {
  opacity: 1;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move,
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play {
  position: absolute;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move {
  top: 50%;
  width: 30px;
  height: 55px;
  overflow: hidden;
  margin-top: -27.5px;
  margin-top: -webkit-calc(55px / -2);
  margin-top: calc(55px / -2);
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move[disabled] {
  opacity: .125;
  cursor: default;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 16px;
  height: 24px;
  margin: -12px 0 0 -8px;
  background-image: url(../img/ico_sprites.png);
  content: "";
  transition: opacity .2s;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move span {
  position: absolute;
  top: -999em;
  left: -999em;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move.left {
  left: 10px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move.left:before {
  background-position: -122px -171px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move.right {
  right: 10px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move.right:before {
  background-position: -138px -171px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move:hover:before, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move:focus:before, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move:active:before {
  opacity: .5;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play {
  right: 0;
  bottom: -40px;
  min-width: 76px;
  line-height: 1.625;
  border: 1px solid #033e69;
  padding: 2px 30px 0 12px;
  background-color: #fff;
  color: #033e69;
  text-align: center;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play:after {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(../img/ico_sprites.png);
  content: "";
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play:hover, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play:focus, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play:active {
  opacity: .5;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play.pause:after {
  background-position: -83px -73px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play.resume:after {
  background-position: -99px -73px;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette2 .carouselContent ul {
  width: 200%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette2 .carouselControl .thumb ul {
  width: 100%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette3 .carouselContent ul {
  width: 300%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette3 .carouselControl .thumb ul {
  width: 100%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette4 .carouselContent ul {
  width: 400%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette4 .carouselControl .thumb ul {
  width: 100%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette5 .carouselContent ul {
  width: 500%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette5 .carouselControl .thumb ul {
  width: 100%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette6 .carouselContent ul {
  width: 600%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette6 .carouselControl .thumb ul {
  width: 100%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette7 .carouselContent ul {
  width: 700%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette7 .carouselControl .thumb ul {
  width: 116.66666%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette8 .carouselContent ul {
  width: 800%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette8 .carouselControl .thumb ul {
  width: 133.33333%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette9 .carouselContent ul {
  width: 900%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette9 .carouselControl .thumb ul {
  width: 150%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette10 .carouselContent ul {
  width: 1000%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette10 .carouselControl .thumb ul {
  width: 166.66666%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette11 .carouselContent ul {
  width: 1100%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette11 .carouselControl .thumb ul {
  width: 183.33333%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette12 .carouselContent ul {
  width: 1200%;
}
[data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette12 .carouselControl .thumb ul {
  width: 200%;
}
[data-script-enabled="true"] .homeCarouselLogin .login {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 7;
  width: 23.07692%;
}

@media screen and (max-width: 768px) {
  .homeCarouselLogin {
    margin: 0 -15px;
  }

  [data-script-enabled="true"] .homeCarouselLogin {
    margin-bottom: 40px;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselContent {
    width: 100%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl {
    padding-left: 35px;
    padding-right: 35px;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move {
    width: 20px;
    height: 37px;
    margin-top: -18.5px;
    margin-top: -webkit-calc(37px / -2);
    margin-top: calc(37px / -2);
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move:before {
    width: 8px;
    height: 12px;
    margin: -6px 0 0 -4px;
    background-size: 250px;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move.left:before {
    background-position: -61px -85.5px;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .move.right:before {
    background-position: -69px -85.8px;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play {
    right: 15px;
    bottom: -36px;
    min-width: 62px;
    line-height: 1.69231;
    padding: 2px 24px 0 8px;
    font-size: 13px;
    font-size: 1.3rem;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot .carouselControl .play:after {
    top: 4px;
    right: 4px;
  }
  [data-script-enabled="true"] .homeCarouselLogin .login {
    position: static;
    width: 100%;
    margin-top: 60px;
  }
}
@media screen and (max-width: 820px) {
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot {
    z-index: 5;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette2 .carouselControl .thumb ul, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette3 .carouselControl .thumb ul, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette4 .carouselControl .thumb ul, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette5 .carouselControl .thumb ul {
    width: 100%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette6 .carouselControl .thumb ul {
    width: 120%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette7 .carouselControl .thumb ul {
    width: 140%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette8 .carouselControl .thumb ul {
    width: 160%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette9 .carouselControl .thumb ul {
    width: 180%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette10 .carouselControl .thumb ul {
    width: 200%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette11 .carouselControl .thumb ul {
    width: 220%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette12 .carouselControl .thumb ul {
    width: 240%;
  }
}
@media screen and (max-width: 695px) {
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot {
    z-index: 4;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette2 .carouselControl .thumb ul, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette3 .carouselControl .thumb ul, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette4 .carouselControl .thumb ul {
    width: 100%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette5 .carouselControl .thumb ul {
    width: 125%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette6 .carouselControl .thumb ul {
    width: 150%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette7 .carouselControl .thumb ul {
    width: 175%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette8 .carouselControl .thumb ul {
    width: 200%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette9 .carouselControl .thumb ul {
    width: 225%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette10 .carouselControl .thumb ul {
    width: 250%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette11 .carouselControl .thumb ul {
    width: 275%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette12 .carouselControl .thumb ul {
    width: 300%;
  }
}
@media screen and (max-width: 570px) {
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot {
    z-index: 3;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette2 .carouselControl .thumb ul, [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette3 .carouselControl .thumb ul {
    width: 100%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette4 .carouselControl .thumb ul {
    width: 133.33333%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette5 .carouselControl .thumb ul {
    width: 166.66666%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette6 .carouselControl .thumb ul {
    width: 200%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette7 .carouselControl .thumb ul {
    width: 233.33333%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette8 .carouselControl .thumb ul {
    width: 266.66666%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette9 .carouselControl .thumb ul {
    width: 300%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette10 .carouselControl .thumb ul {
    width: 333.33333%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette11 .carouselControl .thumb ul {
    width: 366.66666%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette12 .carouselControl .thumb ul {
    width: 400%;
  }
}
@media screen and (max-width: 445px) {
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot {
    z-index: 2;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette2 .carouselControl .thumb ul {
    width: 100%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette3 .carouselControl .thumb ul {
    width: 150%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette4 .carouselControl .thumb ul {
    width: 200%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette5 .carouselControl .thumb ul {
    width: 250%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette6 .carouselControl .thumb ul {
    width: 300%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette7 .carouselControl .thumb ul {
    width: 350%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette8 .carouselControl .thumb ul {
    width: 400%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette9 .carouselControl .thumb ul {
    width: 450%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette10 .carouselControl .thumb ul {
    width: 500%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette11 .carouselControl .thumb ul {
    width: 550%;
  }
  [data-script-enabled="true"] .homeCarouselLogin .carouselRoot.cassette12 .carouselControl .thumb ul {
    width: 600%;
  }
}
/* ============================================================================
 * モジュール 調整クラス
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * フォント調整
 * ------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------
 * 表示非表示
 * ------------------------------------------------------------------------- */
@media screen and (max-width: 640px){
  .hiddenSp{
    display: none;
  }
  
  .br-sp{
    display:none;
  }
}
@media screen and (min-width: 641px){
  .hiddenPc{
    display: none;
  }
}
/* ------------------------------------
 * フォントサイズ
 * --------------------------------- */
.fzS {
  font-size: 14px;
  font-size: 1.4rem;
}

.fzM {
  font-size: 16px;
  font-size: 1.6rem;
}

.fzL {
  font-size: 18px;
  font-size: 1.8rem;
}

@media screen and (max-width: 640px) {
  .fzS {
    font-size: 12px;
    font-size: 1.2rem;
  }

  .fzM {
    font-size: 14px;
    font-size: 1.4rem;
  }

  .fzL {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
/* ------------------------------------
 * フォントカラー
 * --------------------------------- */
.clrR {
  color: #c00 !important;
}

/* ----------------------------------------------------------------------------
 * 配置調整
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * align
 * --------------------------------- */
.al {
  text-align: left !important;
}

.ac {
  text-align: center !important;
}

.ar {
  text-align: right !important;
}

/* ------------------------------------
 * vertical-align
 * --------------------------------- */
.vat {
  vertical-align: top !important;
}

.vam {
  vertical-align: middle !important;
}

.vab {
  vertical-align: bottom !important;
}

/* ----------------------------------------------------------------------------
 * 余白調整
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * margin
 * --------------------------------- */
.mt0 {
  margin-top: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml100 {
  margin-left: 100px !important;
}

/* ------------------------------------
 * padding
 * --------------------------------- */
.pt0 {
  padding-top: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl100 {
  padding-left: 100px !important;
}

/* ----------------------------------------------------------------------------
 * 幅調整
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * width
 * --------------------------------- */
.w0 {
  width: 0% !important;
}

.w5 {
  width: 5% !important;
}

.w10 {
  width: 10% !important;
}

.w15 {
  width: 15% !important;
}

.w20 {
  width: 20% !important;
}

.w25 {
  width: 25% !important;
}

.w30 {
  width: 30% !important;
}

.w35 {
  width: 35% !important;
}

.w40 {
  width: 40% !important;
}

.w45 {
  width: 45% !important;
}

.w50 {
  width: 50% !important;
}

.w55 {
  width: 55% !important;
}

.w60 {
  width: 60% !important;
}

.w65 {
  width: 65% !important;
}

.w70 {
  width: 70% !important;
}

.w75 {
  width: 75% !important;
}

.w80 {
  width: 80% !important;
}

.w85 {
  width: 85% !important;
}

.w90 {
  width: 90% !important;
}

.w95 {
  width: 95% !important;
}

.w100 {
  width: 100% !important;
}

/* ----------------------------------------------------------------------------
 * IE向け画像幅抑制
 * ------------------------------------------------------------------------- */
.fitimg img {
  width: 100%;
}

img.fitimg {
  width: 100%;
}

@media print {
  *,
  *::before,
  *::after {
    background-color: transparent !important;
    background-image: none !important;
  }

  body {
    width: 1260px;
    background-color: #fff !important;
    zoom: .875;
  }

  .navGlobal::after,
  .navLocal .navLayer3th {
    border-top: 1px solid #ccc;
  }

  .footerNav .sitemap,
  .footerNav .sitemap .navInfo,
  .modHdg .boxInfo .inner,
  .label,
  .modHdg3,
  .modListFlowCol3 .inner,
  .modListFlowCol4 .inner,
  .modListFlowCol5 .inner,
  .modListFlowCol3 .num,
  .modListFlowCol4 .num,
  .modListFlowCol5 .num,
  .modListFlowUnique > li > dl > dt,
  .modListFlowUnique > li > dl > dt .num,
  .modListProcess > .segment > .title,
  .modNavAncCol3 .nav a,
  .modNavAncCol4 .nav a,
  .modNavAncFlex .nav a,
  .modNavAncFlexR .nav a,
  .modNavSelect .listSelect > li,
  .modNavSelect .lytMain a,
  .modBoxLk,
  .modBoxEm,
  .modBoxFlow .box > .title > .num,
  .btn,
  .btnCv1,
  .btnCv2,
  .btnCv3,
  .modLineupTop .lead,
  .navLocal {
    border: 1px solid #ccc;
  }

  .footerNav .sitemap .navProduct .listChild li::before,
  .footerNav .sitemap .navInfo .listNav a::before,
  .modLink > li > a::before,
  .modLinkCol2 > li > a::before,
  .modLinkCol3 > li > a::before,
  .modLinkCol4 > li > a::before,
  .modLinkFlex > li > a::before,
  .modLinkRight > li > a::before,
  .modLinkCenter > li > a::before,
  .modListDef dt a::before,
  .modListSummary .segment > .title a.link::after,
  .modListSummary .segment > .titleFaq a.link::after,
  .modBox > .title a::before,
  .modBoxEm > .title a::before,
  .modBoxLk > .title a::before,
  .modBoxTrg > .title a::before,
  .modBoxTrgYE > .title a::before,
  .modBoxNotice > .title a::before,
  .btn > span:before,
  .btnCv1 > span:before,
  .btnCv2 > span:before,
  .btnCv3 > span:before,
  .navLocal .navLayer3th a::before,
  .navLocal .navLayer4th a::before,
  .modLinkInline:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #ccc;
    background: none;
  }

  .pageTop,
  .modListSummary .segment > .title .ico,
  .modListSummary .segment > .titleFaq .ico,
  .carouselVisual .control,
  .carouselVisual .pager,
  .carouselFlow .control,
  .carouselFlow .pager button.init {
    display: none !important;
  }

  .modHdg,
  .modBtnCv li::before {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }

  .strContentHead .modHdg {
    border-top: none;
  }

  .modHdg .listCv {
    padding-bottom: 0 !important;
  }

  .modHdg .listCv a {
    height: auto !important;
    padding-top: 14px;
    border: 1px solid #ccc;
  }

  .modHdg .listCv a::before,
  .icoNew::before,
  .icoZoom::before,
  .modListSummary .segment > .titleFaq .fig::after,
  .modListSummary .segment > .title .ico::after,
  .modListSummary .segment > .titleFaq .ico::after,
  .modNavSelect .icoPrd::before,
  .modNavSelect .icoDl::before,
  .modNavSelect .icoCart::before,
  .modNavSelect .icoUpdate::before,
  .modNavSelect .icoSupport::before,
  .modNavSelect .icoPers::before,
  .modNavSelect .icoCorp::before,
  .modBtnBiz > a:before {
    content: none;
  }

  .modHdg2 .hdg > span::before {
    width: 0;
    height: 100%;
    border-radius: 3px;
    border-left: 3px solid #002054;
    border-right: 3px solid #002054;
    background: none;
    -webkit-transform: none;
    transform: none;
  }

  .modHdg3 .hdg span::before {
    width: 0;
    height: 0;
    border-radius: 50%;
    border: 8px solid #002054;
    background: none;
  }

  .modHdg4 .hdg > span::before {
    height: 0;
    border-bottom: 10px solid #002054;
    background: none;
  }

  .icoNew {
    padding-left: 0;
  }

  .modList > li::before,
  .modListCol2 > li::before,
  .modListCol3 > li::before,
  .modListCol4 > li::before,
  .modListFlex > li::before {
    width: 0;
    height: 0;
    border: 4px solid #ccc;
    border-radius: 50%;
    background: none;
  }

  .modList > li .modList > li::before,
  .modListCol2 > li .modList > li::before,
  .modListCol3 > li .modList > li::before,
  .modListCol4 > li .modList > li::before,
  .modListFlex > li .modList > li::before,
  .modList.another > li .modList > li::before,
  .modList .modList.another > li .modList > li::before {
    width: 0;
    height: 0;
    border: 2px solid #ccc;
    border-radius: 50%;
    background: none;
  }

  .modList.another > li::before,
  .modList .modList.another > li::before {
    width: 8px;
    top: 10px;
    left: 4px;
    border: none;
    border-top: 1px solid #141414;
    border-radius: 0;
  }

  .modlistNotice > li::before {
    width: auto;
    height: auto;
    top: inherit;
    background: none;
    content: "\26A0";
  }

  .modListSummary .segment > .titleFaq .fig {
    border: 1px solid #148299;
    color: #148299;
  }

  .modListSummary .segment > .title a.active::before,
  .modListSummary .segment > .titleFaq a.active::before {
    height: 0;
    border-bottom: 1px dotted #ccc;
    background: none;
  }

  .modListProcess > .segment > .title > .num {
    border-right: 1px solid #ccc;
  }

  .modNavAncCol3 .nav a::before,
  .modNavAncCol4 .nav a::before,
  .modNavAncFlex .nav a::before,
  .modNavAncFlexR .nav a::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 3px 0 3px;
    border-color: #ccc transparent transparent transparent;
    background: none;
  }

  .modNavAncFlow li::before {
    border: 1px solid #ccc;
    border-radius: 4px;
    background: none;
  }

  .modNavAncFlow li::after {
    width: 0;
    height: 0;
    position: absolute;
    top: 12px;
    left: 12px;
    border-style: solid;
    border-width: 6px 3px 0 3px;
    border-color: #ccc transparent transparent transparent;
    content: "";
  }

  .modNavSelect .listSelect > li,
  .modNavSelect .listSelect > li a {
    height: auto !important;
  }

  .modNavSelect .lytMain a {
    padding: 1em;
  }

  .modNavSelect .listSelect > li {
    vertical-align: middle;
  }

  .modBoxTrg > .title {
    border-bottom: 1px solid #ccc;
  }

  .modBoxTrgYE > .title {
    border-bottom: 1px solid #ccc;
  }

  .modLytCol2 .modBtnCv li::before {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }

  .modUpdateInfo .modLytCol2 > .col .lytCol .lytDetail {
    padding-left: 0;
    margin-left: 225px;
  }

  .modUpdateInfo .modLytCol2 > .col .lytCol .lytImg {
    width: 200px;
    float: left;
  }

  .tabMenu .tabPanel .tabNav a.active,
  .tabMenuLink .tabPanel .tabNav a.active {
    border: 1px solid #148299;
    border-bottom: none;
    color: #148299;
  }

  .modBtnBiz > a {
    border: 1px solid #ccc;
    padding: 10px;
  }

  .label,
  .modLineupTop .lead,
  .strSub .hdgLv2,
  .strSub .hdgLv2 a,
  .modNavPager .current a,
  .modNavPager .current b,
  .modTbl thead th,
  .modTbl thead td,
  .btnCv1,
  .btnCv2,
  .btnCv3,
  .modHdg .hdg,
  .strBreadcrumb,
  .strBreadcrumb a,
  .strBreadcrumb strong,
  .modListFlowCol3 a,
  .modListFlowCol4 a,
  .modListFlowCol5 a,
  .modListFlowUnique > li > dl > dt .txt > span,
  .modListProcess > .segment > .title,
  .carouselFlow .pager button.current,
  .modHdg .innerArea,
  .modNavSelect .lytMain a,
  .modBtnBiz > a {
    color: #333;
  }

  .modNavPager .current a,
  .modNavPager .current b,
  .carouselFlow .pager button.current {
    font-weight: bold;
  }

  .modListFlowUnique > li {
    margin-left: 4.5px;
  }
}

/*======================================================
    2019/04/22 グロナビ改修の追加CSS
    
    ※4項目→3項目へ並べ替えをしたい場合、
    　ddにmodCol3クラス適用することで変更可能。
    ※最後の項目のみ、
    　余白などの都合でulにmodLytOnlyを適用する必要あり。
    ※法人グロナビの改修をベースで制作しているため、
    　SP版については、罫線や太字など細かな仕様が異なる。
    　場合によってはCSS追記の必要あり。
======================================================*/
.headerSubmenu > dd.modCol3 > ul > li > a {
    display: inline;
}
.headerSubmenu > dd.modCol3 > ul > li {
    width: 30%;
    float: left;
    margin: 0.6em 0 0 3%;
}
.headerSubmenu > dd.modCol3 > ul{
    padding: 1.2em 0;
    border-bottom: solid 1px rgb(255,255,255);
}
.headerSubmenu > dd.modCol3 > ul:last-child{
    border: 0;
}
.headerSubmenu > dd.modCol3 > ul.modLytOnly{
    padding: 1em 0 0 0;
}
.headerSubmenu > dd.modCol3 > ul.modLytOnly > li{
    margin: 0.1em 0 0 3%;
}
.headerSubmenu > dd.modCol3 > ul > p{
    font-weight: bold;
    color: rgb(255,255,255);
    margin: 0 0 0 3%;
}

@media screen and (max-width: 768px) {
    .headerSubmenu > dd.modCol3 > ul{
        padding: 0;
        border-bottom: 0;
    }
    .headerSubmenu > dd.modCol3 > ul > li {
        width: auto;
        float: none;
        margin: 0;
        border-top: 0;
    }
    .headerSubmenu > dd.modCol3 a {
        padding: 10px 0;
    }
    
    .headerSubmenu > dd.modCol3 > ul > li > a {
        display:block;
    }
    .headerSubmenu > dd.modCol3 > ul > li+li {
        border-top:0;
    }
    .headerSubmenu > dd.modCol3 > ul > p {
        color: rgb(0,0,0);
        margin: 0 0 0.2em 0;
        padding: 3% 0;
        background-color: #ccc;
        font-weight: normal;
    }
    .headerSubmenu > dd.modCol3 > ul.modLytOnly{
        padding: 0;
    }
    .headerSubmenu > dd.modCol3 > ul.modLytOnly > li{
        margin-left:0;
        border-top: 1px solid #ccc;
        font-weight: bold;
    }
    .headerSubmenu > dd.modCol3 > ul.modLytOnly > li:last-child{
        padding-bottom: 0;
    }
    
/* 個人グロナビのみ適用 2019/04/22時点グロナビ未反映 */
    .navGlobal.home .headerSubmenu > dd.modCol3 > ul > li {
        border-top: 1px solid #ccc;
    }
    .navGlobal.home .headerSubmenu > dd.modCol3 > ul.modLytOnly > li{
        font-weight: normal;
    }
}
/*=================================================================
    2019/04/26 CMJ移管用のロゴ修正
    CITSロゴは2つの要素に固定幅の指定がされていたため、
    今後の変更を鑑みて、高さで制御する形へ記述を変更。
    
    移管前のものは、コメントアウトしています。
    該当のクラス名、ID等で検索これより上を検索してください。
=================================================================*/
.headerUtil {
  position: absolute;
  top: -35px;
  right: 0;
}

.headerTitle {
  height: 52px;
  display: table;
}
.headerTitle #siteTitle {  
  line-height: 1.4;
  display: table-cell;
  vertical-align: middle;
  position: relative;
}
.headerTitle #siteTitle img {
  opacity: 1;
  max-height:40px;
  /*
  今後ロゴの変更が出た場合、上記数値を調整。
  全ページに適用されます。
  */
}
.headerTitle #siteTitle a {
  display: block;
}
.headerTitle #siteTitle a[href="https://canon.jp/"]{
  margin-left: -10px;
  }
  /*
  ロゴのリンク先が変わる場合、上記のURLを変更
  画像内に含まれているアイソレーションエリアの分を削って、
  他コンテンツと左余白をそろえています。
  */

@media screen and (max-width: 768px) {
  .headerTitle #siteTitle {
    text-align: left;}
  .headerTitle #siteTitle a {
    display:block;
  }
  .headerTitle #siteTitle a[href="https://canon.jp/"]{
  display: inline-block;
  }
  /*
  ロゴのリンク先が変わる場合、上記のURLを変更
  記述をしないと中央揃えになってしまいます。（.jpとロゴの位置を揃えています）
  */
  
  .headerTitle #siteTitle .eset{
  text-align: center;
  }
}


/*=================================================================
    2019/06/27 CTAエリア改修
=================================================================*/
.modBoxCta a.btnCv1[href*=".pdf"] img{display: none;}
.modBoxCta a::after {
  height: 27px;
  position: absolute;
  top: 32%;
  left: 90%;
  background-image: url(/files/user/common/img/ico_sprites.png);
  content: "";
}
.modBoxCta a.icoPdf::after {
  width: 26px;
  margin-left: -12px;
  background-position: -413px -96px;
}


/*=================================================================
    2019/11/21 法人トップ改修
	2022/06/07 背景画像差し替え
=================================================================*/

.strBranch{
background-color: #1290a2;
background-image:url(/files/user/img/business/bg_top_eset2206.jpg);
background-size: 100% auto;
background-repeat: no-repeat;
background-position: right;
text-align: center;
padding: 20px 0;}

.btnContentBranch{
display: flex;
justify-content: center;}

.strBranch h2{
color: #fff;
text-shadow:#096e82 0 0 5px,#096e82 0 0 2px; }

h2.hdgBetop{
text-align: center;
font-size: 150%;
padding: 40px 0 10px 0;
}

.btnBranch{
opacity: 1;
font-size: 120%;
background: #fff;
color: #333333;
width: 420px;
height: 130px;
min-height: 130px;
padding: 0px 60px 30px 10px;
margin: 0 15px 0 15px;
display: block;
position: relative;
text-align: left;
text-decoration: none;
font-weight: bold;
box-shadow: 1px 1px 3px #096e82 ;
}
.btnBranch h3{
font-size: 80%;
line-height: 1.6;
color: #1290a2;
border-bottom:  solid 1px #e6ecef;
padding-top: 30px;
padding-bottom: 5px;
margin-bottom: 10px;
margin-left: 130px;
}
.btnBranch p{
margin-left: 130px;}
a.btnBranch:hover{
color: #333;
}
.btnBranch img{
width: 120px;
height: auto;
position: absolute;
vertical-align:middle;
top: 10%;
}

.btnBranch:after{
content: "▼";
color: #1290a2;
transform:rotate(-90deg);
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
position: absolute;
right: 20px;
top: 40%;
}

.btnBranch:hover{
opacity: 0.8;
}


.btnBranch img + p{
padding-top: 30px;
font-weight: normal;}



.btnMore{
opacity: 1;
color: #fff;
text-decoration: none;
font-weight: bold;
text-align: center;
font-size: 120%;
background: #00416b;
border-radius: 5px;
width: 320px;
padding: 20px;
margin: 60px auto 50px auto;
box-shadow: 1px 1px 3px #666 ;
display: block;
position:relative;
border: solid 3px #fff;
}
.btnMore:after{
content: "▼";
color: #fff;
transform:rotate(-90deg);
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
position: absolute;
left: 20px;
top: 25%;
}
.btnMore:hover{
color: #fff;
opacity: 0.8;
}



.subNavi{
padding: 45px 0;
display: flex;
justify-content: space-between;
}


.strCase{
background: #e5e5e5 url(/files/user/img/business/bg_dotted.png) repeat;
padding-bottom: 10px;
}
.modContentCase{
display: flex;
justify-content: space-between;
}
.modCase{
width: 365px;
background: #fff;
text-decoration: none;
color: #333;
box-shadow: 1px 1px 3px #ccc ;
}
.modCase p{
padding: 20px;
}

.modCase img{
width: 365px;
}
.modCaseClient{
font-size: 120%;
font-weight: bold;
}

.strPickup{
padding-bottom: 40px;
}

.modKv{
margin: 50px auto;
text-align: center;
}

.slick-dots li button::before {
    font-size: 14px;
	content: "●";
	line-height: 2;
	font-family: sans-serif;
}
.slick-prev{left: 50px;}
.slick-next{right: 90px;}
.slick-prev,.slick-next{z-index: 100;}
.slick-prev:before,
.slick-next:before
{
    font-family: 'arial';
    font-size: 30px;
    line-height: 1;
    opacity: .75;
    color: #666;
	background: #fff;
	padding: 10px 20px 15px 20px;
	border-radius: 40px;
}
.slick-prev:before{content: "≪";}
.slick-next:before{content: "≫";}

[dir='rtl'] .slick-next
{
    right: auto;
    left: -50px;
}
[dir='rtl'] .slick-prev
{
    right: -90px;
    left: auto;
}

/*============================================　スマホ対応*/
@media screen and (max-width: 768px) {
.modKv{
margin: 20px;
}


.strBranch{
background-size: auto 100%;
background-position: 50%;}


.btnContentBranch{
display: block;
}

.btnBranch{
padding: 0px 50px 15px 10px;
font-size: 100%;
width:auto;
min-height: none;
height: auto;
margin-bottom: 10px;
line-height: 1.2;
vertical-align: middle;
min-height: 100px;
}
.btnBranch img{
width: 25%;
height: auto;
margin-right: 0;
}
.btnBranch h3{
font-size: 70%;
line-height: 1.6;
margin-left: 34%;
margin-bottom: 10px;
padding-top: 15px;
}
.btnBranch p{
margin-left: 34%;
}

.btnBranch img + p{
padding-top: 15px;
line-height: 1.8;
}



.btnMore,
.btnLineup{
width: 72%;
margin: 40px auto 20px auto;
}

.subNavi{
display:block;
text-align: center;
}
.subNavi li{
margin-bottom: 10px;
}

.strCase{
padding-bottom: 20px;
}
.modContentCase{
display: block;
}

.modCase{
background: #fff;
width:auto;
margin-bottom: 10px;
display: block;
}
.modCase img{
width: 100px;
height: auto;
float: left;
margin: 10px;
}
.modCase p{
padding: 10px;
padding-bottom: 0;
font-size: 80%;
}
p.modCaseClient{
font-size: 60%;
text-align: right;
padding-bottom: 10px;
}
.slick-prev:before,
.slick-next:before
{display: none;
content: none;
}

}

/*=================================================================
    2019/12/4 YouTube動画埋め込み
=================================================================*/

.movie-wrap {
  position:relative;
  width: 100%;
  max-width: 560px;
  margin:0 auto;
}

.movie-wrap::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
}

.movie-wrap iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*=================================================================
    2020/1/17 インストール手順ページヒントのテキスト位置
=================================================================*/

.modBoxTrg .modTxtLeadS, .modBoxTrgYE .modTxtLeadS{
text-align:left;
}

/*=================================================================
    2020/1/21 サポート：インストール手順ページ改修（アイコン設置）
=================================================================*/
.modSuggest{
display: flex;
justify-content: space-between;
margin: 0;
}
.modSuggest .col{
width: 24%;
border:solid 2px #ccc;
text-align: center;
padding-bottom: 20px;
}
.modSuggest a{
line-height: 1.4;
color:#1d8a9c;
text-decoration:underline;
font-weight: bold;
}
.modSuggest a:hover{
text-decoration:none;}
.modSuggest .fzL{
font-size:20px;
}

.modSuggest2{
border-top:solid 2px #ccc;
display: flex;
justify-content: space-around;
margin: 0;
padding:10px 0;}

.modSuggest2 a{
line-height: 1.4;
color:#1d8a9c;
text-decoration:underline;
font-weight: bold;
}
.modSuggest2 a:hover{
text-decoration:none;}

.modSuggest2 .fzL{
font-size:20px;
}

.modSuggest2 img{
width:25%;
height:auto;
vertical-align: middle;
}

.modBrGry{
border:solid 2px #ccc;}


@media screen and (max-width: 768px){
.modSuggest,.modSuggest2{
flex-direction: column;
justify-content:flex-start;
}
.modSuggest .col{
width: 100%;
margin-top: 10px;
padding-bottom: 0;
}
.modSuggest a{
display: flex;
justify-content:flex-start;
align-items: center;
text-decoration:none;}

.modSuggest br{
display: none;
}

.modSuggest p{
text-align: left;
}
.modSuggest p:first-child{
  width:15%;
  margin:0 10px 0 5px;
}
.modSuggest p > img{
padding: 0;
width: 100%;
height: auto;
}

.modSuggest2 img{
width:15%;
height:auto;
vertical-align: middle;
margin-right:20px;
}


/*SP版　カルーセル内画像下部に余白ができる場合（枠内上部になる場合）は、
　.massImgと同じところに以下のクラスを適用
 flexboxで表示処理*/
.sp_middle{
  display:flex;
  align-items:center;
}

}


/*=================================================================
    2020/2/5 製品ページ：EPC　カルーセル
=================================================================*/
figure.mass{
    display: table;
    min-width: 400px; /* minimum width */
    *width: auto; /* for IE7 and below */
    }
.mass{
     margin:0 20px;
}
.mass figcaption{
     font-weight:bold;
     margin-bottom:10px;
     text-align:center;
}
.mass .massImg{
	 height: 300px;}
.mass img{
     margin:0 auto;
	 width: auto;
	 max-height: 300px;
	 border: 1px solid #ccc;
}
.mass .modTxt{
     font-size:95%;
     background:#f7f7f7;
     padding:10px;
     margin:8px auto;
     border-radius:0.5em;
     /*width:90%;*/
}

.esetHome .slick-prev:before,
.esetHome .slick-next:before
{
    font-family: 'arial';
    font-size: 30px;
    line-height: 1;
    opacity: .75;
    color: #fff;
	background: #1190a2;
	padding: 10px 20px 15px 20px;
	border-radius: 40px;
}

@media screen and (max-width: 640px) {
  figure.mass{
  width: 100%;
  margin: 0;
  }
  .mass .modTxt{
  max-width: 300px;
  }
  .mass .massImg{
  max-width: 300px;
  margin: 0 auto;
  }
  .mass img{
  margin: 0 auto;
}
.h300{
height: 300px;
width: auto;
}
}



/*=====================================
    2020/04/01 ボタングレーアウト用
=====================================*/
.btnNo {
  color: #999;
  background: #ddd;
}
.btnNo:hover,
.btnNo:focus,
.btnNo:active{
color: #999;
}



/*=====================================
    2020/04/07 個人情報
=====================================*/
.modConsent{
overflow-x: auto;
height: 300px;
max-height: 300px;
border: solid 1px #ccc;
padding: 15px;
}
.modConsent p{
margin-bottom: 10px;
}
ul.consent li{
display: block;
padding-bottom: 20px;
}
ul.consent label{
padding-left: 20px;
}

/*=====================================
    2020/09/08 高度サイバー攻撃対策　インクルード
	2021/08/03 EDRLPへの銅線追加に伴う追加・修正
	EDRLPへの導線を削除する場合はコメントアウト分のCSSに変更してください。
=====================================*/
/*
.modBoxThreat{
background: url(/files/user/img/business/index_img_threat01.png) no-repeat left center;
padding: 30px 0 20px 350px;
border: solid 1px #ccc;
position: relative;
display: block;
text-decoration: none;
}
.modBoxThreat:hover{
opacity: 0.7;
}
.modBoxThreat:after{
content: "▼";
transform: rotate(-90deg);
position: absolute;
top:45%;
right: 2%;
}
.modBoxThreat .fzL{
font-size: 2.2rem;
}

@media screen and (max-width: 640px) {
.modBoxThreat{
background-image: url(/files/user/img/business/index_img_threat01_sp.png);
background-size: auto 100%;
background-repeat: no-repeat;
background-position: left bottom;
padding: 15px 30px 10px 190px;
}
.modBoxThreat .modTxt{
margin: 0 0 5px 0;
text-shadow: 0 0 5px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 20px #fff;
}

.modBoxThreat .fzL{
font-size: 1.6rem;
}

}*/
/*-------------------------------------- 2021/08/03 */
.modBoxThreat,
.modBoxEdr{
border:solid 1px #ccc;
position:relative;
display:block;
text-decoration: none;
}

.modBoxThreat{
padding: 15px 0 5px 180px;
background: url(/files/user/img/business/index_img_threat01.png) no-repeat -110px 55% ;}
.modBoxEdr{
padding: 30px 0 25px 180px;
background: url(/files/user/img/business/index_img_edr-enterprise01.png) no-repeat -100px 50% ;}

.modBoxThreat:hover,
.modBoxEdr:hover
{
opacity: 0.7;
}
.modBoxThreat:after,
.modBoxEdr:after
{
content: "▼";
transform: rotate(-90deg);
position: absolute;
top:45%;
right: 2%;
}
.modBoxThreat .fzL,
.modBoxEdr .fzL
{
font-size: 2.2rem;
}


.modBoxThreat .modTxt,
.modBoxEdr .modTxt {
  margin: 0 0 8px;
}

@media screen and (max-width: 640px) {
.modBoxThreat,
.modBoxEdr{
background-size: auto 100%;
background-repeat: no-repeat;
background-position: left bottom;
padding: 15px 30px 10px 160px;
}

.modBoxThreat{
background: url(/files/user/img/business/index_img_threat01_sp.png) no-repeat left center;}
.modBoxEdr{
background: url(/files/user/img/business/index_img_edr-enterprise01_sp.png) no-repeat left center;}

.modBoxThreat .modTxt,
.modBoxEdr .modTxt{
margin: 0 0 5px 0;
text-shadow: 0 0 5px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 20px #fff;
}

.modBoxThreat .fzL,
.modBoxEdr .fzL{
font-size: 1.6rem;
}

}



/*=================================================================
    2021/4/30 モーダルウィンドウ：Magnific Popup（高さ可変inline）
=================================================================*/

.modPopupBlock{
background:#fff;
padding:20px 30px;
max-width:50%;
margin:40px auto;
position:relative;
}



/*=================================================================
    2021/5/13 SPスクロール対応表組：ソリューション用
=================================================================*/
.modTblSol{
width: 100%;
position: relative;
}

.modTblSol table{
margin: 0;
padding: 0;
word-break: break-all;
border-collapse: collapse;
}

.modTblSol tbody th{
background: #fff;
text-align: center;
vertical-align: top;
}
.modTblSol tbody td{
text-align: center;
vertical-align: middle;
}

.modTblSol tbody th.hdgTblL{
min-width: 200px;
background: #1290a2;
color: #fff;
text-align: left;
}

.modTblSol tbody tr.hdgTblLbl th{
border-bottom: 0px;
}


.modTblSol tbody tr:nth-of-type(1) th.hdgTblL
{
border-left: solid 1px #fff;
border-top: solid 1px #fff;
background: #fff;
}
.modTblSol tbody tr:nth-last-of-type(1) th.hdgTblL{
border-left: solid 1px #fff;
border-bottom: solid 1px #fff;
background: #fff;
}


/*ラベル*/
.labelSolEm{
position:relative;
background: #fb6050;
padding: 3px 5px;
color: #fff;
font-weight: bold;
text-align: center;
font-size: 12px;
width: auto;
max-width: 50px;
}
.labelSolEm:after{
content: "";
position: absolute;
bottom: -5px;
right: 0;
left: 0;
width: 0px;
height: 0px;
margin: auto;
border-style: solid;
border-color: #fb6050 transparent transparent transparent;
border-width: 8px 8px 0 8px;
}

/*  trにdata-type='onLbl'があるthは内側余白を上から45px  */
tr[data-type='onLbl'] th{padding-top: 45px;}

/*  trにdata-type='onLbl'があるthの中に、ラベルがある場合はラベルの外側余白を上に-35px  */
tr[data-type='onLbl'] th > .labelSolEm{margin-top: -35px; margin-bottom: 10px;}


/*列・行強調 赤
左の機能名は変更なし
*/
.modTblSol tbody th.colSolEm,
.modTblSol tbody td.colSolEm,
.modTblSol tbody tr.rowSolEm1 td
{
background: #fff0f0;
}

/*行強調 ブルーグレー
左の機能名も色変更
*/
.modTblSol tbody tr.rowSolEm2 th,
.modTblSol tbody tr.rowSolEm2 td,
.modTblSol tbody tr.rowSolEm2 th.colSolEm,
.modTblSol tbody tr.rowSolEm2 td.colSolEm
{
background: #e6ecef;
color: #3d3d3d;
}

/*th強調 ライトグレー
左の機能名のみ強調
*/
.modTblSol tbody th.colSolEm2
{
background: #f5f5f5;
color: #3d3d3d;
}

/*
画像使用時、自動幅調整
通常時は.modImgで調整しているが、HTML側に追加すると処理が難しくなるので、
モジュール用に調整、固定
*/
.modTblSol tbody th img {
  width: 100%;
  margin: 0;
  text-align: center;
  display: table;
  table-layout: fixed;
}
.modTblSol tbody th img::before {
  width: 100%;
  height: 100%;
  content: "";
}
.modTblSol tbody th img a::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
}
.modTblSol tbody th img + a::before {
  height: 12px;
}

/*
左のth内、ポップアップのアイコン用
それ以外の画像を入れる場合は別途調整が必要です
*/
.modTblSol tbody th a.modPopup img{
width: 18px;
display: inline-block;
}



@media screen and (max-width: 640px) {
.modTblSol{
overflow: auto;
border: solid 1px #ccc;
}

/*左固定*/
.modTblSol tbody th.hdgTblL{
position: sticky;
position: -webkit-sticky;
left: 0;
z-index: 2;
min-width: 120px;
border-left: 0;
}

/*SP版の線重複部分打消し処理*/
.modTblSol tbody tr:nth-of-type(1) th,
.modTblSol tbody tr:nth-of-type(1) td{
border-top: 0px;
}
.modTblSol tbody tr:nth-last-of-type(1) th,
.modTblSol tbody tr:nth-last-of-type(1) td{
border-bottom: 0px;
}
.modTblSol tbody th:last-child,
.modTblSol tbody td:last-child{
border-right: 0px;
}
.modTblSol tbody tr:nth-of-type(1) th.hdgTblL,
.modTblSol tbody tr:nth-last-of-type(1) th.hdgTblL{
border-left: 0px;
}

.capFlick{
font-size:12px;
color:#666;
margin:30px 0 15px;
text-align:right;
}

.modTblSol tbody th,
.modTblSol tbody td{
min-width: 160px;
}

}


/*=================================================================
    2021/6/14 競合解消のためbuss_lup.cssから必要部分だけ移植・調整
	.modNavAncFlex（ページ内リンク（成り行き））の調整版
	http://eset-info.canon-its.jp/files/user/css/business/lineup/buss_lup.css
=================================================================*/
.modNavAncFlex02{margin: 40px 0;}

.modNavAncFlex02 .nav{
overflow: hidden;
margin: 0 0 -12px -30px;
}
.modNavAncFlex02 .nav li{
margin: 0 0 12px 0;
padding: 0 0 0 30px;
float: left;
}

.modNavAncFlex02 .nav a	{
padding: 7px 28px 7px 36px;
text-align: center;
position: relative;
display: block;
box-sizing: border-box;
border-radius: 2px;
background: #f0f0f0;
}

.modNavAncFlex02 .nav a::before	{
width: 6px;
height: 5px;
position: absolute;
top: 17px;
left: 20px;
background-position: -30px -11px;
background-image: url(/files/user/common/img/ico_sprites.png);
content: "";
}
.modNavAncFlex02 .nav a:active	{
background: #eaeaea;
}

@media screen and (max-width: 640px){
.modNavAncFlex02 .nav{
margin: 0;
}
.modNavAncFlex02 .nav li{
float: none;
padding: 0;
}
.modNavAncFlex02 .nav a	{
text-align: left;
border-radius: 2px;
display:inline-block;
}
.modNavAncFlex02 .nav a::before	{
top: 15px;
}
}



/*=================================================================
    2021/8/19 新規モジュール　ボックス型リンク：.modLinkLytCol1～4
=================================================================*/

.modLinkLytCol1,
.modLinkLytCol2{
display: flex;
justify-content: center;
text-decoration: none;
color: #333;
}
.modLinkLytCol3,
.modLinkLytCol4{
display: flex;
justify-content: space-between;
text-decoration: none;
color: #333;
}

.modLinkLytCol1 a:hover,
.modLinkLytCol2 a:hover,
.modLinkLytCol3 a:hover,
.modLinkLytCol4 a:hover{
opacity: 0.7;
color:#039 ;
}
.modLinkLytCol1 .modTxt,
.modLinkLytCol2 .modTxt,
.modLinkLytCol3 .modTxt,
.modLinkLytCol4 .modTxt{
padding: 15px;
}

/*-------------------------
Heavy=1
Dark=2
Mid=3
Bright=4
Light=5
-------------------------*/
.modBoxTurq1{
border: solid 2px #004b55;
text-decoration: none;
color: #333;
}

.modBoxTurq2{
border: solid 2px #00717f;
text-decoration: none;
color: #333;
}

.modBoxTurq3{
border: solid 2px #0096a1;
text-decoration: none;
color: #333;
}

.modBoxTurq4{
border: solid 2px #00bbc5;
text-decoration: none;
color: #333;
}

.modBoxTurq5{
border: solid 2px #87cfd3;
text-decoration: none;
color: #333;
}


/*-------------------------帯*/
.modBand{
font-weight: bold;
text-align: center;
margin-left: 0;
margin-right: 0;
padding: 10px 0;
}
.modBoxTurq1 .modBand{
background: #004b55;
color: #fff;
}
.modBoxTurq2 .modBand{
background: #00717f;
color: #fff;
}
.modBoxTurq3 .modBand{
background: #0096a1;
color: #fff;
}
.modBoxTurq4 .modBand{
background: #00bbc5;
color: #fff;
}
.modBoxTurq5 .modBand{
background: #87cfd3;
color: #fff;
}

/*-------------------------幅*/
.modLinkLytCol1 .modBoxTurq1,.modLinkLytCol1 .modBoxTurq2,.modLinkLytCol1 .modBoxTurq3,.modLinkLytCol1 .modBoxTurq4,.modLinkLytCol1 .modBoxTurq5,
.modLinkLytCol2 .modBoxTurq1,.modLinkLytCol2 .modBoxTurq2,.modLinkLytCol2 .modBoxTurq3,.modLinkLytCol2 .modBoxTurq4,.modLinkLytCol2 .modBoxTurq5,
.modLinkLytCol3 .modBoxTurq1,.modLinkLytCol3 .modBoxTurq2,.modLinkLytCol3 .modBoxTurq3,.modLinkLytCol3 .modBoxTurq4,.modLinkLytCol3 .modBoxTurq5{
width: 30%;
}

.modLinkLytCol4 .modBoxTurq1,.modLinkLytCol4 .modBoxTurq2,.modLinkLytCol4 .modBoxTurq3,.modLinkLytCol4 .modBoxTurq4,.modLinkLytCol4 .modBoxTurq5{
width: 23%
}

.modLinkLytCol2 .modBoxTurq1:first-child,
.modLinkLytCol2 .modBoxTurq2:first-child,
.modLinkLytCol2 .modBoxTurq3:first-child,
.modLinkLytCol2 .modBoxTurq4:first-child,
.modLinkLytCol2 .modBoxTurq5:first-child{
margin-right: 30px;
}


@media screen and (max-width: 640px) {

.modLinkLytCol1,
.modLinkLytCol2,
.modLinkLytCol3,
.modLinkLytCol4{
display:block;
}
.modBoxTurq1,
.modBoxTurq2,
.modBoxTurq3,
.modBoxTurq4,
.modBoxTurq5{
display:block;
margin:0 0 30px 0;
}

.modLinkLytCol1 .modBoxTurq1,.modLinkLytCol1 .modBoxTurq2,.modLinkLytCol1 .modBoxTurq3,.modLinkLytCol1 .modBoxTurq4,.modLinkLytCol1 .modBoxTurq5,
.modLinkLytCol2 .modBoxTurq1,.modLinkLytCol2 .modBoxTurq2,.modLinkLytCol2 .modBoxTurq3,.modLinkLytCol2 .modBoxTurq4,.modLinkLytCol2 .modBoxTurq5,
.modLinkLytCol3 .modBoxTurq1,.modLinkLytCol3 .modBoxTurq2,.modLinkLytCol3 .modBoxTurq3,.modLinkLytCol3 .modBoxTurq4,.modLinkLytCol3 .modBoxTurq5,
.modLinkLytCol4 .modBoxTurq1,.modLinkLytCol4 .modBoxTurq2,.modLinkLytCol4 .modBoxTurq3,.modLinkLytCol4 .modBoxTurq4,.modLinkLytCol4 .modBoxTurq5{
width: 100%;
}

}

/*=================================================================
    2022/10/5 新規モジュール　サポート用OS別枠：.modInstWin,Mac,Android
=================================================================*/
.modInstWin{
border: solid 5px #ec6100;
background: #fff;
padding: 0 20px;
}
.modInstMac{
border: solid 5px #0086d1;
background: #fff;
padding: 0 20px;
}
.modInstAndroid{
border: solid 5px #006e35;
background: #fff;
padding: 0 20px;
}