@charset "UTF-8";
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format("opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format("opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format("opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format("opentype"); }
/**
 * 目次
 *
 * 01. Reset
 * 02. Base
 * 03. Layout
 * 04. Parts
 * 05. Responisive
 *
 */
/* ==========================================================================
   01. 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 {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

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 #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* ==========================================================================
   02. Base
   ========================================================================== */
html {
  color: #333;
  font-size: 62.5%;
  overflow-y: scroll;
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200; }
  html.font-medium {
    font-size: 62.5%; }
  html.font-large {
    font-size: 72.5%; }

body {
  font-size: 160%;
  line-height: 2.125;
  min-width: 1100px;
  overflow-x: hidden; }

@media screen and (max-width: 767px) {
  body {
    font-size: 140%;
    line-height: 1.75;
    min-width: 100%; } }
/* link
   ========================================================================== */
a {
  color: #000;
  text-decoration: none; }

a:hover {
  color: #404040;
  text-decoration: underline; }

a:link,
a:visited,
a:active,
a:hover {
  /* FireFox リンク選択時の点線を消す */
  overflow: hidden;
  outline: none; }

a.link-line{
    color: #3055B4;
    text-decoration: underline; }
a.link-line:hover{
    text-decoration: none; }
/* image
   ========================================================================== */
img {
  line-height: 1.0;
  vertical-align: bottom; }

table th img,
table td img {
  vertical-align: middle; }

/* ClearFix
   ========================================================================== */
.clear {
  clear: both; }

.clearfix,
.fbox,
.item-wrap,
.has-side {
  display: block; }
  .clearfix:after,
  .fbox:after,
  .item-wrap:after,
  .has-side:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

/* float
   ========================================================================== */
.fr {
  float: right; }

.fl {
  float: left; }

ul.fbox li {
  float: left;
  display: inline; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* form label
   ========================================================================== */
input,
textarea,
label {
  vertical-align: middle; }

/* position
   ========================================================================== */
.text-r {
  text-align: right !important; }

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

.text-l {
  text-align: left !important; }

/* ==========================================================================
   03. Layout
   ========================================================================== */
/* wrapper
   ========================================================================== */
.col2 .contents-inner {
  padding-top: 55px;
  display: block; }
  .col2 .contents-inner:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  .col2 .contents-inner #main {
    float: left;
    width: 840px; }
  .col2 .contents-inner #side {
    float: right;
    width: 200px; }

@media screen and (max-width: 767px) {
  .col2 {
    padding-top: 44px;
    position: relative; }
    .col2 .contents-inner {
      padding-top: 0; }
      .col2 .contents-inner #main,
      .col2 .contents-inner #side {
        display: block;
        width: 100%; }
      .col2 .contents-inner #main {
        padding-top: 13px; }
      .col2 .contents-inner #side {
        height: 44px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1; } }
/* header
   ========================================================================== */
.head-wrap {
  border-bottom: 1px solid #eee;
  font-weight: 500; }

header {
  padding-top: 12px; }

.head-inner {
  margin: 0 auto;
  position: relative;
  width: 1100px; }

.head-parts-wrap {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%; }

.head-parts {
  padding-top: 20px;
  position: absolute;
  text-align: right;
  top: 0;
  right: 0;
  letter-spacing: -.40em; }

.head-home,
.head-fontsize,
.head-lang,
.head-srch,
.head-inquiry {
  line-height: 1;
  margin-left: 20px;
  vertical-align: middle;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle; }

.head-home {
  margin-top: 2px; }
  .head-home a {
    font-size: 12px;
    font-size: 1.2rem;
    background: url(img/icon_home.png) 13px 6px no-repeat;
    border: 1px solid #ccc;
    border-radius: 2px;
    display: block;
    padding: 8px 12px 8px 30px;
    text-decoration: none; }

.head-fontsize {
  letter-spacing: -.40em;
  margin-left: 12px; }
  .head-fontsize dt,
  .head-fontsize dd {
    border-right: 1px solid #ddd;
    padding: 2px 8px;
    vertical-align: middle;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    font-size: 12px;
    font-size: 1.2rem; }
  .head-fontsize dd {
    color: #a3a3a3;
    cursor: pointer; }
    .head-fontsize dd.current {
      color: #005bac; }

.head-lang {
  font-size: 12px;
  font-size: 1.2rem; }

.head-srch {
  position: relative; }

.head-srch-input {
  border: 1px solid #ddd;
  border-radius: 14px;
  padding: 6px 33px 6px 10px; }

.head-srch-submit {
  position: absolute;
  right: 7px;
  top: 1px; }

.head-inquiry {
  text-align: center;
  font-size: 13px;
  font-size: 1.3rem; }
  .head-inquiry a {
    border-radius: 3px;
    border: 2px solid #005bac;
    color: #005bac;
    display: inline-block;
    padding: 7px 20px; }

@media screen and (min-width: 768px) {
  .head-wrap {
    min-height: 141px; } }
@media screen and (max-width: 767px) {
  header {
    box-sizing: border-box;
    height: 60px;
    padding-top: 10px;
    width: 100%; }

  .head-inner {
    padding-bottom: 8px;
    width: 100%; }

  .head-logo {
    height: auto;
    margin-left: 10px;
    width: 251px; }
    .head-logo img {
      width: 100px; }

  #head-nav {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease; }
    #head-nav.show {
      opacity: 1;
      overflow-x: hidden;
      position: absolute;
      visibility: visible; }

  .head-parts-wrap {
    position: static; }

  .head-parts {
    padding-top: 0;
    position: relative;
    text-align: left; }

  .head-fontsize,
  .head-lang,
  .head-srch,
  .head-inquiry {
    display: block;
    margin-left: 0; }

  .head-parts {
    padding-left: 10px;
    padding-right: 10px; }

  .head-home {
    display: none; }

  .head-fontsize {
    display: none; }

  .head-lang {
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    margin: 15px auto 35px;
    text-align: center;
    width: 176px; }
    .head-lang a {
      display: block;
      padding: 14px 0; }
    .head-lang .icon-arrow01 {
      padding: 0 0 0 13px; }
    .head-lang .icon-arrow01:before {
      border-width: 2px !important;
      height: 4px;
      width: 4px; }

  .head-srch {
    margin-top: 20px; }

  .head-srch-input {
    border-radius: 22px;
    box-sizing: border-box;
    height: 44px;
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem; }

  .head-srch-submit {
    top: 10px; }

  .head-inquiry {
    margin-bottom: 55px;
    margin-top: 20px;
    font-size: 13px;
    font-size: 1.3rem; }
    .head-inquiry a {
      display: block;
      text-decoration: none;
      padding: 17px 20px;
      font-size: 16px;
      font-size: 1.6rem; }

  #sp-head-menu {
    border-left: 1px solid #ddd;
    box-sizing: border-box;
    height: 60px;
    padding-top: 15px;
    position: absolute;
    right: 0;
    text-align: center;
    top: -10px;
    width: 59px; }
    #sp-head-menu .label {
      color: #555;
      line-height: 1;
      font-size: 10px;
      font-size: 1rem; }

  .head-menu-bar {
    margin: 0 auto;
    height: 20px;
    width: 30px;
    position: relative; }
    .head-menu-bar .bar {
      position: absolute;
      left: 0;
      width: 100%;
      height: 4px;
      background-color: #005bac;
      border-radius: 2px;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease; }
      .head-menu-bar .bar:nth-child(1) {
        top: 0; }
      .head-menu-bar .bar:nth-child(2) {
        top: 8px; }
      .head-menu-bar .bar:nth-child(3) {
        bottom: 0; }

  #sp-head-menu.close .head-menu-bar .bar:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg); }
  #sp-head-menu.close .head-menu-bar .bar:nth-of-type(2) {
    opacity: 0; }
  #sp-head-menu.close .head-menu-bar .bar:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg); } }
