@charset "UTF-8";
.clearfix, #header .header_content, #header .header_top, #header .header_main, nav .gnavi > ul {
  *zoom: 1; }
  .clearfix:after, #header .header_content:after, #header .header_top:after, #header .header_main:after, nav .gnavi > ul:after {
    content: "";
    display: table;
    clear: both; }

/*----------------------------------------
       Reset
----------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: none; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

.clearfix, #header .header_content, #header .header_top, #header .header_main, nav .gnavi > ul {
  *zoom: 1; }
  .clearfix:after, #header .header_content:after, #header .header_top:after, #header .header_main:after, nav .gnavi > ul:after {
    content: "";
    display: table;
    clear: both; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

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

.row {
  margin-left: -15px;
  margin-right: -15px; }
  @media only screen and (max-width: 640px) {
    .row {
      margin-left: 0;
      margin-right: 0; } }
  .row:before {
    content: " ";
    display: table; }
  .row:after {
    content: " ";
    display: table;
    clear: both; }

.col-xxs-1, .col-xxs-2, .col-xxs-3, .col-xxs-4, .col-xxs-5, .col-xxs-6, .col-xxs-7, .col-xxs-8, .col-xxs-9, .col-xxs-10, .col-xxs-11, .col-xxs-12 {
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  position: relative; }

.col-xxs-1, .col-xxs-2, .col-xxs-3, .col-xxs-4, .col-xxs-5, .col-xxs-6, .col-xxs-7, .col-xxs-8, .col-xxs-9, .col-xxs-10, .col-xxs-11, .col-xxs-12 {
  float: left; }

.col-xxs-12 {
  width: 100%; }

.col-xxs-11 {
  width: 91.6667%; }

.col-xxs-10 {
  width: 83.3333%; }

.col-xxs-9 {
  width: 75%; }

.col-xxs-8 {
  width: 66.6667%; }

.col-xxs-7 {
  width: 58.3333%; }

.col-xxs-6 {
  width: 50%; }

.col-xxs-5 {
  width: 41.6667%; }

.col-xxs-4 {
  width: 33.3333%; }

.col-xxs-3 {
  width: 25%; }

.col-xxs-2 {
  width: 16.6667%; }

.col-xxs-1 {
  width: 8.33333%; }

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  position: relative; }

@media (min-width: 641px) {
  .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    float: left; }

  .col-xs-12 {
    width: 100%; }

  .col-xs-11 {
    width: 91.6667%; }

  .col-xs-10 {
    width: 83.3333%; }

  .col-xs-9 {
    width: 75%; }

  .col-xs-8 {
    width: 66.6667%; }

  .col-xs-7 {
    width: 58.3333%; }

  .col-xs-6 {
    width: 50%; }

  .col-xs-5 {
    width: 41.6667%; }

  .col-xs-4 {
    width: 33.3333%; }

  .col-xs-3 {
    width: 25%; }

  .col-xs-2 {
    width: 16.6667%; }

  .col-xs-1 {
    width: 8.33333%; } }
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left; }

  .col-lg-12 {
    width: 100%; }

  .col-lg-11 {
    width: 91.6667%; }

  .col-lg-10 {
    width: 83.3333%; }

  .col-lg-9 {
    width: 75%; }

  .col-lg-8 {
    width: 66.6667%; }

  .col-lg-7 {
    width: 58.3333%; }

  .col-lg-6 {
    width: 50%; }

  .col-lg-5 {
    width: 41.6667%; }

  .col-lg-4 {
    width: 33.3333%; }

  .col-lg-3 {
    width: 25%; }

  .col-lg-2 {
    width: 16.6667%; }

  .col-lg-1 {
    width: 8.33333%; } }
.visible-xxs, tr.visible-xxs, th.visible-xxs, td.visible-xxs {
  display: none; }

@media (max-width: 640px) {
  .visible-xxs {
    display: block !important; }

  table.visible-xxs {
    display: table; }

  tr.visible-xxs {
    display: table-row !important; }

  th.visible-xxs, td.visible-xxs {
    display: table-cell !important; } }
.visible-lg, tr.visible-lg, th.visible-lg, td.visible-lg {
  display: none; }

@media (min-width: 1201px) {
  .visible-lg {
    display: block !important; }

  table.visible-lg {
    display: table; }

  tr.visible-lg {
    display: table-row !important; }

  th.visible-lg, td.visible-lg {
    display: table-cell !important; } }
@media (max-width: 479px) {
  .hidden-xxs, tr.hidden-xxs, th.hidden-xxs, td.hidden-xxs {
    display: none !important; } }
@media (min-width: 480px) and (max-width: 639px) {
  .hidden-xs, tr.hidden-xs, th.hidden-xs, td.hidden-xs {
    display: none !important; } }
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 1170px; }
  @media only screen and (max-width: 640px) {
    .container {
      width: 100%; } }

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

.container:after {
  clear: both; }

@font-face {
  font-family: 'fontello';
  src: url("/info/ad/font/icon/fontello.eot?78752234");
  src: url("/info/ad/font/icon/fontello.eot?78752234#iefix") format("embedded-opentype"), url("/info/ad/font/icon/fontello.woff2?78752234") format("woff2"), url("/info/ad/font/icon/fontello.woff?78752234") format("woff"), url("/info/ad/font/icon/fontello.ttf?78752234") format("truetype"), url("/info/ad/font/icon/fontello.svg?78752234#fontello") format("svg");
  font-weight: normal;
  font-style: normal; }
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-external:before {
  content: '\e801'; }

/* '' */
.icon-document:before {
  content: '\e807'; }

