/*!
 * global rules
 * l_ = layout modifier
 * m_ = module modifier
 * is_ = js modifier
 * 
 */
/* black
-----------------------*/
/* BLUE
-----------------------*/
/* RED
-----------------------*/
/* GRAY
-----------------------*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/*! reset.css */
/**
 * reset and overwrite normalize.css
 */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

ol, ul {
  list-style: none; }

h1, h2, h3, h4, h5, h6 {
  font-style: normal;
  font-size: 100%; }

img {
  vertical-align: top; }

section, header, footer, nav, aside, figure {
  margin: 0; }

/* テンプレページ用CSS */
.m_temp_wrap {
  position: relative;
  text-align: center;
  color: #555;
  padding: 50px 0;
  margin: 50px 0;
  border-top: 3px dashed #555;
  border-bottom: 3px dashed #555;
  background: #eee; }
  .m_temp_wrap:before {
    content: "<!-- template start -->";
    color: #ccc;
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 12px;
    font-family: monospace; }
  .m_temp_wrap:after {
    content: "<!-- template end -->";
    color: #ccc;
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 12px;
    font-family: monospace; }

.m_temp_body {
  display: inline-block;
  padding: 30px;
  background: #fff;
  border: 3px double #e0e0e0;
  margin: 20px 0 40px; }
  .m_temp_body dl {
    text-align: left; }
  .m_temp_body dl + dl {
    margin-top: 5px; }
  .m_temp_body dt {
    font-weight: bold;
    display: inline-block; }
  .m_temp_body dd {
    display: inline-block; }

/*----------------------------------------------------------
border radius
----------------------------------------------------------*/
/*----------------------------------------------------------
opacity
----------------------------------------------------------*/
/*---------------------*/
/*  font
/*---------------------*/
body {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ⾓ゴ Pro", "メイリオ", "MS Pゴシック", "MSゴシック", "Osaka", "Sans-serif";
  line-height: 1.6;
  color: #333;
  font-size: 12px;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.06em; }

.bold {
  font-weight: bold; }

.normal {
  font-weight: normal !important; }

/*---------------------*/
/*  link setting
/*---------------------*/
/* hide outline */
a:link, a:visited, a:active, a:hover, a:focus {
  outline: none; }

/* color */
a {
  color: #333; }

a:link, a:visited {
  text-decoration: none; }

a:hover, a:active {
  text-decoration: underline; }

@media only screen and (max-width: 768px) {
  a:hover, a:active {
    text-decoration: none; } }

.m_rollover {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.m_rollover:hover {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  text-decoration: none; }

/*---------------------*/
/* contents
/*---------------------*/
/*---------------------*/
/*  clearfix 
/*---------------------*/
.cf:after, .l_row:after {
  content: "";
  clear: both;
  display: block; }

/*---------------------*/
/* parts 
/*---------------------*/
.clear {
  clear: both; }

.l_inner {
  width: 980px;
  min-width: 980px;
  margin: 0 auto;
  overflow: hidden; }

@media only screen and (max-width: 768px) {
  .l_inner {
    width: 96%;
    min-width: 300px;
    margin: 0 auto; } }

.l_block {
  padding-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .l_block {
      padding-bottom: 20px; } }

/*---------------------*/
/* freq style
/*---------------------*/
.m_align_l {
  text-align: left; }

.m_align_r {
  text-align: right; }

.m_align_c {
  text-align: center; }

.m_float_l {
  float: left; }

.m_float_r {
  float: right; }

@media only screen and (max-width: 768px) {
  .m_float_l {
    float: none; }
  .m_float_r {
    float: none; } }

.pcH {
  display: none; }

@media only screen and (max-width: 768px) {
  .pcH {
    display: block; }
  .spH {
    display: none; } }

@media only screen and (max-width: 768px) {
  img {
    max-width: 100%; } }

/*---------------------*/
/* layout
/*---------------------*/
@media only screen and (min-width: 1602px) {
  #l_wrapper {
    position: relative;
    background: #fff; } }

@media only screen and (max-width: 768px) {
  #l_wrapper {
    position: relative; } }

.l_section {
  min-width: 980px;
  padding: 60px 0; }
  @media only screen and (max-width: 768px) {
    .l_section {
      min-width: 0;
      padding: 35px 0; } }

.l_sec_image {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.l_sec_gray {
  background: #ededed; }

.l_sec_white {
  background: #fff; }

.l_sec_dark {
  background: #4a4a4a;
  color: #fff; }

/*---------------------*/
/* rows & cols
/*---------------------*/
.l_row {
  margin-right: -10px;
  margin-left: -10px; }

.l_col {
  float: left; }

.l_col_inner {
  padding: 10px; }

.l_col_20 {
  width: 20%; }

.l_col_25 {
  width: 25%; }

.l_col_33 {
  width: 33.3%; }

.l_col_50 {
  width: 50%; }

.l_col_66 {
  width: 66.6%; }

.l_col_100 {
  width: 100%;
  float: none; }

@media only screen and (max-width: 768px) {
  .l_row {
    margin: 0; }
  .l_col {
    float: none;
    width: 100%; } }

.l_heading_01 {
  position: relative;
  margin-bottom: 30px;
  padding: 0 0 10px;
  border-bottom: 2px solid #ddd; }
  @media only screen and (max-width: 768px) {
    .l_heading_01 {
      border-bottom: 1px solid #ddd;
      margin-bottom: 15px; } }
  .l_heading_01:after {
    content: "";
    position: absolute;
    display: block;
    bottom: -2px;
    left: 0;
    width: 140px;
    height: 2px;
    background-color: #ff0000; }
    @media only screen and (max-width: 768px) {
      .l_heading_01:after {
        width: 70px;
        height: 1px;
        bottom: -1px; } }
  .l_heading_01 h1, .l_heading_01 h2, .l_heading_01 h3 {
    font-size: 25px;
    line-height: 1.3;
    font-weight: normal; }
    @media only screen and (max-width: 768px) {
      .l_heading_01 h1, .l_heading_01 h2, .l_heading_01 h3 {
        font-size: 15px; } }
  .l_heading_01 p {
    margin: 10px 0;
    font-size: 16px;
    font-weight: bold; }

.l_heading_02 {
  margin: 30px 0 20px;
  text-align: center; }
  .l_heading_02:first-child {
    margin-top: 0; }
  .l_heading_02 h1, .l_heading_02 h2, .l_heading_02 h3 {
    margin: 0 0 10px;
    border-bottom: 1px solid #ddd;
    font-size: 20px;
    font-weight: bold; }
  .l_heading_02 p {
    margin: 10px 0;
    font-size: 16px;
    font-weight: bold; }

.l_sec_head {
  position: relative;
  margin-bottom: 40px;
  padding-bottom: 20px;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .l_sec_head {
      margin-bottom: 20px;
      padding-bottom: 15px; } }
  .l_sec_head:after {
    content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 50%;
    width: 140px;
    height: 2px;
    margin-left: -70px;
    background: #333; }
    @media only screen and (max-width: 768px) {
      .l_sec_head:after {
        width: 70px;
        height: 1px;
        margin-left: -35px; } }
  .l_sec_dark .l_sec_head:after {
    background: #fff; }
  .l_sec_head p {
    color: #ff0000;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 10px;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 768px) {
      .l_sec_head p {
        font-size: 11px; } }
  .l_sec_head h1, .l_sec_head h2, .l_sec_head h3 {
    color: #1b1b1b;
    font-weight: bold;
    font-size: 34px;
    line-height: 1.2; }
    @media only screen and (max-width: 768px) {
      .l_sec_head h1, .l_sec_head h2, .l_sec_head h3 {
        font-size: 18px;
        letter-spacing: 0.05em; } }
    .l_sec_dark .l_sec_head h1, .l_sec_dark .l_sec_head h2, .l_sec_dark .l_sec_head h3 {
      color: #fff; }

.m_lead {
  font-size: 16px;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .m_lead {
      font-size: 12px; } }

.m_text {
  font-size: 15px; }
  @media only screen and (max-width: 768px) {
    .m_text {
      font-size: 12px; } }

.m_notice {
  font-size: 14px;
  color: #666; }
  @media only screen and (max-width: 768px) {
    .m_notice {
      font-size: 11px; } }
  .m_notice small {
    font-size: 13px; }
    @media only screen and (max-width: 768px) {
      .m_notice small {
        font-size: 11px; } }

.l_sec_footer {
  padding-top: 30px; }

/*---------------------*/
/* 2nd pages elem
/*---------------------*/
#l_key_visual {
  display: table;
  width: 100%;
  height: 210px;
  min-width: 980px; }
  @media only screen and (max-width: 768px) {
    #l_key_visual {
      height: 187px;
      min-width: 0; } }
  #l_key_visual .l_inner {
    display: table-cell;
    vertical-align: middle; }
  #l_key_visual .m_page_title {
    position: relative;
    font-size: 34px;
    font-weight: bold;
    padding: 22px 0 20px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #l_key_visual .m_page_title {
        padding: 15px 0 13px;
        font-size: 22px;
        line-height: 1.2; } }
    #l_key_visual .m_page_title:before, #l_key_visual .m_page_title:after {
      content: "";
      position: absolute;
      display: block;
      left: 50%;
      width: 140px;
      height: 2px;
      margin-left: -70px;
      background: #333; }
      @media only screen and (max-width: 768px) {
        #l_key_visual .m_page_title:before, #l_key_visual .m_page_title:after {
          width: 70px;
          height: 1px;
          margin-left: -35px; } }
    #l_key_visual .m_page_title:before {
      top: 0; }
    #l_key_visual .m_page_title:after {
      bottom: 0; }

.l_breadcrumb {
  min-width: 980px;
  background: #f0f0f0;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .l_breadcrumb {
      min-width: 0; } }
  .l_breadcrumb ul {
    display: inline-block;
    padding: 15px;
    margin: 0; }
    @media only screen and (max-width: 768px) {
      .l_breadcrumb ul {
        padding: 6px 0; } }
  .l_breadcrumb li {
    display: inline-block;
    font-size: 12px;
    color: #969696; }
    @media only screen and (max-width: 768px) {
      .l_breadcrumb li {
        font-size: 11px;
        letter-spacing: 0; } }
  .l_breadcrumb li + li {
    padding-left: 24px;
    background: url(/common/img/ico_breadcrumb.png) no-repeat left center;
    margin-left: 8px; }
    @media only screen and (max-width: 768px) {
      .l_breadcrumb li + li {
        padding-left: 16px;
        background: url(/common/img/ico_breadcrumb.png) no-repeat left center;
        margin-left: 0; } }
  .l_breadcrumb a {
    color: #333; }

table {
  width: 100%;
  border-right: 1px solid #d4d4d4;
  border-bottom: 1px solid #d4d4d4;
  font-size: 15px; }
  @media only screen and (max-width: 768px) {
    table {
      font-size: 12px; } }

th, td {
  padding: 12px 20px;
  border-top: 1px solid #d4d4d4;
  border-left: 1px solid #d4d4d4; }
  @media only screen and (max-width: 768px) {
    th, td {
      padding: 6px 10px; } }

th {
  width: 140px;
  background: #f0f0f0;
  font-weight: normal; }
  @media only screen and (max-width: 768px) {
    th {
      width: 100px; } }

tbody th {
  text-align: left; }

dl, ul, ol {
  margin-bottom: 5px; }

dl + dl {
  margin-top: 20px; }

.m_list_disc {
  list-style: disc outside;
  margin-left: 24px; }
  @media only screen and (max-width: 768px) {
    .m_list_disc {
      margin-left: 18px; } }

li {
  font-size: 15px; }
  @media only screen and (max-width: 768px) {
    li {
      font-size: 12px; } }

p {
  font-size: 15px; }
  @media only screen and (max-width: 768px) {
    p {
      font-size: 12px; } }

dt, dd {
  font-size: 15px; }
  @media only screen and (max-width: 768px) {
    dt, dd {
      font-size: 12px; } }

.m_border_btm {
  border-bottom: 1px solid #d4d4d4; }

#card #l_key_visual .m_page_title p {
  font-size: 22px;
  margin-bottom: 3px; }
  @media only screen and (max-width: 768px) {
    #card #l_key_visual .m_page_title p {
      font-size: 14px;
      margin-bottom: 5px; } }

/*---------------------*/
/* layout
/*---------------------*/
#l_header {
  height: 105px;
  margin: 0;
  padding-bottom: 0; }

#m_siteId {
  float: left;
  display: table;
  height: 105px; }

#m_logo {
  display: table-cell;
  height: 105px;
  vertical-align: middle; }

#m_logo img {
  width: 173px;
  height: auto; }

#m_siteId h1, #m_siteId div {
  display: table-cell;
  height: 105px;
  padding-left: 15px;
  vertical-align: middle;
  font-weight: bold;
  font-size: 16px; }

#m_siteId h1 a, #m_siteId div a {
  text-decoration: none;
  color: #333; }

#l_header_link {
  float: right; }
  #l_header_link ul {
    display: table;
    height: 105px;
    margin-bottom: 0; }
  #l_header_link li {
    display: table-cell;
    vertical-align: middle;
    font-size: 12px; }
  #l_header_link a {
    position: relative;
    color: #333;
    text-decoration: none;
    padding-left: 20px; }
    #l_header_link a:hover {
      text-decoration: underline; }
    #l_header_link a:before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      width: 12px;
      height: 12px;
      margin-top: -6px;
      background: url(/common/img/ico_ar_r_gray.png) no-repeat; }
  #l_header_link .is_active a {
    color: #ff0000; }