/* navigation
========================================================================== */
#gnav-wrap {
  margin-top: 19px;
  padding-bottom: 6px;
  padding-top: 6px;
  position: relative;
  background: #fff;
  width: 100%;
  z-index: 101; }

#gnav {
  display: table;
  margin: 0 auto;
  width: 1100px; }
  #gnav > li {
    border-right: 1px solid #ddd;
    display: table-cell;
    text-align: center;
    white-space: nowrap;
    overflow: hidden; }
    #gnav > li:first-child {
      border-left: 1px solid #ddd; }
    #gnav > li span {
      display: inline-block;
      box-sizing: border-box;
      min-width: 172px;
      padding: 2px 15px; }
    #gnav > li .gnav-sp-lv2 {
      display: none; }
    #gnav > li .icon-blank:before {
      border-top: 2px solid #005bac;
      border-right: 2px solid #005bac; }

#gnav-menu {
  left: 0;
  position: absolute;
  top: 50px;
  width: 100%;
  z-index: 1000; }

.m-menu {
  background-color: #fff !important;
  box-shadow: 0px 7px 27px -11px #2b2b2b;
  -moz-box-shadow: 0px 7px 27px -11px #2b2b2b;
  -webkit-box-shadow: 0px 7px 27px -11px #2b2b2b;
  color: #fff;
  min-height: 300px;
  position: absolute;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }
  .m-menu.current {
    opacity: 1;
    visibility: visible; }
  .m-menu .main-ttl {
    background-repeat: no-repeat;
    background-size: cover; }
    .m-menu .main-ttl .main-ttl-in {
      font-size: 30px;
      font-size: 3rem;
      font-weight: 400;
      text-shadow: none; }
  .m-menu.cat-businessintro .main-ttl {
    background-image: url(img/bg_main_menu_businessintro.jpg);
    border-bottom: 3px solid #005bac; }
    .m-menu.cat-businessintro .main-ttl .main-ttl-in {
      color: #005bac;
      text-shadow: 0 0 5px #fff; }
  .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li {
    float: left;
    margin-right: 25px;
    margin-top: 25px;
    width: 350px; }
    .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li:nth-of-type(3n) {
      margin-right: 0; }
    .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li a {
      text-decoration: none; }
      .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li a .wrap-menu-list {
        display: table;
        width: 100%; }
        .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li a .wrap-menu-list .ph {
          display: table-cell;
          text-align: left;
          vertical-align: middle;
          width: 150px; }
        .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li a .wrap-menu-list .txt {
          background-color: #005bac;
          -webkit-transition: background-color ease 0.25s;
          transition: background-color ease 0.25s;
          color: #fff;
          display: table-cell;
          padding-left: 15px;
          text-align: left;
          vertical-align: middle; }
          .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li a .wrap-menu-list .txt .cap {
            display: block;
            line-height: 1em;
            font-size: 11px;
            font-size: 1.1rem; }
      .m-menu.cat-businessintro .m-menu-contents .businessintro-menu-list li a .wrap-menu-list:hover .txt {
        background-color: #0e86f0 !important; }
  .m-menu.cat-company .main-ttl {
    background-image: url(img/bg_main_menu_company.jpg); }
  .m-menu.cat-products .main-ttl {
    background-image: url(img/bg_main_menu_products.jpg); }
    .m-menu.cat-products .main-ttl .main-ttl-in {
      color: #333;
      text-shadow: 0 0 5px #fff; }
  .m-menu.cat-products .m-menu-contents .bnr-special {
    width: 290px;
    height: 260px;
    background: url(/common/css/img/m_menu_bg_special.jpg);
    margin-right: 20px; }
    .m-menu.cat-products .m-menu-contents .bnr-special a {
      text-decoration: none;
      display: block;
      padding: 50px 30px 0;
      box-sizing: border-box; }
    .m-menu.cat-products .m-menu-contents .bnr-special .sttl {
      color: #000;
      font-weight: 200;
      margin-bottom: 15px;
      padding-left: 15px;
      position: relative;
      text-shadow: 0 0 5px #fff;
      font-size: 26px;
      font-size: 2.6rem; }
      .m-menu.cat-products .m-menu-contents .bnr-special .sttl:before {
        background: url(/common/css/img/m_menu_txt_newpickup.png) left top no-repeat;
        background-size: 100% auto;
        content: "";
        height: 65px;
        left: -25px;
        position: absolute;
        top: -30px;
        width: 124px; }
  .m-menu.cat-products .m-menu-contents .area-srch {
    background: #f7f7f7;
    border-radius: 5px;
    box-sizing: border-box;
    height: 260px;
    padding: 30px 35px 20px;
    width: 570px; }
    .m-menu.cat-products .m-menu-contents .area-srch .sttl {
      color: #000;
      font-weight: 200;
      margin-bottom: 5px;
      text-shadow: 0 0 5px #fff;
      font-size: 26px;
      font-size: 2.6rem; }
    .m-menu.cat-products .m-menu-contents .area-srch .products-srch {
      margin-bottom: 20px;
      position: relative; }
      .m-menu.cat-products .m-menu-contents .area-srch .products-srch .products-srch-input {
        border: 1px solid #ddd;
        border-radius: 25px;
        box-sizing: border-box;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 15px 45px 15px 30px;
        width: 100%; }
      .m-menu.cat-products .m-menu-contents .area-srch .products-srch .products-srch-submit {
        position: absolute;
        right: 20px;
        top: 10px; }
    .m-menu.cat-products .m-menu-contents .area-srch .btn-srch {
      width: 100%; }
      .m-menu.cat-products .m-menu-contents .area-srch .btn-srch li {
        box-sizing: border-box;
        border-right: 1px solid #c7c7c7;
        text-align: center;
        width: 50%; }
        .m-menu.cat-products .m-menu-contents .area-srch .btn-srch li:first-child {
          border-left: 1px solid #c7c7c7; }
        .m-menu.cat-products .m-menu-contents .area-srch .btn-srch li a {
          display: block;
          padding: 10px 0; }
  .m-menu.cat-products .m-menu-contents .area-btn {
    width: 200px; }
    .m-menu.cat-products .m-menu-contents .area-btn .bt-qa {
      margin-bottom: 20px; }
      .m-menu.cat-products .m-menu-contents .area-btn .bt-qa a {
        border: 1px solid #ddd;
        border-radius: 5px;
        display: block;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: bold;
        letter-spacing: .1em;
        padding: 15px 10px 15px 0;
        text-align: center;
        text-decoration: none; }
    .m-menu.cat-products .m-menu-contents .area-btn .btn-kanpy a {
      display: block;
      text-decoration: none;
      background: url(/common/css/img/m_menu_img_kanpy.jpg) right top no-repeat;
      border-radius: 5px;
      padding-top: 100px; }
      .m-menu.cat-products .m-menu-contents .area-btn .btn-kanpy a .wrap-kanpy {
        background: url(/common/css/img/m_menu_bg_knapy.png) right bottom no-repeat;
        text-align: center; }
        .m-menu.cat-products .m-menu-contents .area-btn .btn-kanpy a .wrap-kanpy .logo-kanpy {
          padding-top: 5px; }
        .m-menu.cat-products .m-menu-contents .area-btn .btn-kanpy a .wrap-kanpy .text-kanpy {
          color: #fff;
          margin-top: 5px;
          padding-bottom: 5px;
          font-size: 11px;
          font-size: 1.1rem; }
          .m-menu.cat-products .m-menu-contents .area-btn .btn-kanpy a .wrap-kanpy .text-kanpy span {
            border-bottom: 1px solid #fff; }
  .m-menu.cat-irinfo .main-ttl {
    background-image: url(img/bg_main_menu_irinfo.jpg); }
  .m-menu.cat-csr .main-ttl {
    background-image: url(img/bg_main_menu_csr.jpg); }
    .m-menu.cat-csr .main-ttl .main-ttl-in {
      color: #333;
      text-shadow: 0 0 5px #fff; }
  .m-menu .m-menu-contents {
    margin: 0 auto;
    padding: 15px 0 55px;
    width: 1100px; }
    .m-menu .m-menu-contents .m-menu-list {
      display: block; }
      .m-menu .m-menu-contents .m-menu-list:after {
        content: "";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden; }
      .m-menu .m-menu-contents .m-menu-list li {
        width: 344px;
        float: left;
        margin-right: 34px;
        border-bottom: 1px solid #ddd; }
        .m-menu .m-menu-contents .m-menu-list li:nth-of-type(3n) {
          margin-right: 0; }
        .m-menu .m-menu-contents .m-menu-list li a {
          display: block;
          font-size: 13px;
          font-size: 1.3rem;
          font-weight: bold;
          letter-spacing: .1em;
          padding: 15px 0;
          text-decoration: none; }
          .m-menu .m-menu-contents .m-menu-list li a:hover {
            color: #005bac; }
        .m-menu .m-menu-contents .m-menu-list li .cap {
          font-size: 11px;
          font-size: 1.1rem; }

@media screen and (min-width: 768px) {
  #gnav-wrap.fixed {
    position: fixed;
    top: 0;
    margin-top: 0;
    border-bottom: 1px solid #ddd; }
    #gnav-wrap.fixed #gnav-menu {
      top: 49px; } }
@media screen and (max-width: 767px) {
  #gnav-wrap {
    padding-top: 0;
    margin-top: 0; }

  #gnav {
    border-top: 1px solid #ddd;
    display: block; }
    #gnav > li {
      border: none;
      border-bottom: 1px solid #ddd;
      display: block;
      text-align: left;
      font-size: 16px;
      font-size: 1.6rem; }
      #gnav > li:first-child {
        border-left: none; }
      #gnav > li a {
        display: block;
        text-decoration: none; }
      #gnav > li div.toggle.open span:before {
        webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg); }
      #gnav > li span {
        font-weight: 200;
        line-height: 1;
        min-width: inherit;
        padding: 20px 20px 20px 32px;
        position: relative; }
        #gnav > li span:before {
          border-top: 2px solid #005bac;
          border-right: 2px solid #005bac;
          content: '';
          display: block;
          margin: auto;
          position: absolute;
          top: 0;
          bottom: 0;
          height: 4px;
          width: 4px;
          left: 20px;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
      #gnav > li .gnav-sp-lv2 li {
        background: #F2F2F2;
        border-top: 1px solid #ddd; }
        #gnav > li .gnav-sp-lv2 li span {
          font-size: 13px;
          font-size: 1.3rem;
          padding: 15px 20px; }
          #gnav > li .gnav-sp-lv2 li span:before {
            display: none; }
        #gnav > li .gnav-sp-lv2 li.active span {
          font-weight: 600; }

  #gnav-menu {
    display: none; } }
