@charset "UTF-8";
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/* 
   add
   ========================================================================== */
nav ul li,
nav ol li {
  list-style: none; }

dl,
dt,
dd,
ul,
ol,
li {
  padding: 0;
  margin: 0; }

/*ul,
ol ul li {
    list-style: none;
}*/
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* tool */
/* font */
/* color */
/* mixin */
/* base */
html {
  font-size: 62.5%;
  /*10px*/ }

body {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.0;
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  margin: 0;
  background: #fff;
  color: #1a1b1f;
  text-align: center;
  -webkit-font-smoothreasoning: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%; }

/* tb pc */
@media screen and (min-width: 768px), print {
  body {
    font-size: 16px;
    font-size: 1.6rem; } }
@media screen and (min-width: 1280px), print {
  body {
    overflow-x: hidden; } }
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

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

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

hr {
  clear: both;
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #000;
  margin: 48px 0 24px;
  padding: 0; }

audio, canvas, iframe, svg, video {
  vertical-align: middle; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

textarea {
  resize: vertical; }

em {
  font-style: normal; }

img {
  vertical-align: top; }

/* clearfix */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  * zoom: 1; }

.clear {
  clear: both; }

/* ==========================================================================
Author's custom styles
========================================================================== */
a {
  color: #8bc708;
  text-decoration: underline; }

a:hover {
  text-decoration: none; }

/*a:focus {outline: 2px solid #F8931F; }*/
#wrap {
  text-align: left; }

@media screen and (max-width: 767px) {
  #wrap {
    position: relative; } }
/* ==========================================================================
utility
========================================================================== */
/* utility */
img.res {
  width: auto;
  max-width: 100%;
  height: auto; }

img.org {
  width: auto;
  height: auto; }

/*@media screen and (max-width: ($breakpoints-sp-max-width)) {
  img.res{width:100%;max-width:100%; height:auto;}
  img,video{width:auto;max-width:100%; height:auto;}
}*/
@media screen and (max-width: 767px) {
  a, td, th, .main {
    word-break: break-all; }

  img.res {
    width: 100%;
    max-width: 100%;
    height: auto; }

  img, video {
    width: auto;
    max-width: 100%;
    height: auto; } }
@media screen and (min-width: 768px), print {
  a img {
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }

  a:hover img,
  a:focus img {
    opacity: 0.7;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; } }
/* ================================================================
media display
================================================================ */
/* sp -767px */
@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }
/* tablet/pc 768px- */
@media screen and (min-width: 768px), print {
  .sp {
    display: none !important; } }
/* ================================================================
Vertical Space Default Setting
================================================================ */
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table {
  margin-bottom: 0; }

/* ---- Nesting ---- */
li > p:first-child, li > ul:first-child, li > ol:first-child, li > dl:first-child, li > table:first-child,
dd > p:first-child, dd > ul:first-child, dd > ol:first-child, dd > dl:first-child, dd > table:first-child,
td > p:first-child, td > ul:first-child, td > ol:first-child, td > dl:first-child, td > table:first-child,
header > p, header > ul, header > ol, header > dl, header > table,
footer > p, footer > ul, footer > ol, footer > dl, footer > table,
nav > p, nav > ul, nav > ol, nav > dl, nav > table {
  margin-top: 0; }