@media only screen and (max-width: 768px) {
  #l_header {
    height: 45px;
    overflow: hidden;
    border-bottom: 1px solid #ccc; }
  #m_siteId {
    float: left;
    display: table;
    height: 45px; }
    #m_siteId #m_logo {
      display: table-cell;
      height: auto;
      vertical-align: middle;
      padding-left: 0; }
  #m_logo img {
    width: 115px;
    height: auto;
    margin-top: -2px; }
  #m_siteId h1, #m_siteId div {
    height: auto;
    font-size: 10px;
    line-height: 1.4; }
  #m_siteId h1 a, #m_siteId div a {
    text-decoration: none;
    color: #333; }
  #l_header_link {
    display: none; } }

#l_speak_nav {
  display: none; }

.ie8 #l_nav {
  background: #1b1b1b;
  margin: 0; }
  .ie8 #l_nav .l_inner {
    background: #1b1b1b; }
  .ie8 #l_nav .m_nav_btn {
    display: none; }
  .ie8 #l_nav ul {
    margin: 0; }
  .ie8 #l_nav li {
    float: left;
    width: 25%;
    height: 70px;
    line-height: 70px;
    text-align: center; }
    .ie8 #l_nav li a {
      display: block;
      color: #fff;
      text-decoration: none;
      font-size: 15px; }
      .ie8 #l_nav li a:hover {
        color: #ff0000; }
      .ie8 #l_nav li a > span {
        display: inline-block;
        width: 100%;
        height: 30px;
        line-height: 30px;
        border-left: 1px solid #4d4d4d;
        vertical-align: middle;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box; }
      .ie8 #l_nav li a span span {
        padding-bottom: 2px; }
        .ie8 #l_nav li a span span.m_btn_request {
          background: #ff0000;
          display: block;
          margin-top: -2px;
          margin-left: 35px;
          border-bottom: none;
          padding: 2px 0;
          color: #fff; }
      .ie8 #l_nav li a:hover .m_btn_request {
        background: #d10606; }
    .ie8 #l_nav li.is_active a span span {
      color: #ff0000;
      border-bottom: 2px solid #ff0000; }