/* '' */
.icon-mail:before {
  content: '\e80c'; }

/* '' */
.icon-angle-left:before {
  content: '\f104'; }

/* '' */
.icon-angle-right:before {
  content: '\f105'; }

/* '' */
.icon-angle-up:before {
  content: '\f106'; }

/* '' */
.icon-angle-down:before {
  content: '\f107'; }

/* '' */
/*--------------------------
Tag Default
---------------------------*/
* {
  -webkit-appearance: none; }

body {
  font-family: 'メイリオ', Meiryo,'ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
  color: #181818;
  font-size: 16px;
  min-width: 1200px;
  -webkit-text-size-adjust: 100%;
  overflow-y: auto;
  word-wrap: break-word; }
  @media only screen and (max-width: 640px) {
    body {
      font-size: 14px;
      min-width: 100%;
      width: 100%; } }

a {
  color: #181818; }

img {
  max-width: 100%; }

sup {
  font-size: smaller;
  vertical-align: super; }

/*--------------------------
Layout
---------------------------*/
#contents {
  padding-top: 89px;
  overflow: hidden; }
  @media only screen and (max-width: 1170px) {
    #contents {
      padding-top: 60px; } }

/*--------------------------
Under IE8
---------------------------*/
.under_ie8 {
  width: 100%;
  height: 100%;
  background: #000;
  position: fixed;
  z-index: 1000;
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha(opacity=90)"; }
  .under_ie8 p {
    color: #fff;
    font-size: 24px;
    line-height: 175%;
    text-align: center;
    display: block;
    width: 800px;
    margin: 200px auto 0px;
    z-index: 10000;
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    position: relative;
    z-index: 1100; }
    .under_ie8 p img {
      display: block;
      margin: 0px auto 14px; }

/*--------------------------
header
---------------------------*/
#header {
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
  width: 100%;
  position: fixed;
  z-index: 1000; }
  @media only screen and (max-width: 1170px) {
    #header {
      background: #fff;
      width: 100%; } }
  #header .header_content {
    width: 1170px;
    margin: 0 auto; }
    @media only screen and (max-width: 1170px) {
      #header .header_content {
        background: #fff;
        width: 100%; } }
  #header .header_top {
    float: left;
    /*--------------------------
    hamburger menu
    ---------------------------*/ }
    @media only screen and (max-width: 1170px) {
      #header .header_top {
        float: none;
        width: 100%;
        padding: 0 10px;
        height: 100%;
        position: relative;
        z-index: 101;
        background-color: #fff;
        height: 60px; } }
    #header .header_top .logo img {
      width: auto;
      height: 57px;
      margin-top: 15px; }
      @media only screen and (max-width: 1170px) {
        #header .header_top .logo img {
          margin-top: 10px;
          width: auto;
          height: 40px;
          float: left;
          position: relative; } }
    #header .header_top .header_nav-sp {
      display: none; }
      @media only screen and (max-width: 1170px) {
        #header .header_top .header_nav-sp {
          display: block;
          float: right;
          position: relative;
          top: 10px; }
          #header .header_top .header_nav-sp li {
            display: inline-block;
            cursor: pointer;
            margin-left: 4px; }
            #header .header_top .header_nav-sp li.is-open .btnSpMenu_content span {
              background-color: rgba(255, 255, 255, 0); }
            #header .header_top .header_nav-sp li.is-open .btnSpMenu_content span:before {
              top: 0;
              transform: rotate(-45deg);
              transition: transform .3s; }
            #header .header_top .header_nav-sp li.is-open .btnSpMenu_content span:after {
              top: 0;
              transform: rotate(45deg);
              transition: transform .3s; }
            #header .header_top .header_nav-sp li .btnSpMenu_content {
              font-size: 8px;
              padding: 0 5px 3px 5px;
              border: 1px solid #ddd;
              background-color: #eee;
              height: 40px;
              -webkit-border-radius: 3px;
              border-radius: 3px; }
              #header .header_top .header_nav-sp li .btnSpMenu_content .bar {
                display: block;
                width: 100%;
                text-align: center;
                position: relative;
                height: 25px;
                width: 25px;
                margin: 0 auto; }
              #header .header_top .header_nav-sp li .btnSpMenu_content span {
                position: absolute;
                display: block;
                width: 100%;
                background-color: #777;
                top: 12px;
                height: 2px;
                transition: .2s ease-in-out; }
                #header .header_top .header_nav-sp li .btnSpMenu_content span:after, #header .header_top .header_nav-sp li .btnSpMenu_content span:before {
                  content: "";
                  position: absolute;
                  left: 0;
                  display: block;
                  width: 100%;
                  height: 2px;
                  background-color: #777;
                  transition: transform .35s; }
                #header .header_top .header_nav-sp li .btnSpMenu_content span:before {
                  transform: translateY(-5px); }
                #header .header_top .header_nav-sp li .btnSpMenu_content span:after {
                  transform: translateY(5px); } }
  #header .header_nav {
    float: right; }
  @media only screen and (max-width: 1170px) {
    #header .header_main {
      padding: 0; } }