/* ================================================================
Space Setting
================================================================ */
.mt0 {
  margin-top: 0 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mt1em {
  margin-top: 1em !important; }

.mr1em {
  margin-right: 1em !important; }

.mb1em {
  margin-bottom: 1em !important; }

.ml1em {
  margin-left: 1em !important; }

.pt1em {
  padding-top: 1em !important; }

.pr1em {
  padding-right: 1em !important; }

.pb1em {
  padding-bottom: 1em !important; }

.pl1em {
  padding-left: 1em !important; }

.m0 {
  margin: 0 !important; }

.m5 {
  margin: 5px !important; }

.m10 {
  margin: 10px !important; }

.m15 {
  margin: 15px !important; }

.m20 {
  margin: 20px !important; }

.m30 {
  margin: 30px !important; }

.m40 {
  margin: 40px !important; }

.m50 {
  margin: 50px !important; }

.m60 {
  margin: 60px !important; }

.m70 {
  margin: 70px !important; }

.m80 {
  margin: 80px !important; }

.m90 {
  margin: 90px !important; }

.m100 {
  margin: 100px !important; }

.p0 {
  padding: 0 !important; }

.p5 {
  padding: 5px !important; }

.p10 {
  padding: 10px !important; }

.p15 {
  padding: 15px !important; }

.p20 {
  padding: 20px !important; }

.p30 {
  padding: 30px !important; }

/* sp -767px */
@media screen and (max-width: 767px) {
  .sp-mt0 {
    margin-top: 0 !important; }

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

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

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

  .sp-pt0 {
    padding-top: 0 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .sp-mt100 {
    margin-top: 100px !important; } }
/* ================================================================
width
================================================================ */
.w100p {
  width: 100% !important; }

.w90p {
  width: 90% !important; }

.w80p {
  width: 80% !important; }

.w80p {
  width: 80% !important; }

.w70p {
  width: 70% !important; }

.w70p {
  width: 70% !important; }

.w60p {
  width: 60% !important; }

.w60p {
  width: 60% !important; }

.w50p {
  width: 50% !important; }

.w45p {
  width: 45% !important; }

.w40p {
  width: 40% !important; }

.w35p {
  width: 35% !important; }

.w30p {
  width: 30% !important; }

.w25p {
  width: 25% !important; }

.w20p {
  width: 20% !important; }

.w16p {
  width: 16.66666666% !important; }

.w15p {
  width: 15% !important; }

.w10p {
  width: 10% !important; }

/* sp -767px */
@media screen and (max-width: 767px) {
  .sp-w100p {
    width: 100% !important; }

  .sp-w90p {
    width: 90% !important; }

  .sp-w80p {
    width: 80% !important; }

  .sp-w75p {
    width: 75% !important; }

  .sp-w70p {
    width: 70% !important; }

  .sp-w65p {
    width: 65% !important; }

  .sp-w60p {
    width: 60% !important; }

  .sp-w55p {
    width: 55% !important; }

  .sp-w50p {
    width: 50% !important; }

  .sp-w45p {
    width: 45% !important; }

  .sp-w40p {
    width: 40% !important; }

  .sp-w35p {
    width: 35% !important; }

  .sp-w30p {
    width: 30% !important; }

  .sp-w25p {
    width: 25% !important; }

  .sp-w20p {
    width: 20% !important; }

  .sp-w16p {
    width: 16.6666666% !important; }

  .sp-w15p {
    width: 15% !important; }

  .sp-w10p {
    width: 10% !important; }

  .sp-w5p {
    width: 5% !important; } }
/* tablet/pc 835px- */
@media screen and (min-width: 768px), print {
  .pc-w100p {
    width: 100% !important; }

  .pc-w90p {
    width: 90% !important; }

  .pc-w85p {
    width: 85% !important; }

  .pc-w80p {
    width: 80% !important; }

  .pc-w75p {
    width: 75% !important; }

  .pc-w70p {
    width: 70% !important; }

  .pc-w65p {
    width: 65% !important; }

  .pc-w60p {
    width: 60% !important; }

  .pc-w55p {
    width: 55% !important; }

  .pc-w50p {
    width: 50% !important; }

  .pc-w45p {
    width: 45% !important; }

  .pc-w40p {
    width: 40% !important; }

  .pc-w35p {
    width: 35% !important; }

  .pc-w30p {
    width: 30% !important; }

  .pc-w25p {
    width: 25% !important; }

  .pc-w20p {
    width: 20% !important; }

  .pc-w16p {
    width: 16.66666666% !important; }

  .pc-w15p {
    width: 15% !important; }

  .pc-w10p {
    width: 10% !important; } }
/* ================================================================
min-height
================================================================ */
.minheight-1em {
  min-height: 1em; }

.minheight-2em {
  min-height: 2em; }

.minheight-3em {
  min-height: 3em; }

.minheight-4em {
  min-height: 4em; }

.minheight-5em {
  min-height: 5em; }

.minheight-6em {
  min-height: 6em; }

.minheight-7em {
  min-height: 7em; }

.minheight-8em {
  min-height: 8em; }

.minheight-9em {
  min-height: 9em; }

.minheight-10em {
  min-height: 10em; }

.minheight-15em {
  min-height: 15em; }

.minheight-20em {
  min-height: 20em; }

.minheight-25em {
  min-height: 25em; }

.minheight-30em {
  min-height: 30em; }

.minheight-40em {
  min-height: 40em; }

/* ================================================================
height
================================================================ */
.height-1em {
  height: 1em; }

.height-2em {
  height: 2em; }

.height-3em {
  height: 3em; }

.height-4em {
  height: 4em; }

.height-5em {
  height: 5em; }

.height-6em {
  height: 6em; }

.height-7em {
  height: 7em; }

.height-8em {
  height: 8em; }

.height-9em {
  height: 9em; }

.height-10em {
  height: 10em; }

/* ================================================================
font-size
================================================================ */
/* ----------------------------------------------------------------
font
---------------------------------------------------------------- */
.f48 {
  font-size: 48px;
  font-size: 4.8rem !important; }

.f40 {
  font-size: 40px;
  font-size: 4.0rem !important; }

.f32 {
  font-size: 32px;
  font-size: 3.2rem !important; }

.f30 {
  font-size: 30px;
  font-size: 3.0rem !important; }

.f28 {
  font-size: 28px;
  font-size: 2.8rem !important; }

.f26 {
  font-size: 26px;
  font-size: 2.6rem !important; }

.f24 {
  font-size: 24px;
  font-size: 2.4rem !important; }

.f22 {
  font-size: 22px;
  font-size: 2.2rem !important; }

.f20 {
  font-size: 20px;
  font-size: 2.0rem !important; }

.f18 {
  font-size: 18px;
  font-size: 1.8rem !important; }

.f17 {
  font-size: 17px;
  font-size: 1.7rem !important; }

.f16 {
  font-size: 16px;
  font-size: 1.6rem !important; }

.f15 {
  font-size: 15px;
  font-size: 1.5rem !important; }

.f14 {
  font-size: 14px;
  font-size: 1.4rem !important; }

.f13 {
  font-size: 13px;
  font-size: 1.3rem !important; }

.f12 {
  font-size: 12px;
  font-size: 1.2rem !important; }

.f11 {
  font-size: 11px;
  font-size: 1.1rem !important; }

.f10 {
  font-size: 10px;
  font-size: 1.0rem !important; }

/* sp -767px */
@media screen and (max-width: 767px) {
  .sp-f32 {
    font-size: 32px;
    font-size: 3.2rem !important; }

  .sp-f30 {
    font-size: 30px;
    font-size: 3.0rem!important; }

  .sp-f28 {
    font-size: 28px;
    font-size: 2.8rem!important; }

  .sp-f26 {
    font-size: 26px;
    font-size: 2.6rem!important; }

  .sp-f24 {
    font-size: 24px;
    font-size: 2.4rem !important; }

  .sp-f22 {
    font-size: 22px;
    font-size: 2.2rem !important; }

  .sp-f20 {
    font-size: 20px;
    font-size: 2.0rem !important; }

  .sp-f18 {
    font-size: 18px;
    font-size: 1.8rem !important; }

  .sp-f17 {
    font-size: 17px;
    font-size: 1.7rem !important; }

  .sp-f16 {
    font-size: 16px;
    font-size: 1.6rem !important; }

  .sp-f15 {
    font-size: 15px;
    font-size: 1.5rem !important; }

  .sp-f14 {
    font-size: 14px;
    font-size: 1.4rem !important; }

  .sp-f13 {
    font-size: 13px;
    font-size: 1.3rem !important; }

  .sp-f12 {
    font-size: 12px;
    font-size: 1.2rem !important; }

  .sp-f11 {
    font-size: 11px;
    font-size: 1.1rem !important; }

  .sp-f10 {
    font-size: 10px;
    font-size: 1.0rem !important; }

  .sp-f9 {
    font-size: 9px;
    font-size: 0.9rem !important; }

  .sp-f8 {
    font-size: 8px;
    font-size: 0.8rem !important; }

  .sp-f7 {
    font-size: 7px;
    font-size: 0.7rem !important; } }
/* layout */
/* ================================================================
header
================================================================ */
.header * {
  margin: 0;
  padding: 0; }

.header {
  background-color: #fff;
  color: #757987; }

@media screen and (max-width: 767px) {
  .header {
    position: fixed;/* headerFIX */
    z-index: 100;/* headerFIX */
  }
}
@media screen and (min-width: 768px), print {
  .header {
    height: 120px; } }
/*============================
tagline
============================*/
div.tagline {
  width: 100%; }
  div.tagline div.tagline-in {
    width: 100%;
    height: 110px;
    padding: 0;
    margin: 0;
    position: relative; }

@media screen and (min-width: 768px), print {
  div.tagline div.tagline-in {
    width: 1280px;
    height: 80px;
    padding: 0 40px;
    margin: 0 auto; } }
/*============================
h1.ci
============================*/
h1.ci,
.ci {
  width: 245px;
  position: absolute;
  top: 10px;
  left: 15px; }
  h1.ci span.h-ci a,
  .ci span.h-ci a {
    display: block; }
    h1.ci span.h-ci a img.ci1,
    .ci span.h-ci a img.ci1 {
      position: absolute;
      top: 0;
      left: 0;
      width: 83px;
      height: auto; }
    h1.ci span.h-ci a img.ci2,
    .ci span.h-ci a img.ci2 {
      position: absolute;
      top: 25px;
      left: 0;
      width: 245px;
      height: auto; }

@media screen and (min-width: 768px), print {
  h1.ci,
  .ci {
    width: 493px;
    top: 25px;
    left: 40px; }
    h1.ci span.h-ci a img.ci1,
    .ci span.h-ci a img.ci1 {
      width: 134px; }
    h1.ci span.h-ci a img.ci2,
    .ci span.h-ci a img.ci2 {
      top: 0;
      left: 160px;
      width: 324px; } }
/*============================
header-utility
============================*/
@media screen and (min-width: 768px), print {
  div.header-utility {
    position: absolute;
    top: 12px;
    right: 40px;
    width: calc(100% - 550px); } }
/*============================
search
============================*/
/* search common */
.search {
  padding: 0;
  z-index: 1; }

.search form {
  position: relative;
  width: 100%;
  height: 50px;
  margin: 0;
  padding: 0;
  vertical-align: top;
  line-height: 0; }

.search form input {
  margin: 0;
  padding: 0;
  vertical-align: top;
  line-height: 0; }

.search form input[type="hidden"] {
  display: none; }

.search form input.tt {
  position: absolute;
  top: 0;
  left: 10px;
  width: calc(80% - 10px);
  height: 50px;
  line-height: 50px;
  background-color: transparent !important;
  color: #333;
  font-size: 1.6rem;
  font-family: inherit;
  border-radius: 0;
  border: 0 !important;
  outline: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none; }

@media screen and (min-width: 768px), print {
  .search form input.tt {
    font-size: 1.4rem; } }
/* placeholder */
/* css4 */
:placeholder-shown {
  color: #666; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #666; }

/* Firefox 19+ */
::-moz-placeholder {
  color: #666;
  opacity: 1; }

/* IE 10+ */
:-ms-input-placeholder {
  color: #666; }

.search form input.tt:focus {
  outline: thin auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
  border: 1px dotted #000 !important; }

.search form input#sb {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  margin: auto;
  width: 20%;
  height: 50px;
  line-height: 1.0;
  border-radius: 0;
  cursor: pointer;
  -webkit-appearance: none;
  text-align: center;
  font-size: 1.5rem;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #757987;
  background-color: transparent;
  border: 0; }

.search form input.sb:focus {
  color: #fff;
  background-color: #000; }

/* sp -767px */
@media screen and (max-width: 767px) {
  .search-lay {
    padding: 40px 16px 20px; }
    .search-lay div.search {
      background-color: #fff;
      border-radius: 25px; } }
@media screen and (min-width: 768px), print {
  /* parent > width=1200px */
  .search-lay {
    width: 1200px;
    margin: 0 auto; }
    .search-lay div.search {
      position: relative;
      top: 10px;
      left: auto;
      margin: -80px 0 50px 700px;
      width: 240px;
      height: 30px;
      background-color: #F3F5F7;
      border-radius: 15px;
      z-index: 1; }

  .search form {
    height: 30px; }

  .search form input.tt {
    width: 190px;
    height: 30px;
    line-height: 30px; }

  .search form input#sb {
    width: 40px;
    height: 30px; } }
/*============================
rnav-lang
============================*/
.rnav-lang {
  position: absolute;
  top: 62px;
  left: 15px; }

/* tb pc */
@media screen and (min-width: 768px), print {
  .rnav-lang {
    position: absolute;
    top: 0;
    left: auto;
    right: 0; } }
/*============================
rnav-relation
============================*/
/* sp */
.rnav-relation-pc {
  display: none; }

/* tb pc */
@media screen and (min-width: 768px), print {
  .rnav-relation-pc {
    display: block;
    position: absolute;
    top: 30px;
    right: 0; } }
.rnav-relation-sp {
  margin: 16px 16px 40px;
  text-align: center; }

/* tb pc */
@media screen and (min-width: 768px), print {
  .rnav-relation-sp {
    display: none; } }
/*============================
rnav
============================*/
.rnav {
  font-size: 0; }
  .rnav ul {
    font-size: 0;
    display: table;
    margin: 0 auto; }
    .rnav ul li {
      display: inline-block;
      padding: 0;
      margin: 0;
      font-size: 1.0rem; }
      .rnav ul li a {
        display: block;
        text-decoration: none;
        line-height: 48px;
        color: #757987; }
    .rnav ul li + li a:before {
      display: inline;
      content: "/";
      padding: 0 1em;
      color: #ced2da; }

/* tb pc */
@media screen and (min-width: 768px), print {
  .rnav ul {
    display: inline-block;
    margin: 0; }
    .rnav ul li {
      font-size: 1.2rem; }
      .rnav ul li a {
        line-height: 30px; }
    .rnav ul li + li a:before {
      padding: 0 .5em; }
  .rnav ul + ul {
    display: inline-block; }
    .rnav ul + ul li a:before {
      display: inline;
      content: "/";
      padding: 0 .3em;
      color: #ced2da; } }
/*============================
gnav
============================*/
/*============================
pc gnav-pc
============================*/
/* tab pc */
@media screen and (min-width: 768px), print {
  nav.nav.drawer-nav {
    border-top: 1px solid #ced2da;
    border-bottom: 1px solid #ced2da;
    padding: 0 40px; } }
/* sp -767px */
@media screen and (max-width: 767px) {
  .gnav-pc ul.drawer-menu {
    display: none; } }
/* tab pc */
@media screen and (min-width: 768px), print {
  .gnav-pc ul.drawer-menu {
    position: relative;
    width: 100%;
    height: 48px;
    width: 1200px;
    margin: 0 auto;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex; }

  .gnav-pc ul.drawer-menu li {
    padding: 0;
    margin: 0; }

  .gnav-pc ul.drawer-menu li a {
    display: block;
    text-decoration: none;
    color: #757987;
    background-color: #fff; }

  .gnav-pc ul.drawer-menu > li {
    width: 14.2857142857%;
    /* IE11 */
    flex: 0 1 14.2857142857%; }

  .gnav-pc ul.drawer-menu > li > a {
    text-align: center;
    color: #757987;
    height: 48px;
    line-height: 48px;
    vertical-align: top;
    padding: 0;
    font-size: 1.4rem;
    font-weight: 700; }

  .gnav-pc ul.drawer-menu > li > a:hover,
  .gnav-pc ul.drawer-menu > li.open-hover > a {
    color: #fff;
    background-color: #607f1d;
    height: 48px;
    background-color: #5F7E1D;
    -webkit-transition: all .5s;
    transition: all .5s; }

  .gnav-pc ul.drawer-menu > li.drawer-dropdown > ul.drawer-dropdown-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    position: absolute;
    top: 48px;
    left: -40px;
    box-sizing: border-box;
    width: calc(100% + 80px);
    padding: 1% 1%;
    padding: 0 1% 30px;
    background-color: #5F7E1D;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }

  .gnav-pc ul.drawer-menu > li.drawer-dropdown:hover > ul.drawer-dropdown-menu {
    visibility: visible;
    opacity: 1;
    z-index: 10; }

  .gnav-pc ul.drawer-menu > li.drawer-dropdown ul.drawer-dropdown-menu > li {
    width: 23%;
    /* IE11 */
    flex: 0 1 23%;
    margin: 6px 1% 0;
    border: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex; }

  .gnav-pc ul.drawer-menu > li.drawer-dropdown > ul.drawer-dropdown-menu > li > a {
    position: relative;
    padding: 8px 32px 8px 8px;
    line-height: 24px;
    min-height: 64px;
    font-size: 1.6rem;
    width: 100%;
    background-color: transparent;
    color: #fff;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid #f6f7f3;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    align-items: center; }

  .gnav-pc ul.drawer-menu > li.drawer-dropdown > ul.drawer-dropdown-menu > li > a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle; }

  .gnav-pc ul.drawer-menu > li.drawer-dropdown > ul.drawer-dropdown-menu > li > a[target="_blank"]:after {
    right: 4px;
    border: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    width: 20px;
    height: 20px;
    line-height: 1.0;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f35d"; }

  .gnav-pc ul.drawer-menu > li.drawer-dropdown > ul.drawer-dropdown-menu > li > a[href$=".pdf"]:after {
    right: 4px;
    border: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    width: 20px;
    height: 20px;
    line-height: 1.0;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f1c1"; } }
/* ================================================================
drawer sp
================================================================ */
/*!
 * jquery-drawer v3.2.2
 * Flexible drawer menu using jQuery, iScroll and CSS.
 * http://git.blivesta.com/drawer
 * License : MIT
 * Author : blivesta <design@blivesta.com> (http://blivesta.com/)
 */
/*!------------------------------------*\
    Base
\*!------------------------------------*/
/* sp -767px */
@media screen and (max-width: 767px) {
  .drawer-open {
    overflow: hidden !important;
    width: 100%;
    height: 100%; /*iphone FIX */
    /*position: fixed; no use headerFIX */
    }

  .drawer-nav {
    position: fixed;
    z-index: 101;
    top: 0;
    overflow: hidden;
    width: 100%; /* headerFIX */
    height: 100%;
    color: #222;
    background-color: #eaece3; }
    }
/*!------------------------------------*\
 overlay
\*!------------------------------------*/
/* sp -767px */
@media screen and (max-width: 767px) {
  /*! overlay */
  .drawer-overlay {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2); }

  .drawer-open .drawer-overlay {
    display: block; } }
/*!------------------------------------*\
    Top
\*!------------------------------------*/
/* sp -767px */
@media screen and (max-width: 767px) {
  .drawer--top .drawer-nav {
    top: -100%;
    left: 0;
    width: 100%;
    height: auto;
    max-height: 100%;
    -webkit-transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1); }

  .drawer--top.drawer-open .drawer-nav {
    top: 0;
    /* add Navbar 2018- ios bugfix */
    -webkit-overflow-scrolling: touch;
    overflow: auto; }

  .drawer--top.drawer-open .drawer-nav .drawer-area {
    /* add Navbar 2018- ios bugfix */
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    height: 100%; }

  .drawer--top.drawer-open .drawer-menu {
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    height: 100%; }

  .drawer--top .drawer-hamburger,
  .drawer--top.drawer-open .drawer-hamburger {
    right: 0; } }
/*!------------------------------------*\
    Hamburger
\*!------------------------------------*/
/* sp -767px */
@media screen and (max-width: 767px) {
  .drawer-hamburger {
    position: absolute;
    top: 25px;
    z-index: 104;
    display: block;
    box-sizing: content-box;
    width: 16px;
    height: 68px;
    padding: 0 21px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    border: 0;
    outline: 0;
    background-color: transparent; }

  .drawer-hamburger:hover {
    cursor: pointer;
    background-color: transparent; }

  .drawer-hamburger-icon {
    position: relative;
    display: block;
    margin-top: -6px; }

  /* add txtmenu */
  .drawer-hamburger-icon span {
    position: absolute;
    top: 12px;
    left: -8px;
    display: block;
    font-size: 12px;
    line-height: 12px;
    vertical-align: top;
    text-decoration: none;
    color: #1a1b1f;
    white-space: nowrap; }

  .drawer-hamburger-icon span.txt-close {
    display: none; }

  /* add txtmenu */
  .drawer-open .drawer-hamburger-icon span.txt-open {
    display: none; }

  .drawer-open .drawer-hamburger-icon span.txt-close {
    display: block; }

  .drawer-hamburger-icon,
  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    width: 100%;
    height: 1px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #222; }

  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    position: absolute;
    top: -6px;
    left: 0;
    content: ' '; }

  .drawer-hamburger-icon:after {
    top: 6px; }

  .drawer-open .drawer-hamburger-icon {
    background-color: transparent; }

  .drawer-open .drawer-hamburger-icon:before,
  .drawer-open .drawer-hamburger-icon:after {
    top: 0; }

  .drawer-open .drawer-hamburger-icon:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }

  .drawer-open .drawer-hamburger-icon:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); } }
/* tab pc */
@media screen and (min-width: 768px), print {
  .drawer-hamburger {
    display: none; } }
/*!------------------------------------*\
    accessibility
\*!------------------------------------*/
/*!
 * Only display content to screen readers
 * See: http://a11yproject.com/posts/how-to-hide-content
 */
/* sp -767px */
@media screen and (max-width: 767px) {
  .sr-only {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0; }

  /*!
   * Use in conjunction with .sr-only to only display content when it's focused.
   * Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
   * Credit: HTML5 Boilerplate
   */
  .sr-only-focusable:active,
  .sr-only-focusable:focus {
    position: static;
    overflow: visible;
    clip: auto;
    width: auto;
    height: auto;
    margin: 0; } }
/*!------------------------------------*\
    Navbar
\*!------------------------------------*/
/* sp -767px */
@media screen and (max-width: 767px) {
  /*.drawer--navbarTopGutter {
    padding-top: 3.75rem;
  }*/
  .drawer-navbar .drawer-navbar-header {
    border-bottom: 1px solid #ced2da;
    background-color: #fff; }

  .drawer-navbar {
    z-index: 102;
    top: 0;
    width: 100%; }

  /*! .drawer-navbar modifier */
  .drawer-navbar--fixed {
    position: fixed; }

  .drawer-navbar-header {
    position: relative;
    z-index: 102;
    box-sizing: border-box;
    width: 100%; }

  .drawer-open .drawer-navbar-header {
    top: 0;
    left: 0;
    position: fixed; }

  .drawer-navbar .drawer-brand:hover {
    background-color: transparent; }

  .drawer-navbar .drawer-nav {
    padding-top: 70px;
  }
  
}
/* tab pc */
@media screen and (min-width: 768px), print {
  .drawer-navbar .gnav-sp .drawer-menu {
    display: none; } }
/*============================
sp gnav-sp layout
============================*/
/*============================
1st
============================*/
/* sp -767px */
@media screen and (max-width: 767px) {
  ul.drawer-menu {
    width: 100%;
    margin: 0;
    padding: 0; }

  ul.drawer-menu li {
    margin-top: 0;
    list-style: none;
    line-height:0; }

  ul.drawer-menu a {
    text-decoration: none; }

  ul.drawer-menu > li {
    width: 100%; }

  ul.drawer-menu > li > a {
    position: relative;
    display: block;
    padding: 18px 16px;
    line-height: 24px;
    font-size: 1.4rem;
    font-weight: 700;
    width: 100%;
    background-color: #fff;
    color: #757987;
    text-align: left;
    border-bottom: 1px solid #ced2da; }

  ul.drawer-menu > li > a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #757987;
    border-right: 2px solid #757987;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle; }

  ul.drawer-menu > li > a[target="_blank"]:after {
    right: 8px;
    border: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    width: 20px;
    height: 20px;
    line-height: 1.0;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f35d"; }

  ul.drawer-menu > li > a[href$=".pdf"]:after {
    right: 10px;
    border: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    width: 20px;
    height: 20px;
    line-height: 1.0;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f1c1"; }

  ul.drawer-menu > li.drawer-dropdown > a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #757987;
    border-right: 2px solid #757987;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    vertical-align: middle; }

  ul.drawer-menu > li.open > a:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); } }
/*!------------------------------------*\
    Dropdown
\*!------------------------------------*/
/*============================
2nd
============================*/
/* sp -767px */
@media screen and (max-width: 767px) {
  .drawer-menu ul.drawer-dropdown-menu {
    display: none;
    width: 100%;
    min-width: 100%;
    margin: 0;
    padding: 0; }

  ul.drawer-dropdown-menu a {
    text-decoration: none; }

  ul.drawer-dropdown-menu li {
    margin-top: 0;
    list-style: none; }

  ul.drawer-dropdown-menu > li {
    width: 100%; }

  ul.drawer-dropdown-menu > li > a {
    position: relative;
    display: block;
    padding: 18px 32px 18px 32px;
    line-height: 24px;
    font-size: 1.4rem;
    width: 100%;
    border-bottom: 1px solid #ced2da;
    background-color: #f6f7f3;
    color: #757987;
    text-align: left; }

  ul.drawer-dropdown-menu > li > a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #757987;
    border-right: 2px solid #757987;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle; }

  ul.drawer-dropdown-menu > li > a[target="_blank"]:after {
    right: 8px;
    border: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    width: 20px;
    height: 20px;
    line-height: 1.0;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f35d"; }

  ul.drawer-dropdown-menu > li > a[href$=".pdf"]:after {
    right: 10px;
    border: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    width: 20px;
    height: 20px;
    line-height: 1.0;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f1c1"; }

  ul.drawer-menu > li.drawer-dropdown > a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #757987;
    border-right: 2px solid #757987;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    vertical-align: middle; }

  ul.drawer-menu > li.open > a:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

  /*! open */
  .drawer-dropdown.open > .drawer-dropdown-menu,
  .drawer-dropdown.open > li {
    display: block; } }
/* sp -767px */
@media screen and (max-width: 767px) {
  /*!------------------------------------*\
      Container
  \*!------------------------------------*/
  .drawer-container {
    margin-right: auto;
    margin-left: auto; } }
/* ================================================================
topicpath
================================================================ */
.topicpath {
  width: 100%;
  min-width: 320px;
  margin: 0;
  padding: 15px 10px 10px; }

@media screen and (min-width: 768px), print {
  .topicpath {
    margin: 0 auto 48px;
    padding: 0 40px;
    min-width: inherit;
    width: 1280px;
    text-align: right; } }
.topicpath ol {
  margin: 0;
  padding: 0;
  line-height: 1.3; }

.topicpath ol li {
  position: relative;
  display: inline-block;
  margin-top: 0;
  margin-right: 5px;
  font-size: 1.2rem;
  line-height: 1.3;
  vertical-align: middle; }

.topicpath ol li + li {
  padding-left: 18px; }

.topicpath ol li + li:before {
  position: absolute;
  display: block;
  top: 0.3em;
  left: 0;
  content: "";
  width: 0.7em;
  height: 0.7em;
  border-top: 1px solid #D6D6DE;
  border-right: 1px solid #D6D6DE;
  webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle; }

/* ================================================================
footer
================================================================ */
/*============================
footer1
============================*/
.footer1 {
  background-color: #fff;
  color: #1a1b1f;
  padding: 26px 10px;
  width: 100%;
  min-width: 320px; }

dl.footer-info {
  font-size: 1.3rem;
  line-height: 1.8; }
  dl.footer-info dt.f-ci {
    margin-bottom: 20px; }
    dl.footer-info dt.f-ci span.h-ci a img.ci1 {
      display: block;
      width: 84px;
      height: auto; }
    dl.footer-info dt.f-ci span.h-ci a img.ci2 {
      display: block;
      margin-top: 10px;
      width: auto;
      height: 24px; }
  dl.footer-info dd {
    margin-top: 4px; }
    dl.footer-info dd ul {
      display: table;
      margin: 0;
      padding: 0; }
      dl.footer-info dd ul li {
        list-style: none;
        position: relative;
        display: table-cell;
        margin: 0;
        padding: 0; }
        dl.footer-info dd ul li a {
          display: block;
          width: 48px;
          height: 48px;
          line-height: 48px;
          color: #757987;
          text-decoration: none;
          overflow: hidden;
          position: relative; }
          dl.footer-info dd ul li a:after {
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            margin: auto;
            width: 48px;
            height: 48px;
            line-height: 48px;
            text-align: center;
            font-size: 2.4rem;
            font-style: normal;
            font-variant: normal;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased; }
          dl.footer-info dd ul li a span {
            display: inline-block;
            text-indent: 100%;
            white-space: nowrap;
            overflow: hidden; }
      dl.footer-info dd ul li.sns-fb a:after {
        content: "\f082";
        font-family: "Font Awesome 5 Brands";
        font-weight: 900; }
      dl.footer-info dd ul li.sns-tw a:after {
        content: "\f099";
        font-family: "Font Awesome 5 Brands";
        font-weight: 900; }

@media screen and (min-width: 768px), print {
  .footer1 {
    padding: 40px 0;
    min-width: inherit; }
    .footer1 .footer1-in {
      width: 1200px;
      margin: 0 auto; }

  dl.footer-info {
    font-size: 1.6rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 80px; }
    dl.footer-info dt.f-ci {
      margin-bottom: 0;
      padding: 0 40px;
      width: 440px;
      border-right: 1px solid #ced2da; }
      dl.footer-info dt.f-ci span.h-ci a img.ci1 {
        width: 148px; }
      dl.footer-info dt.f-ci span.h-ci a img.ci2 {
        margin-top: 8px;
        height: 36px; }
    dl.footer-info dd {
      padding: 0 0 0 40px;
      margin-top: 0; }
    dl.footer-info dd.f-sns {
      margin-left: auto;
      padding-right: 40px;
      line-height: 1.0; }
      dl.footer-info dd.f-sns ul li {
        list-style: none;
        display: inline-block;
        font-size: 0; }
        dl.footer-info dd.f-sns ul li a {
          width: 40px;
          height: 44px;
          line-height: 1.0; }
          dl.footer-info dd.f-sns ul li a:after {
            width: 100%;
            height: 44px;
            line-height: 44px;
            font-size: 2.4rem; } }
/*============================
footer2
============================*/
.footer2 {
  padding: 0;
  width: 100%;
  min-width: 320px; }
  .footer2 .footer2-in nav.fnav ul.fnav1 {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #ced2da;
    margin: 0;
    padding: 0; }
    .footer2 .footer2-in nav.fnav ul.fnav1 li {
      width: 50%;
      /* IE11 */
      flex: 0 1 50%;
      margin: 0;
      border: none; }
      .footer2 .footer2-in nav.fnav ul.fnav1 li a {
        position: relative;
        display: block;
        padding: 8px;
        line-height: 40px;
        font-size: 1.6rem;
        font-weight: 700;
        width: 100%;
        background-color: transparent;
        color: #757987;
        text-decoration: none;
        text-align: center;
        vertical-align: middle;
        border-bottom: 1px solid #ced2da;
        border-right: 1px solid #ced2da; }
    .footer2 .footer2-in nav.fnav ul.fnav1 li:nth-child(2n) a {
      border-right: 0; }
  .footer2 .footer2-in nav.fnav ul.fnav2 {
    text-align: center;
    font-size: 0;
    margin: 10px auto 20px;
    padding: 0; }
    .footer2 .footer2-in nav.fnav ul.fnav2 li {
      display: inline-block;
      padding: 0;
      margin: 0;
      font-size: 1.2rem; }
      .footer2 .footer2-in nav.fnav ul.fnav2 li a {
        display: block;
        text-decoration: none;
        color: #757987;
        line-height: 4.8rem; }
    .footer2 .footer2-in nav.fnav ul.fnav2 li + li a:before {
      display: inline;
      font-weight: 400;
      color: #ced2da;
      content: "|";
      padding: 0 .5em; }

@media screen and (min-width: 768px), print {
  .footer2 {
    min-width: 1280px; }
    .footer2 .footer2-in nav.fnav ul.fnav1 {
      font-size: 0;
      display: block;
      text-align: center;
      padding: 20px 0 0; }
      .footer2 .footer2-in nav.fnav ul.fnav1 li {
        display: inline; }
        .footer2 .footer2-in nav.fnav ul.fnav1 li a {
          position: static;
          display: inline;
          padding: 0;
          line-height: 4.0rem;
          font-size: 1.4rem;
          border: 0; }
      .footer2 .footer2-in nav.fnav ul.fnav1 li + li a:before {
        display: inline;
        font-weight: 400;
        color: #ced2da;
        content: "|";
        padding: 0 1em; }
    .footer2 .footer2-in nav.fnav ul.fnav2 {
      margin: 0 auto 20px; }
    .footer2 .footer2-in nav.fnav ul.fnav2 + .fnav2 {
      margin-top: -20px; }
      .footer2 .footer2-in nav.fnav ul.fnav2 li {
        font-size: 1.4rem; }
      .footer2 .footer2-in nav.fnav ul.fnav2 li a {
        line-height: 4.0rem; }
      .footer2 .footer2-in nav.fnav ul.fnav2 li + li a:before {
        padding: 0 1em; } }
/*============================
footer-copy
============================*/
.footer-copy {
  background: #fff;
  color: #1a1b1f; }
  .footer-copy .footer-copy-in {
    width: 100%;
    min-width: 300px;
    margin: 0;
    padding: 10px 10px 30px; }
    .footer-copy .footer-copy-in .copy {
      margin-top: 0;
      text-align: center;
      font-size: 1.0rem;
      line-height: 2;
      font-family: Verdana, Geneva, sans-serif; }

@media screen and (min-width: 768px), print {
  .footer-copy {
    border-top: 1px solid #ced2da; }
    .footer-copy .footer-copy-in {
      min-width: 1280px;
      padding: 20px 0;
      margin: 0 auto; }
      .footer-copy .footer-copy-in .copy {
        font-size: 1.5rem; } }
/* ================================================================
pagetop
================================================================ */
#pagetop {
  margin: 0; }
  #pagetop a {
    text-align: center;
    display: block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    background-color: #1a1b1f;
    color: #fff;
    font-weight: 700;
    text-decoration: none; }
    #pagetop a:before {
      display: inline-block;
      margin: auto 18px auto auto;
      width: 16px;
      height: 16px;
      line-height: 1.0;
      font-size: 1.6rem;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      content: "\f106"; }

/* ================================================================
btn-pagetop
================================================================ */
#btn-pagetop {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  margin: 0;
  padding: 0;
  width: 48px;
  height: 48px;
  z-index: 100;
}
#btn-pagetop a {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-decoration: none;
}
#btn-pagetop a:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 48px;
  height: 48px;
  line-height: 1.0;
  text-align: center;
  font-size: 4.0rem;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #757987;
  content: "\f139";
}
#btn-pagetop a span {
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

@media screen and (min-width: 768px), print {
  #btn-pagetop {
    right: 20px;
    bottom: 50px;
    width: 60px;
    height: 60px;
  }
  #btn-pagetop a {
    width: 60px;
    height: 60px;
    line-height: 60px;
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
  }
  #btn-pagetop a:hover, #btn-pagetop a:focus {
    opacity: 0.8;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
  }
  #btn-pagetop a:after {
    width: 60px;
    height: 60px;
    font-size: 6.0rem;
  }
}
/* ================================================================
contents-bottom
================================================================ */
.contents-bottom {
  padding: 20px 10px;
  width: 100%;
  min-width: 320px;
  background-color: #eaece3; }
  .contents-bottom .contents-bottom-in ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0; }
    .contents-bottom .contents-bottom-in ul li {
      list-style: none;
      width: 48%;
      /* IE11 */
      flex: 0 1 48%;
      margin: 1%;
      padding: 0;
      border: none; }
      .contents-bottom .contents-bottom-in ul li img {
        width: 100%;
        height: auto; }

@media screen and (min-width: 768px), print {
  .contents-bottom {
    padding: 33px 0; }
    .contents-bottom .contents-bottom-in {
      width: 1134px;
      margin: 0 auto;
      padding: 0;
      text-align: center; }
      .contents-bottom .contents-bottom-in ul {
        justify-content: center; }
        .contents-bottom .contents-bottom-in ul li {
          width: 175px;
          /* IE11 */
          flex: 0 1 175px;
          margin: 7px; } }
/* module common */
/* ----------------------------------------------------------------
title 
---------------------------------------------------------------- */
h1,
.h1 {
  margin: 30px 0 0;
  padding: 0 0 15px;
  color: #000;
  font-family: "Noto Serif JP", 游明朝, " Yu Mincho ", YuMincho, " Hiragino Mincho ProN ", " Hiragino Mincho Pro ", " HGS明朝E ", " メイリオ ", Meiryo, serif;
  font-size: 3.0rem;
  font-weight: 400;
  line-height: 1.5;
  clear: both;
  background-color: transparent;
  text-align: center;
  position: relative;
  z-index: 1; }

@media screen and (min-width: 768px), print {
  h1,
  .h1 {
    margin: 50px auto 0; }

  .header-entry-ttl h1,
  .header-entry-ttl .h1 {
    width: 1200px; } }
h1.page-header-ttl,
h2,
.h2 {
  margin: 60px 0 50px;
  padding: 0;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.5;
  background: none;
  clear: both;
  color: #000;
  font-family: "Noto Serif JP", 游明朝, " Yu Mincho ", YuMincho, " Hiragino Mincho ProN ", " Hiragino Mincho Pro ", " HGS明朝E ", " メイリオ ", Meiryo, serif;
  border-bottom: 0;}
  h2:before, h2:after,
  .h2:before,
  .h2:after {
    display: none; }
@media screen and (min-width: 768px), print {
  h1.page-header-ttl,
  h2,
  .h2 {
    margin: 80px 0 0;
    font-size: 3.2rem; } }
h1.page-header-ttl,
h2.page-header-ttl,
.page-header-ttl {
	margin: 0 0 50px;
  text-align: left;
}
@media screen and (min-width: 768px), print {
  h1.page-header-ttl,
  h2.page-header-ttl,
  .page-header-ttl {
    margin: 0 0 50px;
  }
}
h3,
.h3 {
  margin: 40px 0;
  padding: 10px 18px;
  font-size: 2.0rem;
  line-height: 1.3;
  font-family: "Noto Serif JP", 游明朝, " Yu Mincho ", YuMincho, " Hiragino Mincho ProN ", " Hiragino Mincho Pro ", " HGS明朝E ", " メイリオ ", Meiryo, serif;
  color: #1a1b1f;
  font-weight: 400;
  border: 0;
  border-top: 4px solid #0A2C8D;
  background-color: #E8EBF2;
  text-align: left; }
  h3 a,
  .h3 a {
    color: #0653C7;
    position: relative;
    text-decoration: none; }
    h3 a:before,
    .h3 a:before {
      display: inline-block;
      width: 30px;
      height: 30px;
      margin: auto 1em auto auto;
      padding: 7px 0 0 2px;
      border-radius: 50%;
      color: #fff;
      background: #757987;
      text-align: center;
      vertical-align: top;
      line-height: 1.0;
      font-size: 1.6rem;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      content: "\f105"; }
    h3 a:hover,
    .h3 a:hover {
      color: #8bc708; }
    h3 a:hover:before,
    .h3 a:hover:before {
      color: #fff;
      background: #8bc708; }

@media screen and (min-width: 768px), print {
  h3,
  .h3 {
    font-size: 2.4rem; } }
h4,
.h4 {
  margin: 40px 0;
  padding: 0 0 10px 18px;
  border-bottom: 1px solid #CDD1D9;
  font-family: "Noto Serif JP", 游明朝, " Yu Mincho ", YuMincho, " Hiragino Mincho ProN ", " Hiragino Mincho Pro ", " HGS明朝E ", " メイリオ ", Meiryo, serif;
  font-size: 2.0rem;
  line-height: 1.4;
  font-weight: 400;
  color: #000;
  text-align: left;
  position: relative; }

h4:before,
.h4:before {
  display: block;
  border-left: 4px solid #0553C7;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 7px;
  height: calc(100% - 10px); }

@media screen and (min-width: 768px), print {
  h4,
  .h4 {
    font-size: 2.4rem; } }
/* ----------------------------------------------------------------
title 
---------------------------------------------------------------- */
h1,
.h1 {
  margin: 30px 0 0;
  padding: 0 0 15px;
  color: #000;
  font-family: "Noto Serif JP", 游明朝, " Yu Mincho ", YuMincho, " Hiragino Mincho ProN ", " Hiragino Mincho Pro ", " HGS明朝E ", " メイリオ ", Meiryo, serif;
  font-size: 3.0rem;
  font-weight: 400;
  line-height: 1.5;
  clear: both;
  background-color: transparent;
  text-align: center;
  position: relative;
  z-index: 1; }

@media screen and (min-width: 768px), print {
  h1,
  .h1 {
    margin: 50px auto 0; }

  .header-entry-ttl h1,
  .header-entry-ttl .h1 {
    width: 1200px; } }
header.entry-header h1.entry-header-ttl {
  margin: 0 0 50px;
  padding: 0 0 8px 0;
  text-align: left;
  font-size: 2.4rem;
  line-height: 1.5;
  border-bottom: 1px solid #ced2da; }
  header.entry-header h1.entry-header-ttl span {
    display: block;
    color: #757987;
    font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
    font-size: 1.4rem; }

@media screen and (min-width: 768px), print {
  header.entry-header h1.entry-header-ttl {
    font-size: 3.2rem; }
    header.entry-header h1.entry-header-ttl span {
      font-size: 1.4rem; } }

/*============================
textalign
add oldsite class .text-XXX
============================*/
.textalign-left,
.text-left {
  text-align: left;
}

th.textalign-left,
td.textalign-left,
th.text-left,
td.text-left {
  text-align: left !important;
}

.textalign-right,
.text-right {
  text-align: right;
}

th.textalign-right,
td.textalign-right,
th.text-right,
td.text-right {
  text-align: right !important;
}

.textalign-center,
.text-center {
  text-align: center;
}

th.textalign-center,
td.textalign-center,
th.text-center,
td.text-center {
  text-align: center !important;
}

table.textalign-center,
table.text-center {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .sp-textalign-left,
  .sp-text-left {
    text-align: left;
  }

  th.sp-textalign-left,
  td.sp-textalign-left,
  th.sp-text-left,
  td.sp-text-left {
    text-align: left !important;
  }

  .sp-textalign-right,
  .sp-text-right {
    text-align: right;
  }

  th.sp-textalign-right,
  td.sp-textalign-right,
  th.sp-text-right,
  td.sp-text-right {
    text-align: right !important;
  }

  .sp-textalign-center,
  .sp-text-center {
    text-align: center;
  }

  th.sp-textalign-center,
  td.sp-textalign-center,
  th.sp-text-center,
  td.sp-text-center {
    text-align: center !important;
  }

  table.sp-textalign-center,
  table.sp-text-center {
    margin-left: auto;
    margin-right: auto;
  }
}
/* -----------------------
MT layout
----------------------- */
.mt-image-center,
.mt-figure-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  clear: both;
}

@media screen and (max-width: 767px) {
  .mt-image-left,
  .mt-image-right {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    clear: both;
  }

  .mt-image-center,
  .mt-figure-center {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px), print {
  .mt-image-left {
    float: left;
  }

  .mt-image-right {
    float: right;
  }

  .mt-image-center,
  .mt-figure-center {
    margin: 0 auto 30px;
  }

  .mt-image-left,
  .mt-figure-left {
    margin: 0 20px 30px 0;
  }

  .mt-image-right,
  .mt-figure-right {
    margin: 0 0 30px 20px;
  }
}

/* ----------------------------------------------------------------
archive common
---------------------------------------------------------------- */
/*============================
meta-event
============================*/
.box.meta-event {
  font-size: 1.2rem;
  margin-top: -10px;
}

.box.meta-event p {
  margin: 0;
}

@media screen and (min-width: 768px), print {
  .box.meta-event {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
}
/*============================
post-category
============================*/
.post-category {
  display: inline-block;
  text-decoration: inherit;
  padding: 0 .9em;
  margin-right: 0.5em;
  color: #fff;
  background-color: #666;
  text-decoration: none;
  font-size: 1.2rem;
  line-height: 20px;
  vertical-align: middle; }
  .post-category a {
    color: inherit;
    text-decoration: none; }

@media screen and (min-width: 768px), print {
  .post-category {
    font-size: 1.4rem; } }
.post-category-news {
  background-color: #D76FB7; }

.post-category-event {
  background-color: #698ED9; }

.post-category-research {
  background-color: #4CC5AD; }

.post-category-network {
  background-color: #79C635; }

.post-category-data {
  background-color: #E3AD2A; }

.post-category-media {
  background-color: #E66461; }

/*============================
pager
============================*/
ul.pager {
  clear: both;
  margin: 30px auto 0;
  font-size: 1.4rem;
  text-align: center;
  color: #555; }

ul.pager li {
  position: static;
  list-style: none;
  display: inline;
  margin-top: 0;
  padding-left: 0; }

ul.pager li a,
ul.pager li span {
  display: inline-block;
  min-width: 30px;
  margin: 10px 2px;
  padding: 0 8px;
  line-height: 26px;
  text-align: center;
  font-weight: 700;
  color: #fff;
  border: 2px solid #757987;
  background-color: #757987;
  text-decoration: none; }

ul.pager li span.current_page {
  color: #757987;
  background-color: #fff; }

ul.pager li.link_before span,
ul.pager li.link_next span,
ul.pager li.first span,
ul.pager li.last span {
  color: #ccc; }

@media screen and (min-width: 768px), print {
  ul.pager li a {
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }

  ul.pager li a:hover {
    color: #757987;
    background-color: #fff;
    opacity: 0.8;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; } }
/*============================
archive1
============================*/
.archive1 {
  margin: 40px 0;
  padding-left: 0;
  width: 100%; }

@media screen and (min-width: 768px), print {
  .archive1 {
    margin: 64px auto 80px; } }
.archive1 li {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  width: 100%; }

.archive1 li a {
  display: block;
  padding: 16px 0 0;
  text-decoration: none; }

.archive1 li .post-meta {
  margin: 0 0 10px;
  padding: 0 0 10px 20px;
  border-bottom: 1px solid #ced2da;
  font-size: 1.2rem;
  line-height: 1.4;
  color: #000;
  text-align: left;
  position: relative; }

.archive1 li .post-meta:before {
  display: block;
  border-left: 4px solid #757987;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 7px;
  height: calc(100% - 9px); }

.archive1.archive1-category li .post-meta {
  padding-left: 0; }

.archive1.archive1-category li .post-meta:before {
  display: none; }

.archive1 .post-date {
  color: #757987;
  font-size: 1.4rem; }

.archive1 li .post-header {
  margin: 0;
  padding: 16px 16px 13px;
  background-color: #f6f7f3; }

.archive1 li .post-title {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.8;
  border: 0;
  color: #8bc708;
  background-color: transparent;
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; }
  .archive1 li .post-title:before, .archive1 li .post-title:after {
    display: none; }

@media screen and (min-width: 768px), print {
  .archive1 li .post-meta {
    font-size: 1.4rem; }

  .archive1 li .post-title {
    font-size: 1.6rem; } }
.archive1 li a .post-title {
  text-decoration: underline; }

.archive1 li a .post-txt {
  margin: 0;
  color: #1a1b1f; }

@media screen and (min-width: 768px), print {
  .archive1 li a .post-title {
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }

  .archive1 li a:hover .post-title {
    text-decoration: none;
    color: #0653C7;
    opacity: 0.8;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; } }
/*============================
archive2
============================*/
.archive2 {
  margin: 40px 0;
  padding-left: 0;
  width: 100%;
  border-top: 1px solid #ced2da; }

@media screen and (min-width: 768px), print {
  .archive2 {
    margin: 80px auto; } }
.archive2 li {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #ced2da;
  width: 100%; }

.archive2 li a {
  display: block;
  padding: 12px 48px 15px 0;
  text-decoration: none;
  position: relative; }

.archive2 li a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 16px;
  margin: auto;
  content: "";
  width: 11px;
  height: 11px;
  border-top: 3px solid #757987;
  border-right: 3px solid #757987;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle; }

.archive2 li .post-category {
  display: table;
  margin-bottom: 4px; }

.archive2 .post-date {
  color: #757987;
  font-size: 1.2rem; }

.archive2 li .post-title {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.8;
  border: 0;
  color: #1a1b1f;
  background-color: transparent;
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; }
  .archive2 li .post-title:before, .archive2 li .post-title:after {
    display: none; }

@media screen and (min-width: 768px), print {
  .archive2 li .post-meta {
    width: 10em;
    display: table-cell; }

  .archive2 .post-date {
    font-size: 1.4rem; }

  .archive2 li .post-title {
    display: table-cell;
    font-size: 1.6rem; } }
@media screen and (min-width: 768px), print {
  .archive2 li a {
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }

  .archive2 li a:hover {
    opacity: 0.8;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }

  .archive2 li a:hover:after {
    border-color: #0653C7; }

  .archive2 li a:hover .post-title {
    color: #0653C7; } }
/*============================
archive3
============================*/
.archive3 {
  margin: 0;
  padding-left: 0;
  width: 100%;
  border-top: 1px solid #ced2da; }

.archive3 li {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #ced2da;
  width: 100%; }

.archive3 li a {
  display: block;
  padding: 10px 0 12px 0;
  text-decoration: none; }

@media screen and (min-width: 768px), print {
  .archive3 li a {
    padding: 10px 20px 16px 20px; } }
.archive3 li .post-category {
  display: inline-table; }

.archive3 .post-date {
  color: #757987;
  font-size: 1.2rem; }

.archive3 li .post-title {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.8;
  border: 0;
  color: #1a1b1f;
  background-color: transparent;
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; }
  .archive3 li .post-title:before, .archive3 li .post-title:after {
    display: none; }

@media screen and (min-width: 768px), print {
  .archive3 .post-date {
    font-size: 1.4rem; }

  .archive3 li .post-title {
    font-size: 1.6rem; }

  .archive3 li a {
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }

  .archive3 li a:hover {
    opacity: 0.8;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }

  .archive3 li a:hover:after {
    border-color: #0653C7; }

  .archive3 li a:hover .post-title {
    color: #0653C7; } }
/* block */
/* ================================================================
main-header
================================================================ */
div.main-header-wrap {
margin-top: 70px;/* headerFIX */
}
@media screen and (min-width: 768px), print {
  div.main-header-wrap {
    height: 280px;
    margin-bottom: 16px;
    position: relative;
    z-index: -1;
    margin-top: 0;/* headerFIX SP */
  }
  div.main-header-wrap-bg {
    background-color: #F4F5F9;
    width: 100%;
    height: 240px;
    position: absolute;
    overflow: hidden;
    margin: 0;
    padding: 0;
    z-index: -2; }
    div.main-header-wrap-bg:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 120%;
      height: 80%;
      margin: 2% -10% 0;
      background: #E8EBF2;
      -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
      transform-origin: left center;
      -webkit-transform: rotate(-20deg);
      -ms-transform: rotate(-20deg);
      transform: rotate(-20deg);
      z-index: -1; }

  div.main-header {
    height: 280px;
    width: 1280px;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-position: right 0;
    vertical-align: top;
    background-image: url(../images/titlebg.jpg); }
    div.main-header div.main-header-ttl,
    div.main-header h1.main-header-ttl {
      width: 1280px;
      padding: 70px 40px 0;
      margin: 0 auto;
      display: table;
      height: 100px; }
      div.main-header div.main-header-ttl span,
      div.main-header h1.main-header-ttl span {
        display: table-cell;
        vertical-align: middle;
        margin: 0;
        padding: 0 24px;
        border: 0;
        border-left: 6px solid #0553C7;
        font-size: 4.8rem;
        font-weight: 400;
        line-height: 1.2;
        color: #0A2C8D;
        text-align: left;
        z-index: -100; }
      div.main-header div.main-header-ttl small,
      div.main-header h1.main-header-ttl small {
        display: block;
        font-size: 2.4rem;
        font-weight: 400;
        color: #000; } }
/* ================================================================
contents
================================================================ */
.contents:before,
.contents:after {
  content: " ";
  display: table; }

.contents:after {
  clear: both; }

.contents {
  * zoom: 1; }

@media screen and (min-width: 768px), print {
  .contents {
    width: 1280px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 80px; } }
/* -----------------------
main 
----------------------- */
.main {
  min-width: 320px;
  margin: 0;
  padding: 0 10px 80px; }

@media screen and (min-width: 768px), print {
  .main {
    min-width: inherit;
    width: 800px;
    float: left;
    padding: 0 0 80px; }
  .main.main-single {
    width: 100%;
    float: none; } }
/* -----------------------
side
----------------------- */
@media screen and (min-width: 768px), print {
  .side {
    min-width: inherit;
    width: 280px;
    float: right;
    padding: 0 0 80px; } }
/* page */
/* -----------------------
box
----------------------- */
.box {
  clear: both;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 16px 20px;
  background-color: #f3f5f8;
}

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

.box:after {
  clear: both;
}

.box {
  * zoom: 1;
}

.box > p:first-child, .box > ul:first-child, .box > ol:first-child, .box > dl:first-child, .box > table:first-child,
.box > h3:first-child, .box > h4:first-child, .box > h5:first-child, .box > h6:first-child {
  margin-top: 0;
}

.box ul {
  margin-left: 0.5em;
  padding-left: 1em;
}

.box ol {
  margin-left: 0.5em;
  padding-left: 1em;
}

.box-sen {
  clear: both;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 16px 20px;
  border: 1px solid #ced2da;
  background-color: transparent;
}

.box-sen:before,
.box-sen:after {
  content: " ";
  display: table;
}

.box-sen:after {
  clear: both;
}

.box-sen {
  * zoom: 1;
}

.box-sen > p:first-child, .box-sen > ul:first-child, .box-sen > ol:first-child, .box-sen > dl:first-child, .box-sen > table:first-child,
.box-sen > h3:first-child, .box-sen > h4:first-child, .box-sen > h5:first-child, .box-sen > h6:first-child {
  margin-top: 0;
}

.box-sen ul {
  margin-left: 0.5em;
  padding-left: 1em;
}

.box-sen ol {
  margin-left: 0.5em;
  padding-left: 1em;
}
/* -----------------------
iframe SP
----------------------- */
/* res iframe 16-9 */
@media screen and (max-width: 767px) {
  .iframe-layout {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
  }
  .iframe-layout iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
/* -----------------------
faq
----------------------- */
dl.qa-link:before,
dl.qa-link:after {
  content: " ";
  display: table;
}
dl.qa-link:after {
  clear: both;
}
dl.qa-link {
  * zoom: 1;
}
dl.qa-link {
  margin-bottom: 60px;
}
dl.qa-link dt {
  display: inline-block;
  float: left;
  clear: left;
  color: #fff;
  background-color: #0A2C8D;
  padding: 0;
  margin-right: 1em;
  margin-top: 16px;
  border-radius: 4px;
  width: 3em;
  text-align: center;
  font-weight: 700;
}
dl.qa-link dt:first-child {
  margin-top: 0;
}
dl.qa-link dd {
  margin-left: 4em;
  margin-top: 16px;
}
dl.qa-link dt:first-child + dd {
  margin-top: 0;
}
.qa dl:before,
.qa dl:after {
  content: " ";
  display: table;
}
.qa dl:after {
  clear: both;
}
.qa dl {
  * zoom: 1;
}
.qa dl {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}
.qa dl dt {
  display: inline-block;
  float: left;
  clear: left;
  color: #fff;
  background-color: #0A2C8D;
  padding: 0;
  margin-right: 1em;
  margin-top: 16px;
  border-radius: 4px;
  width: 3em;
  text-align: center;
  font-weight: 700;
}
.qa dl dt:first-child {
  margin-top: 0;
}
.qa dl dt.qa-a {
  color: #0A2C8D;
  background-color: #fff;
  border: 1px solid #0A2C8D;
}
.qa dl dd {
  margin-left: 4em;
  margin-top: 16px;
}
.qa dl dt:first-child + dd {
  margin-top: 0;
}
/* -----------------------
table-responsive table.table-2retsu
----------------------- */
table.table-2retsu tr > th {
  text-align: left;
}
  @media screen and (max-width: 767px) {
  table.table-2retsu tr > th:first-child {
    font-weight: 700;
  }

  table.table-2retsu tr > td:first-child {
    font-weight: 700;
  }

  table.table-2retsu th,
  table.table-2retsu td {
    display: block;
    width: 100%;
  }

  table.table.table-2retsu th + td {
    border-top: 0;
  }

  table.table.table-2retsu tr + tr > th {
    border-top: 0;
  }
}
/* ==========================================================================
Print styles
========================================================================== */
@media print {
  #pagetop {
    display: none; } }