@media only screen and (min-width: 768px) {
  #l_nav {
    background: #1b1b1b; }
    #l_nav .l_inner {
      background: #1b1b1b; }
    #l_nav ul {
      margin: 0; }
    #l_nav .m_nav_btn {
      display: none; }
    #l_nav li {
      float: left;
      width: 25%;
      height: 70px;
      line-height: 70px;
      text-align: center;
      -webkit-transition: -webkit-transform 0.3s, all 0.3s;
      -moz-transition: -moz-transform 0.3s, all 0.3s;
      transition: transform 0.3s, all 0.3s; }
      #l_nav li a {
        display: block;
        color: #fff;
        text-decoration: none;
        font-size: 15px; }
        #l_nav li a:hover {
          color: #ff0000; }
        #l_nav li a > span {
          display: inline-block;
          width: 100%;
          height: 30px;
          line-height: 30px;
          border-left: 1px solid #4d4d4d;
          vertical-align: middle;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -ms-box-sizing: border-box;
          -o-box-sizing: border-box;
          box-sizing: border-box;
          -webkit-transition: -webkit-transform 0.3s, all 0.3s;
          -moz-transition: -moz-transform 0.3s, all 0.3s;
          transition: transform 0.3s, all 0.3s; }
        #l_nav li a span span {
          padding-bottom: 2px; }
          #l_nav li a span span.m_btn_request {
            background: #ff0000;
            display: block;
            margin-top: -2px;
            margin-left: 35px;
            border-bottom: none;
            padding: 2px 0;
            color: #fff;
            -webkit-transition: -webkit-transform 0.3s, background-color 0.3s;
            -moz-transition: -moz-transform 0.3s, all 0.3s;
            transition: transform 0.3s, background-color 0.3s; }
        #l_nav li a:hover .m_btn_request {
          background: #d10606; }
      #l_nav li.is_active a span span {
        color: #ff0000;
        border-bottom: 2px solid #ff0000; } }