/* side
   ========================================================================== */
.side-ttl {
  border-top: 3px solid #005bac;
  box-sizing: border-box;
  color: #005bac;
  font-weight: 700;
  height: 56px;
  padding-top: 14px;
  text-align: center;
  font-size: 15px;
  font-size: 1.5rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.side-list {
  border-top: 1px solid #ddd; }
  .side-list li {
    letter-spacing: -.08em;
    line-height: 1.5;
    font-size: 14px;
    font-size: 1.4rem; }
    .side-list li a {
      display: block; }
    .side-list li span {
      display: block;
      padding: 10px 0 10px 24px; }
    .side-list li.active {
      color: #005bac; }
      .side-list li.active > span {
        font-weight: 700; }
  .side-list > li {
    border-bottom: 1px solid #ddd; }
    .side-list > li span {
      padding: 10px 0 10px 24px;
      position: relative; }
      .side-list > li span:before {
        border-top: 2px solid #005bac;
        border-right: 2px solid #005bac;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        height: 4px;
        width: 4px;
        left: 13px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
    .side-list > li.active .side-list-lv2 {
      display: block; }

.side-list-lv2 {
  display: none;
  padding-bottom: 10px; }
  .side-list-lv2 > li span {
    padding: 5px 0 5px 24px; }
    .side-list-lv2 > li span:before {
      display: none; }

@media screen and (max-width: 767px) {
  .side-ttl {
    background-color: #005bac;
    color: #fff;
    height: 44px;
    padding: 6px 20px 0 20px;
    text-align: left; }
    .side-ttl:before, .side-ttl:after {
      background-color: #fff;
      border-radius: 2px;
      content: '';
      display: block;
      height: 12px;
      position: absolute;
      right: 24px;
      top: 16px;
      width: 4px; }
    .side-ttl:before {
      -webkit-transform: translateX(-5px) rotate(-40deg);
      -ms-transform: translateX(-5px) rotate(-40deg);
      transform: translateX(-5px) rotate(-40deg); }
    .side-ttl:after {
      -webkit-transform: translateX(1px) rotate(-140deg);
      -ms-transform: translateX(1px) rotate(-140deg);
      transform: translateX(1px) rotate(-140deg); }

  .side-ttl.open:before {
    -webkit-transform: translateX(1px) rotate(320deg);
    -ms-transform: translateX(1px) rotate(320deg);
    transform: translateX(1px) rotate(320deg); }
  .side-ttl.open:after {
    -webkit-transform: translateX(-5px) rotate(40deg);
    -ms-transform: translateX(-5px) rotate(40deg);
    transform: translateX(-5px) rotate(40deg); }

  .side-list {
    background-color: #034d8f;
    border-top: 1px solid #598cb8;
    display: none;
    padding: 14px 20px 34px; }
    .side-list li {
      color: #fff;
      letter-spacing: 0; }
      .side-list li a {
        color: #fff; }
      .side-list li.active {
        color: #598cb8; }
    .side-list > li {
      border-bottom: 1px solid #598cb8; }
      .side-list > li span {
        padding: 12px 0 12px 14px; }
        .side-list > li span:before {
          border-top-color: #fff;
          border-right-color: #fff;
          left: 0; }

  .side-list-lv2 {
    border-top: 1px solid #598cb8;
    padding-bottom: 0;
    padding-left: 35px; }
    .side-list-lv2 > li {
      border-bottom: 1px solid #598cb8; }
      .side-list-lv2 > li:last-child {
        border-bottom: none; }
      .side-list-lv2 > li span {
        padding: 12px 0; } }
/* footer
   ========================================================================== */
footer {
  border-top: 1px solid #ddd; }

.foot-head {
  padding-bottom: 30px;
  padding-top: 34px; }

.foot-logo {
  left: 0;
  position: absolute;
  top: 21px; }

.foot-nav-products {
  text-align: right;
  letter-spacing: -.40em; }
  .foot-nav-products li {
    border-left: 1px solid #ddd;
    line-height: 1;
    text-align: center;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 500; }
  .foot-nav-products a {
    display: block;
    padding: 10px 33px 9px; }

.foot-nav-inquiry {
  padding-left: 21px; }
  .foot-nav-inquiry a {
    border-radius: 2px;
    border: 2px solid #005bac;
    color: #005bac;
    display: block; }

.foot-nav-wrap {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd; }

.foot-nav-inner {
  display: table;
  margin: 0 auto;
  table-layout: fixed;
  width: 1100px; }

.foot-nav-box {
  border-left: 1px solid #ddd;
  display: table-cell;
  padding: 34px 20px 55px;
  vertical-align: top; }
  .foot-nav-box:last-child {
    border-right: 1px solid #ddd; }

.foot-nav-ttl {
  line-height: 1.4; }

.foot-nav li {
  line-height: 1.5;
  margin-top: 8px;
  padding: 0 0 0 9px;
  position: relative;
  font-size: 14px;
  font-size: 1.4rem; }
  .foot-nav li:before {
    border-top: 1px solid #005bac;
    border-right: 1px solid #005bac;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 3px;
    width: 3px;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

.foot-info-wrap {
  margin: 0 auto;
  padding-bottom: 35px;
  padding-top: 30px;
  position: relative;
  width: 1100px; }

.foot-info {
  letter-spacing: -.40em; }
  .foot-info li {
    line-height: 1;
    margin-right: 27px;
    vertical-align: top;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    font-size: 13px;
    font-size: 1.3rem; }
    .foot-info li:last-child {
      margin-right: 0; }

.copyright {
  position: absolute;
  right: 0;
  top: 35px;
  font-size: 11px;
  font-size: 1.1rem; }

@media screen and (max-width: 767px) {
  .foot-head {
    padding: 20px 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box; }

  .foot-logo {
    display: none; }

  .foot-nav-wrap {
    display: none; }

  .foot-nav-products {
    font-size: 0;
    overflow: hidden;
    text-align: left; }
    .foot-nav-products li {
      border-left: none;
      border-right: 1px solid #ddd;
      float: left;
      width: 33.3%;
      font-size: 13px;
      font-size: 1.3rem;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box; }
      .foot-nav-products li:first-child {
        border-left: 1px solid #ddd; }
    .foot-nav-products a {
      padding: 10px 0 9px; }

  .foot-nav-inquiry {
    border: none !important;
    display: block;
    float: none !important;
    margin-top: 20px;
    padding-left: 0;
    width: 100% !important;
    font-size: 16px;
    font-size: 1.6rem; }

  .foot-info-wrap {
    padding-bottom: 30px;
    padding-top: 0;
    width: 100%; }

  .foot-info {
    padding-bottom: 20px;
    text-align: center; }
    .foot-info li {
      margin-top: 10px;
      vertical-align: top;
      font-size: 13px;
      font-size: 1.3rem; }

  .copyright {
    border-top: 1px solid #ddd;
    padding-top: 13px;
    position: relative;
    right: inherit;
    text-align: center;
    top: inherit;
    font-size: 11px;
    font-size: 1.1rem; } }
/* ==========================================================================
   04. Parts
   ========================================================================== */
/* ボックス
========================================================================== */
.main-block {
  margin: 0 auto;
  width: 1100px; }

@media screen and (max-width: 767px) {
  .main-block {
    width: 100%; } }
.box-bg-gray {
  background-color: #f5f5f5;
  line-height: 2;
  margin-bottom: 13px;
  padding: 30px;
  font-size: 13px;
  font-size: 1.3rem; }
  @media screen and (max-width: 767px) {
    .box-bg-gray {
      padding: 20px; } }

.box-line-top {
  border-top: 1px solid #cbcbcb;
  margin-top: 55px;
  padding-top: 43px; }
  @media screen and (max-width: 767px) {
    .box-line-top {
      margin-top: 30px;
      padding-top: 30px; } }

.cattop-box {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-block;
  height: 89px;
  margin-bottom: 21px;
  margin-right: 34px;
  vertical-align: top;
  width: 533px;
  font-size: 16px;
  font-size: 1.6rem; }
  .cattop-box a {
    box-sizing: border-box;
    display: block;
    height: 87px;
    padding: 5px 5px 5px 21px;
    position: relative;
    text-decoration: none;
    -webkit-transition: opacity ease 0.25s;
    transition: opacity ease 0.25s; }
    .cattop-box a:hover {
      opacity: 0.7; }
  .cattop-box img {
    vertical-align: top; }
  .cattop-box h2 {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .cattop-box .icon-arrow01 {
    padding-left: 12px; }
    .cattop-box .icon-arrow01:before {
      border-right-width: 2px;
      border-top-width: 2px;
      height: 4px;
      width: 4px; }

.cattop-box-list {
  border: none;
  position: relative; }
  .cattop-box-list:before, .cattop-box-list:after {
    box-sizing: border-box;
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  .cattop-box-list:before {
    border: 1px solid #ddd;
    border-radius: 4px; }
  .cattop-box-list:after {
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 30%);
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 30%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 30%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); }
  .cattop-box-list .cattop-box-inner {
    position: relative;
    z-index: 100; }
  .cattop-box-list a {
    height: auto;
    padding: 0; }
  .cattop-box-list h2 {
    position: static;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; }
  .cattop-box-list ul {
    border-top: 1px solid #ddd;
    margin: 0 19px;
    position: relative;
    z-index: 100; }
    .cattop-box-list ul li {
      border-bottom: 1px solid #ddd;
      font-weight: 700; }
    .cattop-box-list ul a {
      padding: 12px 0; }

.cattop-box-col2 {
  font-size: 0; }
  .cattop-box-col2 .cattop-box {
    height: 251px;
    width: 533px; }
    .cattop-box-col2 .cattop-box:nth-child(2n) {
      margin-right: 0; }
    .cattop-box-col2 .cattop-box a {
      height: 249px; }

.cattop-box-col3 {
  font-size: 0; }
  .cattop-box-col3 .cattop-box {
    width: 344px; }
    .cattop-box-col3 .cattop-box:nth-child(3n) {
      margin-right: 0; }

@media screen and (max-width: 767px) {
  .cattop-box {
    height: 55px;
    margin-bottom: 13px;
    margin-right: 0 !important;
    width: 100% !important;
    font-size: 14px;
    font-size: 1.4rem; }
    .cattop-box a {
      height: 53px;
      padding-left: 13px; }

  .cattop-box-list {
    border: 1px solid #ddd; }
    .cattop-box-list:before, .cattop-box-list:after {
      display: none; }
    .cattop-box-list .cattop-box-inner {
      position: relative;
      z-index: 100; }
    .cattop-box-list a {
      height: auto;
      padding: 0; }
    .cattop-box-list h2 {
      position: static;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }
    .cattop-box-list ul {
      border-top: 1px solid #ddd;
      margin: 0 13px 4px;
      position: relative;
      z-index: 100; }
      .cattop-box-list ul li:last-child {
        border-bottom: none; }
      .cattop-box-list ul a {
        padding: 14px 0; } }
.topics-detail .topics-detail-ttl {
  border-top: 6px solid #f2f7fb;
  border-bottom: 1px solid #c7c7c7;
  padding: 21px 0 15px;
  margin-bottom: 40px; }
  .topics-detail .topics-detail-ttl .topics-detail-date,
  .topics-detail .topics-detail-ttl .topics-detail-cat {
    line-height: 1; }
  .topics-detail .topics-detail-ttl .topics-detail-date {
    font-size: 16px;
    font-size: 1.6rem;
    margin-right: 10px; }
  .topics-detail .topics-detail-ttl .topics-detail-cat {
    border-style: solid;
    border-radius: 2px;
    border-width: 2px;
    display: inline-block;
    padding-bottom: 4px;
    padding-top: 3px;
    text-align: center;
    width: 106px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 12px;
    font-size: 1.2rem;
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 500; }
    .topics-detail .topics-detail-ttl .topics-detail-cat.cat-irinfo {
      border-color: #1c83ed;
      color: #1c83ed; }
    .topics-detail .topics-detail-ttl .topics-detail-cat.cat-news {
      border-color: #fc9715;
      color: #fc9715; }
    .topics-detail .topics-detail-ttl .topics-detail-cat.cat-recruit {
      border-color: #2ac1f2;
      color: #2ac1f2; }
    .topics-detail .topics-detail-ttl .topics-detail-cat.cat-csr {
      border-color: #3cbf27;
      color: #3cbf27; }
  .topics-detail .topics-detail-ttl h1 {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: normal; }
.topics-detail .wrap-back-btn {
  border-top: 1px solid #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
  padding: 35px 10px; }
  .topics-detail .wrap-back-btn .back-btn {
    width: 445px;
    margin: 0 auto; }
    .topics-detail .wrap-back-btn .back-btn a {
      display: block;
      background: #b1b0b0;
      color: #fff;
      text-align: center;
      text-decoration: none;
      border-radius: 4px;
      padding: 15px; }
      .topics-detail .wrap-back-btn .back-btn a:hover {
        background: #ccc; }

.topics-detail-content {
  box-sizing: border-box;
  padding: 0 20px 55px;
  min-width: auto !important;
  width: 840px !important; }
  .topics-detail-content p a {
    text-decoration: underline;
    color: #005bac; }
    .topics-detail-content p a:hover {
      text-decoration: none; }
  .topics-detail-content p img {
    max-width: 100%;
    height: auto !important; }
  .topics-detail-content p span {
    font-size: 13px;
    font-size: 1.3rem; }
  .topics-detail-content ul.list-link li {
    position: relative;
    padding-left: 15px; }
    .topics-detail-content ul.list-link li:before {
      border-top: 2px solid #005bac;
      border-right: 2px solid #005bac;
      content: '';
      display: block;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      height: 4px;
      width: 4px;
      left: 0;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
  .topics-detail-content ul:not(.list-link) li {
    position: relative;
    padding-left: 15px; }
    .topics-detail-content ul:not(.list-link) li:before {
      content: '';
      display: block;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      height: 5px;
      width: 5px;
      border-radius: 50%;
      left: 0;
      background: #000; }
  .topics-detail-content a[href$=".pdf"] {
    background: url(/common/css/img/icon_pdf.png) no-repeat right center;
    padding-right: 27px; }
  .topics-detail-content .fbox .img-fl, .topics-detail-content .fbox .img-fr {
    margin: 0;
    padding: 0; }
  .topics-detail-content .fbox .txt-fr {
    overflow: hidden;
    padding-left: 35px; }
  .topics-detail-content .fbox .txt-fl {
    overflow: hidden;
    padding-right: 35px; }

@media screen and (max-width: 767px) {
  .topics-detail .topics-detail-ttl {
    margin-bottom: 30px; }
    .topics-detail .topics-detail-ttl .topics-detail-date {
      min-width: 90px;
      font-size: 13px;
      font-size: 1.3rem; }
    .topics-detail .topics-detail-ttl .topics-detail-cat {
      width: 86px;
      font-size: 10px;
      font-size: 1rem; }
    .topics-detail .topics-detail-ttl h1 {
      font-size: 18px;
      font-size: 1.8rem;
      font-weight: normal;
      margin-top: 5px; }
  .topics-detail .wrap-back-btn {
    padding: 20px 10px; }
    .topics-detail .wrap-back-btn .back-btn {
      width: 80%;
      margin: 0 auto; }
      .topics-detail .wrap-back-btn .back-btn a {
        padding: 10px;
        font-size: 13px;
        font-size: 1.3rem; }

  .topics-detail-content {
    padding: 0 10px 40px;
    width: 100% !important; }
    .topics-detail-content .fbox .img-fl, .topics-detail-content .fbox .img-fr {
      width: 50%;
      margin: 0 auto 30px;
      text-align: center; }
    .topics-detail-content .fbox .txt-fr {
      padding-left: 0; } }
/* ボタン
   ========================================================================== */
.btn-cmn {
  margin: 55px auto 0;
  width: 445px; }
  .btn-cmn a {
    display: block;
    text-align: center;
    border: 2px solid #015fb6;
    border-radius: 3px;
    color: #015fb6;
    text-decoration: none;
    padding: 10px 0; }
    .btn-cmn a:hover {
      color: #fff;
      background: #015fb6; }
  .btn-cmn a[href$=".pdf"]:after {
    content: "";
    width: 20px;
    height: 20px;
    background: url(/common/css/img/icon_pdf.png) no-repeat right center;
    padding-right: 22px; }
  .btn-cmn a[href$=".pdf"] .bit {
    font-size: 11px;
    font-size: 1.1rem; }
  .btn-cmn.btn-full {
    width: 100%; }

.bt-gotop {
  position: fixed;
  bottom: 120px;
  right: 20px; }
  .bt-gotop a {
    opacity: 1;
    -webkit-transition: opacity ease 0.25s;
    transition: opacity ease 0.25s; }
    .bt-gotop a:hover {
      opacity: 0.7; }

@media screen and (max-width: 767px) {
  .btn-cmn {
    width: 100%; }

  .bt-gotop {
    bottom: 30px;
    right: 15px; }
    .bt-gotop img {
      width: 40px;
      height: 40px; } }
/* フォーム
   ========================================================================== */
/* グラフ
   ========================================================================== */
.graph-wrap {
  border: 3px solid #ddd;
  padding: 24px 0; }

.graph-ttl {
  text-align: center; }

.graph-desc {
  margin: 10px 51px 0; }

@media screen and (max-width: 767px) {
  .graph-wrap {
    border: 3px solid #ddd;
    padding: 15px 0; }

  .graph-ttl {
    padding-bottom: 10px;
    text-align: center; }

  .graph-desc {
    margin: 10px 20px 0; } }
/* アイコン
   ========================================================================== */
/* くの字の矢印アイコン */
.icon-arrow01 {
  padding: 0 0 0 15px;
  position: relative; }
  .icon-arrow01:before {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 4px;
    width: 4px;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  .icon-arrow01.blue:before {
    border-top: 2px solid #005bac;
    border-right: 2px solid #005bac; }
  .icon-arrow01.white:before {
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF; }
  .icon-arrow01.gray:before {
    border-top: 1px solid #9aa3a7;
    border-right: 1px solid #9aa3a7; }

/* zoomアイコン */
.icon-zoom {
  display: block;
  padding: 0 0 0 19px;
  position: relative; }
  .icon-zoom:before {
    background: url(img/icon_zoom.png) no-repeat left top;
    background-size: 15px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 15px;
    width: 15px;
    left: 0; }

/* ファイルアイコン */
a[href$=".xls"]:after,
a[href$=".xlsx"]:after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(/common/css/img/icon_excel.png) no-repeat right center;
  padding-right: 22px; }

/* ブランクアイコン */
.icon-blank:after {
  content: "";
  width: 21px;
  height: 15px;
  background: url(/common/css/img/icon_blank.png) no-repeat right center;
  background-size: 21px auto;
  padding-right: 27px; }

/* 画像
   ========================================================================== */
.img-caption {
  display: block;
  padding-top: 5px;
  text-align: center;
  font-size: 13px;
  font-size: 1.3rem; }

.img-wrap {
  margin-top: 46px;
  margin-bottom: 48px; }

.img-wrap-col2 {
  font-size: 0;
  text-align: center; }
  .img-wrap-col2 .img {
    display: inline-block;
    margin: 0 17px;
    vertical-align: top; }

.img-fl {
  float: left;
  margin-bottom: 20px;
  padding-right: 55px; }

.img-fr {
  float: right;
  margin-bottom: 20px;
  padding-left: 55px; }

@media screen and (max-width: 767px) {
  .img img {
    height: auto;
    width: 100%; }

  .img-caption {
    font-size: 12px;
    font-size: 1.2rem; }

  .img-wrap {
    margin: 30px 0; }

  .img-wrap-col2 {
    padding-right: 15px; }
    .img-wrap-col2 .img {
      margin: 0 15px 15px 0;
      width: 50%; }
      .img-wrap-col2 .img:nth-child(2n) {
        margin-right: -15px; }

  .img-fl {
    clear: both;
    float: none;
    margin: 20px auto;
    padding-right: 0; }

  .img-fr {
    clear: both;
    float: none;
    margin: 20px auto;
    padding-left: 0; } }
.fbox01 {
  overflow: hidden; }
  .fbox01 .fl {
    width: 515px; }
  .fbox01 .img-fr {
    box-sizing: border-box;
    width: 325px; }

.fbox02 {
  overflow: hidden; }
  .fbox02 .fl {
    width: 595px; }
  .fbox02 .img-fr {
    box-sizing: border-box;
    width: 245px; }

@media screen and (max-width: 767px) {
  .fbox01 .fl,
  .fbox01 .img-fr, .fbox02 .fl,
  .fbox02 .img-fr {
    float: none; }
  .fbox01 .fl, .fbox02 .fl {
    width: 100%; }
  .fbox01 .img-fr, .fbox02 .img-fr {
    margin-top: 30px;
    width: 50%; } }
/* リスト
   ========================================================================== */
/* トピックス系の一覧リスト */
.topics-list {
  border-top: 1px solid #ddd; }
  .topics-list li {
    border-bottom: 1px solid #ddd;
    padding: 13px 0 13px 15em;
    position: relative; }
  .topics-list a[href$=".pdf"] {
    background: url(/common/css/img/icon_pdf.png) no-repeat right center;
    padding-right: 22px; }

.topics-list-date,
.topics-list-cat {
  line-height: 1;
  position: absolute; }

.topics-list-date {
  left: 0;
  top: 19px;
  font-size: 13px;
  font-size: 1.3rem; }

.topics-list-cat {
  border-style: solid;
  border-radius: 2px;
  border-width: 2px;
  display: inline-block;
  left: 10.2em;
  padding-bottom: 4px;
  padding-top: 3px;
  text-align: center;
  top: 15px;
  width: 90px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 12px;
  font-size: 1.2rem;
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500; }
  .topics-list-cat.cat-irinfo {
    border-color: #1c83ed;
    color: #1c83ed; }
  .topics-list-cat.cat-news {
    border-color: #fc9715;
    color: #fc9715; }
  .topics-list-cat.cat-recruit {
    border-color: #e92133;
    color: #e92133; }
  .topics-list-cat.cat-csr {
    border-color: #3cbf27;
    color: #3cbf27; }

.topics-ttl {
  font-size: 15px;
  font-size: 1.5rem; }

.topics-wrap {
  margin-top: 78px;
  padding-bottom: 88px; }

.topics-ttl,
.topics-lead {
  display: inline-block;
  vertical-align: middle; }

.topics-lead {
  margin-left: 17px;
  font-size: 13px;
  font-size: 1.3rem; }

.topics-lead li {
  font-size: 13px;
  font-size: 1.3rem; }

.topics-category {
  position: absolute;
  right: 0;
  text-align: right;
  top: 0; }
  .topics-category li {
    margin-left: 21px;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    font-size: 13px;
    font-size: 1.3rem; }

.topics-list {
  margin-top: 17px; }

.topics-archive .topics-stit {
  font-weight: normal;
  font-size: 21px;
  font-size: 2.1rem;
  color: #005bac;
  letter-spacing: .1em; }
.topics-archive .topics-list li {
  padding: 7px 0 7px 15em; }
  .topics-archive .topics-list li .topics-list-ttl a {
    font-size: 13px;
    font-size: 1.3rem; }

.pager {
  margin-top: 40px;
  overflow: hidden; }
  .pager ul {
    list-style: none;
    position: relative;
    left: 50%;
    float: left; }
    .pager ul li {
      position: relative;
      left: -50%;
      float: left;
      border-right: 1px solid #ddd; }
      .pager ul li:first-child {
        border-left: 1px solid #ddd; }
      .pager ul li span, .pager ul li a {
        display: block;
        font-size: 13px;
        padding: 0.3em 1em; }
      .pager ul li span {
        background: #005bac;
        color: #fff; }
      .pager ul li a {
        background: #fff; }

@media screen and (max-width: 767px) {
  .topics-list li {
    padding: 11px 0; }
  .topics-list a[href$=".pdf"] {
    background-size: 16px auto;
    padding-right: 16px; }

  .topics-list-date,
  .topics-list-cat {
    display: inline-block;
    position: relative; }

  .topics-list-date {
    min-width: 90px;
    top: inherit;
    font-size: 12px;
    font-size: 1.2rem; }

  .topics-list-cat {
    left: inherit;
    top: inherit;
    width: 86px;
    font-size: 10px;
    font-size: 1rem; }

  .topics-list-ttl {
    display: block;
    line-height: 1.5;
    margin-top: 5px;
    font-size: 13px;
    font-size: 1.3rem; }

  .topics-wrap {
    margin-top: 40px;
    padding-bottom: 30px; }

  .topics-list-lead {
    display: inline-block; }

  .topics-ttl {
    width: 20%; }

  .topics-lead {
    margin-left: 0;
    width: 79%;
    font-size: 11px;
    font-size: 1.1rem; }

  .topics-category {
    margin-top: 10px;
    position: relative;
    text-align: left;
    letter-spacing: -.40em; }
    .topics-category li {
      margin-left: 0;
      width: 50%;
      vertical-align: top;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 11px;
      font-size: 1.1rem;
      display: inline-block;
      letter-spacing: normal;
      vertical-align: middle; }

  .topics-archive .topics-stit {
    font-size: 18px;
    font-size: 1.8rem; }
  .topics-archive .topics-list li {
    padding: 15px 0 15px 0; }
  .topics-archive .pager ul li {
    margin-bottom: 5px; } }
.list-disc {
  list-style-type: disc;
  margin-left: 1.5em; }

.btn-list {
  letter-spacing: -.40em; }
  .btn-list li {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    width: 48%;
    margin-left: 4%; }
    .btn-list li:first-child {
      margin-left: 0; }

@media screen and (max-width: 767px) {
  .btn-list li {
    width: 100%;
    margin-left: 0;
    margin-top: 5px !important; } }
.ast-list li {
  color: #888;
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 5px;
  margin-left: 1em;
  text-indent: -1em; }

@media screen and (max-width: 767px) {
  .ast-list li {
    font-size: 12px;
    font-size: 1.2rem; } }
.indent-list li {
  margin-top: 8px;
  margin-left: 1em;
  text-indent: -1em; }

.icon-arrow01-list.blue a {
  padding: 0 0 0 15px;
  position: relative; }
  .icon-arrow01-list.blue a:before {
    border-top: 2px solid #005bac;
    border-right: 2px solid #005bac;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 4px;
    width: 4px;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

/* その他パーツ
   ========================================================================== */
/* パンくずリスト */
.topicpath-wrap {
  background-color: #005bac; }

.topicpath {
  margin: 108px auto 0;
  padding: 10px 0;
  width: 1100px;
  font-size: 12px;
  font-size: 1.2rem; }
  .topicpath li {
    box-sizing: border-box;
    color: #fff;
    padding: 5px 0 5px 7px; }
    .topicpath li:before {
      border-right: 1px solid #fff;
      border-top: 1px solid #fff;
      content: '';
      display: inline-block;
      height: 5px;
      margin-right: 10px;
      position: relative;
      top: -1px;
      width: 5px;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .topicpath li:first-child {
      padding-left: 0; }
      .topicpath li:first-child:before {
        display: none; }
  .topicpath a {
    color: #fff; }

@media screen and (max-width: 767px) {
  .topicpath-wrap {
    border-top: 1px solid #ddd;
    margin-top: 55px; }

  .topicpath {
    margin-top: 0;
    padding: 15px 10px;
    width: 100%; } }
/* 下層パーツ */
.main-lead {
  color: #271702;
  font-family: "游明朝", YuMincho, serif;
  line-height: 1.54;
  padding: 19px 0 39px;
  text-align: center;
  font-size: 32px;
  font-size: 3.2rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media screen and (max-width: 767px) {
    .main-lead {
      padding: 5px 0 15px;
      font-size: 18px;
      font-size: 1.8rem; } }

.main-text {
  margin-bottom: 22px; }
  @media screen and (max-width: 767px) {
    .main-text {
      line-height: 2;
      font-size: 14px;
      font-size: 1.4rem; } }

/* テキスト */
.text-bold {
  font-weight: 700; }

.text-notes {
  color: #888; }

/* position */
.relative {
  position: relative; }

.text-l {
  text-align: left; }

.text-r {
  text-align: right; }

.text-c {
  text-align: center; }

.vc-box {
  width: 100%;
  margin: 0 auto; }

.vc {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.subscript {
  font-size: 60%; }

/* アンカーリンク */
.nav-anchor {
  margin-bottom: 30px; }
  .nav-anchor ul {
    border-left: 1px solid #ddd; }
    .nav-anchor ul li {
      float: left;
      width: 20%;
      margin-bottom: 10px; }
      .nav-anchor ul li a {
        display: block;
        text-align: center;
        border-right: 1px solid #ddd;
        position: relative; }
        .nav-anchor ul li a:before {
          border-top: 2px solid #005bac;
          border-right: 2px solid #005bac;
          content: '';
          display: inline-block;
          margin: 0 7px 3px 0;
          height: 4px;
          width: 4px;
          left: 10%;
          -webkit-transform: rotate(135deg);
          -ms-transform: rotate(135deg);
          transform: rotate(135deg); }
      .nav-anchor ul li:last-child a {
        border-right: none; }

@media screen and (max-width: 767px) {
  .nav-anchor {
    border-top: 1px solid #ddd; }
    .nav-anchor ul {
      border-left: none; }
      .nav-anchor ul li {
        float: none;
        width: 100% !important;
        margin-bottom: 0; }
        .nav-anchor ul li a {
          border-right: none !important;
          text-align: left;
          text-decoration: none;
          border-bottom: 1px solid #ddd;
          padding-bottom: 10px;
          padding-top: 10px; } }
/* 左右にパディング */
.inner-both-sides {
  padding: 0; }

@media screen and (max-width: 767px) {
  .inner-both-sides {
    padding: 0; } }
/* utility */
.utility .main-ttl {
  background-color: #faf9f7; }
.utility .contents-inner {
  padding-top: 55px; }
.utility .notice li {
  padding-left: 3em;
  text-indent: -3em; }
@media screen and (max-width: 767px) {
  .utility .contents-inner {
    padding-top: 21px; } }
.utility #main h2 {
  border-bottom: 4px solid #ddd;
  font-size: 21px;
  font-size: 2.1rem;
  margin: 55px 0 21px;
  padding-bottom: 8px; }
.utility #main h3 {
  margin: 34px 0 8px; }
.utility #main .list-disc {
  margin-top: 10px; }
@media screen and (max-width: 767px) {
  .utility #main h2 {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 34px 0 13px;
    padding-bottom: 8px; }
  .utility #main h3 {
    margin: 21px 0 8px; } }

/* 404ページ */
.not-found h1.main-ttl {
  background-image: url(img/bg_main_404.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  box-sizing: border-box;
  color: #fff;
  height: 143px;
  margin: 0 auto;
  width: 100%; }
.not-found .main-block {
  padding: 55px 0 144px; }
.not-found h1,
.not-found p {
  text-align: center; }
.not-found h1 {
  font-size: 28px;
  font-size: 2.8rem;
  color: #005bac;
  margin-bottom: 34px; }
  .not-found h1 span {
    display: block;
    margin-bottom: 8px; }
.not-found p {
  margin-top: 13px; }
.not-found .btn-cmn {
  margin-top: 55px; }
@media screen and (max-width: 767px) {
  .not-found .main-block {
    padding: 34px 0 55px; }
  .not-found h1 {
    font-size: 18px;
    font-size: 1.8rem; } }

/*お問い合わせ*/
#contents.contact .line-box {
  border: 5px solid #005bac;
  line-height: 1.4;
  padding: 21px;
  text-align: center; }
  #contents.contact .line-box h2, #contents.contact .line-box p {
    color: #005bac;
    font-weight: bold; }
  #contents.contact .line-box .dh {
    vertical-align: middle;
    font-size: 14px;
    font-size: 1.4rem; }
  #contents.contact .line-box h2 {
    font-size: 21px;
    font-size: 2.1rem; }
  #contents.contact .line-box .tel {
    font-size: 55px;
    font-size: 5.5rem; }
    #contents.contact .line-box .tel a {
      color: #005bac; }
  #contents.contact .line-box .small {
    font-size: 14px;
    font-size: 1.4rem; }
#contents.contact .notice {
  margin-top: 21px; }
  #contents.contact .notice li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 8px;
    padding-left: 1em;
    text-indent: -1em; }
    #contents.contact .notice li a {
      text-decoration: underline; }
    #contents.contact .notice li a:hover {
      text-decoration: none; }
@media screen and (max-width: 767px) {
  #contents.contact .line-box {
    padding: 16px 0px; }
    #contents.contact .line-box h2 {
      font-size: 16px;
      font-size: 1.6rem; }
    #contents.contact .line-box .tel {
      font-size: 30px;
      font-size: 3rem; } }

/* テーブル
   ========================================================================== */
.tbl-highlight {
  overflow: hidden; }
  .tbl-highlight tr:hover {
    background-color: #ebfbff; }
  .tbl-highlight td,
  .tbl-highlight th {
    position: relative; }
    .tbl-highlight td:hover::after,
    .tbl-highlight th:hover::after {
      content: "";
      position: absolute;
      background-color: #ebfbff;
      left: 0;
      top: -5000px;
      height: 10000px;
      width: 100%;
      z-index: -1; }

.vertical-m th, .vertical-m td {
  vertical-align: middle; }

.tbl-th-head {
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  width: 100%; }
  .tbl-th-head caption {
    font-weight: 700;
    margin-bottom: 10px; }
  .tbl-th-head th,
  .tbl-th-head td {
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 10px 10px;
    line-height: 1.3; }
  .tbl-th-head th {
    background: #f5f5f5;
    text-align: center; }

.tbl-th-side {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  width: 100%; }
  .tbl-th-side caption {
    font-weight: 700;
    margin-bottom: 10px; }
  .tbl-th-side th,
  .tbl-th-side td {
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 10px 10px; }
  .tbl-th-side th {
    background: #f5f5f5; }

.tbl-th-both {
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  width: 100%; }
  .tbl-th-both caption {
    font-weight: 700;
    margin-bottom: 10px; }
  .tbl-th-both tr:first-child th {
    text-align: center; }
    .tbl-th-both tr:first-child th:first-child {
      text-align: left; }
  .tbl-th-both th,
  .tbl-th-both td {
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 10px 10px; }
  .tbl-th-both th {
    background: #f5f5f5; }
  .tbl-th-both td:first-child {
    border-left: 1px solid #ddd; }

.tbl-stripe {
  border-top: 1px solid #ddd;
  width: 100%; }
  .tbl-stripe tr:nth-child(2n+1) {
    background: #fafafa; }
  .tbl-stripe th,
  .tbl-stripe td {
    border-bottom: 1px solid #ddd;
    padding: 10px 10px; }
  .tbl-stripe th {
    color: #005bac;
    width: 20%; }
  .tbl-stripe td {
    width: 80%; }

@media screen and (max-width: 767px) {
  .tbl-stripe th,
  .tbl-stripe td {
    padding: 5px 10px; } }
.td-num {
  text-align: right;
  vertical-align: middle; }

table.text13 {
  font-size: 13px;
  font-size: 1.3rem; }

table th, table td {
  line-height: 1.6;
  font-size: 14px;
  font-size: 1.4rem; }
table th {
  text-align: left; }
@media screen and (max-width: 767px) {
  table th,
  table td {
    font-size: 13px;
    font-size: 1.3rem;
    padding: 7px 5px !important;
    line-height: 1.4; } }

.tbl-scroll-wrap {
  overflow: hidden; }

@media screen and (max-width: 767px) {
  .tbl-scroll-wrap {
    overflow-x: auto; }
    .tbl-scroll-wrap::-webkit-scrollbar {
      height: 8px; }
    .tbl-scroll-wrap::-webkit-scrollbar-track {
      border-radius: 4px;
      background: #e6e6e6; }
    .tbl-scroll-wrap::-webkit-scrollbar-thumb {
      border-radius: 4px;
      background: #505457; }
    .tbl-scroll-wrap table {
      margin: 0;
      width: 200%; }
      .tbl-scroll-wrap table th, .tbl-scroll-wrap table td {
        padding: 7px 3px !important;
        line-height: 1.4;
        font-size: 13px;
        font-size: 1.3rem; }

  .tbl-slide-txt {
    font-size: 13px;
    font-size: 1.3rem; } }
/* タイトル
   ========================================================================== */
.main-ttl {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  box-sizing: border-box;
  height: 143px;
  margin: 0 auto;
  width: 100%; }
  .main-ttl .main-ttl-in {
    display: block;
    font-weight: 200;
    letter-spacing: .3em;
    margin: 0 auto;
    position: relative;
    top: 50%;
    width: 1100px;
    font-size: 26px;
    font-size: 2.6rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  @media screen and (max-width: 767px) {
    .main-ttl {
      height: 86px;
      padding: 0 6vw;
      max-width: 100%; }
      .main-ttl .main-ttl-in {
        font-weight: 500;
        letter-spacing: 0;
        text-decoration: none;
        font-size: 20px;
        font-size: 2rem;
        width: 100%; } }

.main-ttl.main-ttl-cap .ttl-cap,
.main-ttl.main-ttl-cap .main-ttl-in {
  top: 37%; }
.main-ttl.main-ttl-cap .ttl-cap {
  display: block;
  font-weight: 200;
  letter-spacing: .3em;
  margin: 0 auto;
  position: relative;
  top: 37%;
  width: 1100px;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }
@media screen and (max-width: 767px) {
  .main-ttl.main-ttl-cap .ttl-cap,
  .main-ttl.main-ttl-cap .main-ttl-in {
    top: 32%; }
  .main-ttl.main-ttl-cap .ttl-cap {
    font-size: 14px;
    font-size: 1.4rem; } }

.sttl01 {
  border-bottom: 6px solid #f2f7fb;
  border-top: 6px solid #f2f7fb;
  color: #005bac;
  font-weight: 400;
  letter-spacing: .1em;
  margin-bottom: 43px;
  margin-top: 89px;
  padding: 4px 0;
  text-align: center;
  font-size: 28px;
  font-size: 2.8rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .sttl01.sttl01-first {
    margin-top: 0; }
  @media screen and (max-width: 767px) {
    .sttl01 {
      border-bottom-width: 4px;
      border-top-width: 4px;
      margin-top: 34px;
      margin-bottom: 21px;
      padding: 6px 0;
      font-size: 18px;
      font-size: 1.8rem; } }

.sttl02 {
  color: #005bac;
  font-weight: 400;
  margin-bottom: 13px;
  font-size: 21px;
  font-size: 2.1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media screen and (max-width: 767px) {
    .sttl02 {
      margin-bottom: 8px;
      font-size: 16px;
      font-size: 1.6rem; } }

.sttl03 {
  font-weight: 500;
  margin-top: 21px;
  font-size: 18px;
  font-size: 1.8rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .sttl03:before {
    background-color: #005bac;
    content: '';
    display: inline-block;
    height: 6px;
    margin-right: 8px;
    position: relative;
    top: -4px;
    width: 12px; }
  @media screen and (max-width: 767px) {
    .sttl03 {
      margin-bottom: 10px;
      font-size: 14px;
      font-size: 1.4rem; }
      .sttl03:before {
        height: 4px;
        margin-right: 4px;
        position: relative;
        top: -2px;
        width: 8px; } }

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

/* Webフォント
   ========================================================================== */
.noto-l {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200; }

.noto-m {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500; }

.noto-b {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700; }

/* ==========================================================================
   05. Responisive
   ========================================================================== */
/* レスポンシブ関連
   ========================================================================== */
/* image */
img {
  vertical-align: bottom;
  line-height: 1.0;
  max-width: 100%;
  height: auto; }

/* display */
.block {
  display: block; }

.sp-item {
  display: none !important; }

.pc-block {
  display: block; }

@media screen and (max-width: 767px) {
  .sp-item {
    display: block !important; }

  .pc-item {
    display: none !important; }

  .pc-block {
    display: inline; }

  .sp-block {
    display: block; }

  .sp-pdg {
    padding-left: 6vw !important;
    padding-right: 6vw !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box; }
    .sp-pdg .sp-pdg {
      padding-left: 2vw !important;
      padding-right: 2vw !important; }

  .sp-pdg-large {
    padding-left: 20px !important;
    padding-right: 20px !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box; } }
@media screen and (max-width: 320px) {
  .sp-pdg {
    padding-left: 4vw !important;
    padding-right: 4vw !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box; } }