/*--------------------------
gnavi
---------------------------*/
nav {
  float: right;
  position: relative;
  width: 990px;
  height: 88px; }
  @media only screen and (max-width: 1170px) {
    nav {
      float: none;
      width: 100%;
      height: auto; } }
  nav .gnavi {
    float: right;
    position: relative;
    width: 990px;
    height: 88px; }
    @media only screen and (max-width: 1170px) {
      nav .gnavi {
        float: none;
        width: 100%;
        position: fixed;
        top: -100vh;
        left: 0;
        height: 100%;
        overflow: auto;
        transition: top .5s;
        -webkit-overflow-scrolling: touch; }
        nav .gnavi.is-open {
          top: 58px; } }
    @media only screen and (max-width: 1170px) {
      nav .gnavi > ul {
        height: 100%; } }
    nav .gnavi > ul > li {
      position: relative;
      margin: 28px 15px 0; }
      @media only screen and (max-width: 1170px) {
        nav .gnavi > ul > li {
          margin: 0; } }
      nav .gnavi > ul > li:nth-child(3) .accordion_menu li {
        width: 240px; }
    nav .gnavi > ul li {
      text-align: center;
      float: left; }
      @media only screen and (max-width: 1170px) {
        nav .gnavi > ul li {
          text-align: left;
          float: none;
          display: block;
          margin: 0;
          background-color: #f8f8f8; }
          nav .gnavi > ul li:not(:last-child) {
            border-bottom: 1px solid #ccc; } }
      nav .gnavi > ul li a {
        color: #444;
        font-size: 14px;
        font-weight: bold;
        display: block;
        padding: 8px 0;
        transition: color 0.3s; }
        @media only screen and (max-width: 1170px) {
          nav .gnavi > ul li a {
            font-size: 14px;
            width: 100%;
            height: auto;
            padding: 15px 18px;
            position: relative; } }
        nav .gnavi > ul li a:hover {
          color: #10168c; }
        nav .gnavi > ul li a.active {
          border-bottom: solid #e10602 2px; }
      nav .gnavi > ul li .has-child.is-open ~ ul {
        max-height: 100vh;
        padding: 0px;
        transition: all .8s; }
        @media only screen and (max-width: 1170px) {
          nav .gnavi > ul li .has-child.is-open ~ ul {
            padding: 0; } }
      nav .gnavi > ul li .accordion_menu {
        position: absolute;
        left: 0;
        top: 52px;
        padding: 0px;
        overflow: hidden;
        max-height: 0;
        text-align: center;
        background-color: #f1f1f1; }
        nav .gnavi > ul li .accordion_menu li {
          float: none;
          text-align: left;
          margin: 0px auto;
          padding: 0px;
          border: none; }
          @media only screen and (max-width: 1170px) {
            nav .gnavi > ul li .accordion_menu li {
              width: 100% !important;
              background: #dedede; } }
          @media only screen and (max-width: 1170px) {
            nav .gnavi > ul li .accordion_menu li:not(:last-child) {
              border-bottom: 1px solid #ccc; } }
          nav .gnavi > ul li .accordion_menu li a {
            font-family: 'Roboto', Arial, sans-serif;
            width: 100%;
            height: auto;
            padding: 14px;
            display: inline-block;
            background-color: #f1f1f1;
            transition: all 0.5s; }
            @media only screen and (max-width: 1170px) {
              nav .gnavi > ul li .accordion_menu li a {
                padding: 10px 18px;
                display: block; } }
            nav .gnavi > ul li .accordion_menu li a:after {
              content: '\f105';
              font-size: 16px;
              font-family: "fontello";
              float: right; }
            nav .gnavi > ul li .accordion_menu li a:hover {
              color: #fff;
              background: #10168c; }
    @media only screen and (max-width: 1170px) {
      nav .gnavi .has-child + .accordion_menu {
        max-height: 0;
        overflow: hidden; }
      nav .gnavi li .has-child.is-open + ul {
        max-height: 100vh;
        position: relative;
        top: inherit;
        left: inherit;
        padding: 0; }
      nav .gnavi .has-child:after {
        content: '\f107';
        font-size: 20px;
        font-family: "fontello";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%); } }
  nav .gnavi_contact {
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    font-size: 14px;
    text-align: center;
    background: #10168c;
    margin-left: 60px;
    padding: 13px 10px;
    transition: background-color 0.3s; }
    @media only screen and (max-width: 1170px) {
      nav .gnavi_contact {
        top: -44px;
        right: 64px;
        width: 170px;
        font-size: 12px;
        margin: 0;
        padding: 0;
        z-index: 1000; } 
		nav .gnavi_contact .pc_only {
			display:none;
		}}
    nav .gnavi_contact i {
      font-size: 30px;
      line-height: 30px;
      margin-bottom: 4px;
      display: block; }
      @media only screen and (max-width: 1170px) {
        nav .gnavi_contact i {
          font-size: 16px;
          margin-right: 3px;
          margin-bottom: 0;
          display: inline-block;
          /*position: relative;
          top: 4px;*/ } }
    nav .gnavi_contact:hover {
      background: #1821d1; }

/*----------------------------------------
footer
----------------------------------------*/
#footer {
  color: #fff;
  text-align: center;
  background: #181818;
  padding: 60px 0 30px;
  position: relative;
  z-index: 10; }
  @media only screen and (max-width: 640px) {
    #footer {
      padding: 30px 0 20px; } }
  #footer a {
    color: #fff;
    text-decoration: underline; }
    #footer a:hover {
      text-decoration: none; }
  #footer .footer_link {
    display: flex;
    justify-content: center;
    padding-bottom: 2em; }
    #footer .footer_link li {
      flex-basis: 15%;
      padding: 1em 0; }
  #footer .footer_contact {
    margin-bottom: 60px; }
    @media only screen and (max-width: 640px) {
      #footer .footer_contact {
        line-height: 1.5;
        margin-bottom: 20px; }
	#footer .footer_link {
    flex-direction: column;}
	}
  #footer .copyright {
    font-size: 12px; }

/*# sourceMappingURL=common.css.map */