@media only screen and (max-width: 768px) {
  .is_fixed {
    position: static;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 20; }
    .is_fixed #l_nav li {
      height: 50px;
      line-height: 49px; }
      .is_fixed #l_nav li a {
        font-size: 13px; }
        .is_fixed #l_nav li a > span {
          height: 20px;
          line-height: 20px; }
  #l_nav {
    background: #000; }
    #l_nav .m_nav_btn {
      position: absolute;
      display: block;
      right: 0;
      top: 0;
      width: 45px;
      height: 45px;
      background: #000; }
      #l_nav .m_nav_btn span {
        display: block;
        color: #fff;
        margin: 11px 0 0 12px; }
    #l_nav .m_nav_list {
      display: none; }
      #l_nav .m_nav_list.is_active {
        width: 100%;
        position: absolute;
        top: 45px;
        left: 0;
        z-index: 10;
        overflow: hidden; }
    #l_nav ul {
      margin: 0 -1px; }
    #l_nav li {
      position: relative;
      float: left;
      width: 50%;
      height: 50px;
      background: #777; }
      #l_nav li.is_active a {
        color: #ff0000; }
      #l_nav li.btn_red a {
        background: #ff0000; }
    #l_nav a {
      padding: 0 4%;
      display: block;
      font-size: 13px;
      line-height: 49px;
      color: #fff;
      background: #000;
      border-left: 1px solid #777; }
      #l_nav a:after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        width: 45px;
        height: 50px;
        background: url(/common/img/sp/ico_ar_r_red.png) no-repeat center center;
        background-size: 12px 12px; }
    #l_nav .btn_red a:after {
      background: url(/common/img/sp/ico_ar_r_white.png) no-repeat center center;
      background-size: 12px 12px; } }

.is_fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 45px;
  z-index: 20; }
  .is_fixed #l_nav li {
    height: 45px;
    line-height: 45px; }
    .is_fixed #l_nav li a {
      font-size: 14px; }
      .is_fixed #l_nav li a > span {
        height: 20px;
        line-height: 20px; }

#l_sub_nav {
  clear: both;
  background: rgba(255, 255, 255, 0.92); }

.ie8 #l_sub_nav {
  background: url(/common/img/bg_subnav.png) repeat left top;
  margin: 0; }

#l_sub_nav ul {
  display: table;
  width: 100%;
  margin: 0; }

#l_sub_nav li {
  display: table-cell;
  height: 70px;
  text-align: center;
  vertical-align: middle; }
  #service #l_sub_nav li {
    width: 16.6%; }
  #card #l_sub_nav li {
    width: 20%; }

#l_sub_nav li a {
  display: inline-block;
  text-decoration: none;
  font-size: 14px;
  line-height: 20px;
  -webkit-transition: -webkit-transform 0.3s, color 0.3s;
  -moz-transition: -moz-transform 0.3s, color 0.3s;
  transition: transform 0.3s, color 0.3s; }
  #l_sub_nav li a:hover {
    color: #ff0000; }

#l_sub_nav li.is_active a {
  color: #ff0000;
  font-weight: bold; }

.is_fixed #l_sub_nav li {
  height: 50px; }
  .is_fixed #l_sub_nav li a {
    line-height: 17px;
    font-size: 13px; }

@media only screen and (max-width: 768px) {
  #l_sub_nav {
    display: none; } }

#l_footer {
  margin: 0;
  min-width: 980px;
  background: #e1e1e1; }
  #l_footer ul, #l_footer dl {
    margin-bottom: 0; }

#m_footer_pagetop {
  text-align: center; }
  #m_footer_pagetop .l_inner {
    width: auto;
    min-width: 980px; }
  #m_footer_pagetop a {
    display: block;
    height: 65px;
    line-height: 65px;
    font-weight: bold;
    font-size: 12px; }
    #m_footer_pagetop a:before {
      content: "";
      display: inline-block;
      width: 12px;
      height: 12px;
      padding-right: 10px;
      background: url(/common/img/ico_pagetop.png) no-repeat left top; }

#l_footer_nav {
  border-top: 1px solid #c8c8c8;
  padding: 45px 0 35px;
  margin: 0; }
  #l_footer_nav .l_row {
    margin: 0 -10px; }
  #l_footer_nav .l_col {
    width: 25%; }
  #l_footer_nav .l_col_inner {
    padding: 0 10px; }
  #l_footer_nav .m_fnav_head {
    margin-bottom: 10px;
    border-bottom: 1px solid #c8c8c8;
    line-height: 45px;
    font-size: 15px;
    font-weight: bold; }
    #l_footer_nav .m_fnav_head a {
      background: url(/common/img/ico_ar_r_red.png) no-repeat left center;
      padding: 1px 0 0 20px; }
  #l_footer_nav .m_fnav_link {
    font-size: 14px;
    line-height: 28px; }
    #l_footer_nav .m_fnav_link a {
      background: url(/common/img/ico_ar_r_gray.png) no-repeat left center;
      padding: 0 0 0 20px; }
  #l_footer_nav .m_fnav_link br {
    display: none; }

.m_footer_id {
  height: 150px;
  background: #fff; }

#m_footer_logo {
  float: left;
  height: 150px; }

#m_footer_logo a {
  line-height: 150px; }

#m_footer_logo img {
  width: 173px;
  vertical-align: middle; }

#m_copyright {
  float: right;
  line-height: 150px; }

#m_copyright small {
  font-size: 12px;
  color: #646464; }

#m_copyright br {
  display: none; }

@media only screen and (max-width: 768px) {
  #l_footer {
    min-width: 0; }
  #m_footer_pagetop .l_inner {
    width: auto;
    min-width: inherit; }
  #m_footer_pagetop a {
    height: 50px;
    line-height: 50px; }
    #m_footer_pagetop a:before {
      content: "";
      display: inline-block;
      width: 12px;
      height: 12px;
      padding-right: 10px;
      background: url(/common/img/ico_pagetop.png) no-repeat left top; }
  #l_footer_nav {
    border-top: 1px solid #c8c8c8;
    margin-bottom: -1px;
    overflow: hidden;
    padding: 0; }
    #l_footer_nav .l_inner {
      width: 100%; }
    #l_footer_nav .l_row {
      margin: 0; }
    #l_footer_nav .l_col {
      width: auto; }
    #l_footer_nav .l_col_inner {
      padding: 0; }
    #l_footer_nav .m_fnav_sub {
      margin-right: -1px; }
    #l_footer_nav .m_fnav_head {
      position: relative;
      margin-bottom: 0;
      border-bottom: 1px solid #bebebe;
      line-height: inherit;
      font-size: 13px;
      font-weight: bold; }
      #l_footer_nav .m_fnav_head a {
        display: table;
        background: #000;
        padding: 0;
        height: 45px;
        width: 100%;
        color: #fff; }
      #l_footer_nav .m_fnav_head span {
        display: table-cell;
        vertical-align: middle;
        padding: 0 2%;
        line-height: 1; }
        #l_footer_nav .m_fnav_head span:after {
          content: "";
          display: block;
          position: absolute;
          right: 0;
          top: 0;
          width: 45px;
          height: 45px;
          border-left: 1px solid #bebebe;
          background: url(/common/img/sp/ico_ar_r_red.png) no-repeat center center;
          background-size: 12px 12px; }
      #l_footer_nav .m_fnav_head.l_toggle_head span:after {
        background: url(/common/img/sp/ico_plus.png) no-repeat center center;
        background-size: 12px 12px; }
      #l_footer_nav .m_fnav_head.l_toggle_head.is_active span:after {
        background: url(/common/img/sp/ico_minus.png) no-repeat center center;
        background-size: 12px 12px; }
    #l_footer_nav .m_btn_request .m_fnav_head a {
      background: #ff0000; }
    #l_footer_nav .m_fnav_sub .m_fnav_head {
      width: 50%;
      float: left;
      font-size: 11px;
      font-weight: normal; }
      #l_footer_nav .m_fnav_sub .m_fnav_head a {
        color: #333;
        background: #e5e5e5;
        height: 41px;
        line-height: 41px; }
      #l_footer_nav .m_fnav_sub .m_fnav_head span {
        display: table-cell;
        vertical-align: middle;
        padding: 0 4%;
        border-right: 1px solid #bebebe; }
        #l_footer_nav .m_fnav_sub .m_fnav_head span:after {
          border: none;
          height: 41px;
          background: url(/common/img/sp/ico_ar_r_gray.png) no-repeat center center;
          background-size: 12px 12px; }
    #l_footer_nav .m_fnav_link {
      position: relative;
      font-size: 12px;
      display: inherit;
      border-bottom: 1px solid #bebebe;
      background: #fff; }
      #l_footer_nav .m_fnav_link a {
        display: block;
        line-height: 40px;
        background: none;
        padding: 0 2%; }
        #l_footer_nav .m_fnav_link a:after {
          content: "";
          display: block;
          position: absolute;
          right: 0;
          top: 0;
          width: 45px;
          height: 39px;
          background: url(/common/img/sp/ico_ar_r_red.png) no-repeat center center;
          background-size: 12px 12px; }
    #l_footer_nav .l_toggle_cont {
      display: none; }
    #l_footer_nav .m_fnav_link br {
      display: none; }
  .m_footer_id {
    height: auto;
    background: #fff; }
  #m_footer_logo {
    float: none;
    height: auto;
    text-align: center;
    padding: 15px 0; }
  #m_footer_logo a {
    line-height: inherit; }
  #m_footer_logo img {
    width: 115px;
    vertical-align: top; }
  #m_copyright {
    float: none;
    line-height: inherit;
    text-align: center;
    margin-bottom: 25px; }
  #m_copyright small {
    font-size: 10px;
    color: #646464;
    line-height: inherit; }
  #m_copyright br {
    display: block; } }

/*---------------------*/
/* icons
/*---------------------*/
.m_ico_blank {
  background: url(/common/img/ico_blank.png) no-repeat right center;
  padding: 1px 20px 0 0; }

.m_ico_r {
  background-position: right center; }

.m_ico_l {
  background-position: left center; }

.m_ico_ar_r_red {
  background-image: url(/common/img/ico_ar_r_red.png);
  background-repeat: no-repeat; }

.m_ico_ar_red a span {
  padding: 15px 15px 15px 35px; }

.m_ico_ar_white a span {
  padding: 15px 15px 15px 35px; }

.m_ico_ar_inl_red:before {
  content: "";
  display: inline-block;
  position: static;
  width: 12px;
  height: 12px;
  margin-right: 10px;
  background: url(/common/img/ico_ar_r_red.png) no-repeat center center; }

.m_btn a {
  position: relative;
  display: table;
  margin: 0 auto;
  background: #434749;
  color: #fff;
  -webkit-transition: -webkit-transform 0.3s, all 0.3s;
  -moz-transition: -moz-transform 0.3s, all 0.3s;
  transition: transform 0.3s, all 0.3s; }
  .m_btn a:hover {
    background: #2a2d2f;
    text-decoration: none; }
.m_btn.m_btn_red a {
  background: #ff0000; }
  .m_btn.m_btn_red a:hover {
    text-decoration: none;
    color: #fff;
    background: #d10606; }
.m_btn.m_btn_white a span, .m_btn.m_btn_white button {
  background: #fff;
  border: 1px solid #c8c8c8;
  color: #333;
  padding: 14px; }
  @media only screen and (max-width: 768px) {
    .m_btn.m_btn_white a span, .m_btn.m_btn_white button {
      padding: 14px 14px 14px 34px; } }
.m_btn span {
  min-width: 220px;
  padding: 15px;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  font-size: 15px; }
  @media only screen and (max-width: 768px) {
    .m_btn span {
      min-width: 160px;
      font-size: 12px;
      padding: 15px 15px 15px 35px; } }
  @media only screen and (max-width: 768px) {
    .m_btn span.m_ico_ar_inl_red {
      padding: 15px 15px 15px 15px; } }
.m_btn button {
  position: relative;
  min-width: 240px;
  padding: 15px;
  border: none;
  background: #434749;
  color: #fff;
  outline: none;
  font-size: 15px; }
  @media only screen and (max-width: 768px) {
    .m_btn button {
      min-width: 160px;
      font-size: 12px;
      padding: 15px 15px 15px 35px; } }
@media only screen and (max-width: 768px) {
  .m_btn.m_ico_right button {
    padding: 15px 35px 15px 15px; } }


/* UNIQUE STYLE
----------------------------*/
#card_service .m_card_nav dd{
  line-height: 1.3;
}

#card_apply.is-col1 li{
  float: none;
  margin: 0 auto;
}

.tpl-list-indent{
  text-indent: -1em;
  margin-left: 1em;
}
.tpl-list-indent li + li{
  margin-top: 10px;
}

.marT1{
  margin-top: 1.25em;
}



.m_ico_ar_red a:before, .m_ico_ar_red button:before {
  content: "";
  display: block;
  position: absolute;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  top: 50%;
  left: 20px;
  background: url(/common/img/ico_ar_r_red.png) no-repeat center center; }

.m_ico_ar_red_prev a:before, .m_ico_ar_red_prev button:before {
  background: url(/common/img/ico_ar_l_red.png) no-repeat center center; }

.m_ico_right a:before, .m_ico_right button:before {
  left: auto;
  right: 20px; }

.m_ico_ar_white a:before {
  content: "";
  display: block;
  position: absolute;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  top: 50%;
  left: 20px;
  background: url(/common/img/ico_ar_r_white.png) no-repeat center center; }

#notfound .m_ico_ar_white a {
  padding: 0; }

/*---------------------*/
/* plugins
/*---------------------*/
/*! Generated at Mon Jan 26 2015 17:10:13 GMT+0900 (JST). Included icons: plus, times */
/*! 
 * Marka - v0.3.1 
 * http://fian.my.id/marka 
 * 
 * Copyright 2014 Alfiana E. Sibuea and other contributors 
 * Released under the MIT license 
 * https://github.com/fians/marka/blob/master/LICENSE 
 */
/* Core style */
.marka {
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  -webkit-transition: all 500ms;
  -moz-transition: all 500ms;
  -o-transition: all 500ms;
  transition: all 500ms; }

.marka i {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: #000000;
  -webkit-transition: all 500ms;
  -moz-transition: all 500ms;
  -o-transition: all 500ms;
  transition: all 500ms; }

.marka.marka-set i {
  opacity: 1; }

.marka.marka-rotate-right {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg); }

.marka.marka-rotate-left {
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg); }

.marka.marka-rotate-down {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }

.marka.marka-icon-empty {
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0); }

/* Plus icon */
.marka.marka-icon-plus i {
  -webkit-transform: scale(0.9, 0.11);
  -moz-transform: scale(0.9, 0.11);
  -ms-transform: scale(0.9, 0.11);
  -o-transform: scale(0.9, 0.11);
  transform: scale(0.9, 0.11); }

.marka.marka-icon-plus i:nth-child(2) {
  -webkit-transform: rotate(90deg) scale(0.9, 0.11);
  -moz-transform: rotate(90deg) scale(0.9, 0.11);
  -ms-transform: rotate(90deg) scale(0.9, 0.11);
  -o-transform: rotate(90deg) scale(0.9, 0.11);
  transform: rotate(90deg) scale(0.9, 0.11); }

/* Times icon */
.marka.marka-icon-times i {
  -webkit-transform: rotate(45deg) scale(0.9, 0.11);
  -moz-transform: rotate(45deg) scale(0.9, 0.11);
  -ms-transform: rotate(45deg) scale(0.9, 0.11);
  -o-transform: rotate(45deg) scale(0.9, 0.11);
  transform: rotate(45deg) scale(0.9, 0.11); }

.marka.marka-icon-times i:nth-child(2) {
  -webkit-transform: rotate(-45deg) scale(0.9, 0.11);
  -moz-transform: rotate(-45deg) scale(0.9, 0.11);
  -ms-transform: rotate(-45deg) scale(0.9, 0.11);
  -o-transform: rotate(-45deg) scale(0.9, 0.11);
  transform: rotate(-45deg) scale(0.9, 0.11); }

/* Bars icon */
.marka.marka-icon-bars i {
  -webkit-transform: scale(0.9, 0.11);
  -moz-transform: scale(0.9, 0.11);
  -ms-transform: scale(0.9, 0.11);
  -o-transform: scale(0.9, 0.11);
  transform: scale(0.9, 0.11); }

.marka.marka-icon-bars i:nth-child(2) {
  -webkit-transform: scale(0.9, 0.11) translate(0%, -250%);
  -moz-transform: scale(0.9, 0.11) translate(0%, -250%);
  -ms-transform: scale(0.9, 0.11) translate(0%, -250%);
  -o-transform: scale(0.9, 0.11) translate(0%, -250%);
  transform: scale(0.9, 0.11) translate(0%, -250%); }

.marka.marka-icon-bars i:nth-child(3) {
  -webkit-transform: scale(0.9, 0.11) translate(0%, 250%);
  -moz-transform: scale(0.9, 0.11) translate(0%, 250%);
  -ms-transform: scale(0.9, 0.11) translate(0%, 250%);
  -o-transform: scale(0.9, 0.11) translate(0%, 250%);
  transform: scale(0.9, 0.11) translate(0%, 250%); }

