@charset "UTF-8";
html {
  position: relative;
  min-height: 100%;
  overflow-x: hidden; }

section {
  overflow: hidden; }

body {
  width: 100%;
  padding-top: 0px;
  font-size: 16px;
  padding-bottom: 300px;
  font-family: "Roboto", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo; }

a {
  outline: none;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

.corpBlue {
  color: #003074; }

.pagetop {
  position: relative;
  display: block;
  z-index: 1100; }

.pagetop a {
  width: 49px;
  height: 49px;
  display: block;
  z-index: 1100;
  overflow: hidden; }

.sp {
  display: none !important; }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; }

  .sp {
    display: inherit !important; } }
header .headWrap {
  width: 980px;
  margin: 0 auto; }
header .headTxt01 {
  color: #003074;
  font-size: 14px;
  font-weight: bold; }
header .headTxt02 {
  color: #003074;
  font-size: 34px;
  font-weight: normal !important;
  line-height: 100%; }
header .headTxt03 {
  color: #545454;
  font-size: 13px; }
header .rightNav {
  width: 449px;
  height: 44px;
  background: url(../img/common/head_rightnav_bg.png) no-repeat; }
  header .rightNav a.rightNavLink01 {
    float: left;
    display: block;
    width: 224px;
    text-align: center;
    line-height: 44px;
    font-size: 16px;
    color: #003074;
    font-weight: bold; }
  header .rightNav a.rightNavLink02 {
    float: left;
    display: block;
    width: 224px;
    text-align: center;
    line-height: 44px;
    font-size: 16px;
    color: #ffe100; }
header a.headSitemap {
  background-image: url(../img/common/sitemap_icon.png);
  background-repeat: no-repeat;
  color: #003074;
  font-size: 14px;
  line-height: 16px;
  margin-top: 10px;
  text-aling: right;
  display: block;
  float: right;
  padding-left: 20px;
  margin-right: 15px; }
header a.headInsta {
  background-image: url("../img/common/instagram_icon.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 16px;
  color: #003074;
  font-size: 14px;
  line-height: 16px;
  margin-top: 10px;
  display: block;
  float: right;
  padding-left: 20px;
  margin-right: 20px; }

/*グローバルナビ*/
.gNaviBack {
  height: 53px;
  position: relative;
  background: url(../img/common/gnavi_back.gif) repeat-x;
  background-position: center;
  box-shadow: 0px 5px 7px 0px rgba(0, 0, 0, 0.2);
  z-index: 100; }

.gNaviWrap {
  width: 980px;
  margin: 0 auto; }

ul.gNavi {
  width: 980px;
  height: 53px;
  float: left;
  padding-left: 0;
  background: url(../img/common/gnavi_off.png) no-repeat;
  overflow: hidden; }
  ul.gNavi li {
    position: relative;
    list-style: none;
    display: block;
    float: left;
    z-index: 2000; }
  ul.gNavi li.navi01 a {
    display: block;
    float: left;
    width: 165px;
    overflow: hidden;
    height: 0px !important;
    padding: 200px 0 0 0px; }
  ul.gNavi li.navi02 a,
  ul.gNavi li.navi03 a,
  ul.gNavi li.navi04 a,
  ul.gNavi li.navi05 a,
  ul.gNavi li.navi06 a {
    display: block;
    float: left;
    width: 163px;
    overflow: hidden;
    height: 0px !important;
    padding: 200px 0 0 0px; }
  ul.gNavi li a:hover {
    background: url(../img/common/gnavi_on.png) no-repeat; }
  ul.gNavi li.navi01 a {
    background-position: 0px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi02 a {
    background-position: -165px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi03 a {
    background-position: -328px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi04 a {
    background-position: -491px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi05 a {
    background-position: -654px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi06 a {
    background-position: -817px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi01 a.hover-navi {
    background: url(../img/common/gnavi_on.png) no-repeat;
    background-position: 0px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi02 a.hover-navi {
    background: url(../img/common/gnavi_on.png) no-repeat;
    background-position: -165px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi03 a.hover-navi {
    background: url(../img/common/gnavi_on.png) no-repeat;
    background-position: -328px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi04 a.hover-navi {
    background: url(../img/common/gnavi_on.png) no-repeat;
    background-position: -491px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi05 a.hover-navi {
    background: url(../img/common/gnavi_on.png) no-repeat;
    background-position: -654px 0px;
    margin: 0 0px 0 0px; }
  ul.gNavi li.navi06 a.hover-navi {
    background: url(../img/common/gnavi_on.png) no-repeat;
    background-position: -817px 0px;
    margin: 0 0px 0 0px; }

body#news ul.gNavi li.navi01 a,
body#topics ul.gNavi li.navi01 a {
  background: url(../img/common/gnavi_on.png) no-repeat;
  background-position: 0px 0px;
  margin: 0 0px 0 0px; }

body#housing ul.gNavi li.navi02 a {
  background: url(../img/common/gnavi_on.png) no-repeat;
  background-position: -165px 0px;
  margin: 0 0px 0 0px; }

body#public ul.gNavi li.navi03 a {
  background: url(../img/common/gnavi_on.png) no-repeat;
  background-position: -328px 0px;
  margin: 0 0px 0 0px; }

body#corporate ul.gNavi li.navi04 a {
  background: url(../img/common/gnavi_on.png) no-repeat;
  background-position: -491px 0px;
  margin: 0 0px 0 0px; }

body#csr ul.gNavi li.navi05 a {
  background: url(../img/common/gnavi_on.png) no-repeat;
  background-position: -654px 0px;
  margin: 0 0px 0 0px; }

body#recruit ul.gNavi li.navi06 a {
  background: url(../img/common/gnavi_on.png) no-repeat;
  background-position: -817px 0px;
  margin: 0 0px 0 0px; }

/* セカンドナビ (メガメニュー) */
.page-nav {
  clear: both; }

#body .page-nav {
  height: 272px; }

.second-nav-back {
  display: none;
  width: 100%;
  background: url(../img/common/megamenu_bg.gif) repeat-x;
  height: 272px;
  position: absolute;
  z-index: 999;
  top: 137px; }

.second-nav-wrap {
  width: 980px;
  margin: 0 auto; }

#second-nav ul {
  display: none;
  position: absolute;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  z-index: 1;
  left: 0;
  width: 100%;
  height: 100%; }
  #second-nav ul li {
    position: relative;
    width: 860px;
    height: 100%;
    margin: 0 auto; }
    #second-nav ul li .triangle {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 18px 12px 0 12px;
      border-color: #0e4ca2 transparent transparent transparent;
      z-index: 1000;
      position: absolute;
      top: 0; }
    #second-nav ul li .naviTitle {
      padding-top: 15px;
      border-bottom: 1px #334863 solid; }
      #second-nav ul li .naviTitle h2 {
        font-size: 25px;
        color: #fff;
        padding: 10px 0;
        border-bottom: 1px #021838 solid;
        width: 100%; }
        #second-nav ul li .naviTitle h2 a {
          color: #fff; }
        #second-nav ul li .naviTitle h2 a:hover {
          text-decoration: none;
          color: #ffe100; }
    #second-nav ul li .menuBox01 {
      width: 272px;
      float: left;
      margin-top: 20px; }
      #second-nav ul li .menuBox01 h3 {
        font-size: 18px;
        letter-spacing: 2px;
        height: 42px;
        line-height: 42px;
        background-color: #0e4ba2;
        background-image: url(../img/common/menu_arrow.png);
        background-repeat: no-repeat; }
        #second-nav ul li .menuBox01 h3 a {
          color: #fff;
          width: 100%;
          height: 100%;
          display: block;
          padding-left: 25px; }
        #second-nav ul li .menuBox01 h3 a:hover {
          text-decoration: none;
          color: #ffe100; }
      #second-nav ul li .menuBox01 h4 {
        background: #fff;
        padding-left: 25px;
        font-size: 18px;
        height: 26px;
        line-height: 26px;
        color: #003074; }
    #second-nav ul li .menuBox02 {
      width: 201px;
      float: left;
      margin-top: 20px; }
      #second-nav ul li .menuBox02 h3 {
        font-size: 18px;
        letter-spacing: 0px;
        height: 42px;
        line-height: 42px;
        background-color: #0e4ba2;
        background-image: url(../img/common/menu_arrow.png);
        background-repeat: no-repeat; }
        #second-nav ul li .menuBox02 h3 a {
          color: #fff;
          width: 100%;
          height: 100%;
          display: block;
          padding-left: 25px; }
        #second-nav ul li .menuBox02 h3 a:hover {
          text-decoration: none;
          color: #ffe100; }
    #second-nav ul li .tateshinaBox {
      width: 175px;
      float: right;
      margin-top: 20px; }
      #second-nav ul li .tateshinaBox h3 {
        font-size: 18px;
        letter-spacing: 2px;
        height: 42px;
        line-height: 42px;
        background-color: #587e4e;
        background-image: url(../img/common/menu_arrow.png);
        background-repeat: no-repeat; }
        #second-nav ul li .tateshinaBox h3 a {
          color: #fff;
          width: 100%;
          height: 100%;
          display: block;
          padding-left: 25px; }
        #second-nav ul li .tateshinaBox h3 a:hover {
          text-decoration: none;
          color: #ffe100; }
    #second-nav ul li .menuBox03 {
      width: 590px;
      float: left;
      margin-top: 20px; }
      #second-nav ul li .menuBox03 h3 {
        font-size: 18px;
        letter-spacing: 0px;
        height: 42px;
        line-height: 42px;
        background-color: #0e4ba2;
        background-image: url(../img/common/menu_arrow.png);
        background-repeat: no-repeat; }
        #second-nav ul li .menuBox03 h3 a {
          color: #fff;
          width: 100%;
          height: 100%;
          display: block;
          padding-left: 25px; }
        #second-nav ul li .menuBox03 h3 a:hover {
          text-decoration: none;
          color: #ffe100; }
      #second-nav ul li .menuBox03 .menuBox04 {
        width: 100%;
        background: #ccc;
        padding: 8px;
        height: 112px;
        box-sizing: border-box; }
        #second-nav ul li .menuBox03 .menuBox04 a {
          width: 282px;
          height: 96px;
          padding: 2px;
          background: #fff;
          color: #4a4949;
          display: block;
          box-sizing: border-box; }
          #second-nav ul li .menuBox03 .menuBox04 a span {
            width: 110px;
            float: left;
            padding-left: 10px;
            line-height: 92px;
            font-size: 15px; }
          #second-nav ul li .menuBox03 .menuBox04 a img {
            display: block;
            float: right; }
        #second-nav ul li .menuBox03 .menuBox04 a:hover {
          text-decoration: none; }
    #second-nav ul li .menuBox05 {
      width: 239px;
      float: right;
      margin-top: 20px; }
      #second-nav ul li .menuBox05 h3 {
        font-size: 18px;
        letter-spacing: 0px;
        height: 42px;
        line-height: 42px;
        background-color: #0e4ba2;
        background-image: url(../img/common/menu_arrow.png);
        background-repeat: no-repeat; }
        #second-nav ul li .menuBox05 h3 a {
          color: #fff;
          width: 100%;
          height: 100%;
          display: block;
          padding-left: 25px; }
        #second-nav ul li .menuBox05 h3 a:hover {
          text-decoration: none;
          color: #ffe100; }
  #second-nav ul .nav-inner {
    position: relative;
    z-index: 1; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  header {
    /*second-nav-back*/ }
    header .headWrap {
      width: 100%;
      margin: 0 auto; }
    header .f_right {
      width: 40%; }
    header .rightNav {
      width: 100%;
      background-size: 100%; }
      header .rightNav a {
        width: 50% !important;
        font-size: 13px !important;
        line-height: 1 !important;
        padding: 10px 0 !important; }
    header .gNaviWrap {
      width: 100% !important; }
    header .gNaviBack {
      height: 5.4vw !important; }
    header ul.gNavi {
      width: 100% !important;
      height: 5.4vw !important;
      background-size: 100% !important;
      font-size: 0; }
      header ul.gNavi li {
        display: inline-block !important;
        float: none !important;
        width: 16.66% !important; }
        header ul.gNavi li a {
          width: 100% !important;
          height: 5.4vw !important; }
          header ul.gNavi li a:hover, header ul.gNavi li a.hover-navi {
            background-size: 100vw !important; }
      header ul.gNavi li.navi02 a {
        background-position: -16.66vw 0px !important; }
      header ul.gNavi li.navi03 a {
        background-position: -33.32vw 0px !important; }
      header ul.gNavi li.navi04 a {
        background-position: -49.98vw 0px !important; }
      header ul.gNavi li.navi05 a {
        background-position: -66.64vw 0px !important; }
      header ul.gNavi li.navi06 a {
        background-position: -83.3vw 0px !important; }
    header .second-nav-back {
      width: 100% !important;
      height: 240px !important;
      top: calc(84px + 5.4vw) !important;
      /*second-nav-wrap*/ }
      header .second-nav-back .second-nav-wrap {
        width: 100% !important; }
        header .second-nav-back .second-nav-wrap #second-nav ul li {
          width: 95% !important;
          margin: 0 auto !important; }
          header .second-nav-back .second-nav-wrap #second-nav ul li img {
            width: 100% !important; }
          header .second-nav-back .second-nav-wrap #second-nav ul li .menuBox01 {
            width: 29% !important; }
          header .second-nav-back .second-nav-wrap #second-nav ul li .menuBox02 {
            width: 22% !important; }

  /*header*/
  body#news ul.gNavi li.navi01 a,
  body#topics ul.gNavi li.navi01 a {
    background-position: 0px 0px;
    background-size: 100vw !important; }

  body#housing ul.gNavi li.navi02 a {
    background-position: -16.66vw 0px !important;
    background-size: 100vw !important; }

  body#public ul.gNavi li.navi03 a {
    background-position: -33.32vw 0px !important;
    background-size: 100vw !important; }

  body#corporate ul.gNavi li.navi04 a {
    background-position: -49.98vw 0px !important;
    background-size: 100vw !important; }

  body#csr ul.gNavi li.navi05 a {
    background-position: -66.64vw 0px !important;
    background-size: 100vw !important; }

  body#recruit ul.gNavi li.navi06 a {
    background-position: -83.3vw 0px !important;
    background-size: 100vw !important; } }
/*768-979*/
@media screen and (max-width: 767px) {
  header {
    background: #003074;
    /*sp_nav*/ }
    header .sp_nav {
      position: relative;
      height: 12vw;
      width: 100%;
      /*btn_nav*/
      /*g_nav_sp*/ }
      header .sp_nav .head_logo_sp {
        margin: 0;
        display: block;
        text-align: center;
        z-index: 130;
        width: 100%; }
        header .sp_nav .head_logo_sp img {
          width: 100%;
          max-width: 237px;
          margin: 3.5vw 0 0 0; }
      header .sp_nav .btn_nav,
      header .sp_nav .btn_nav a span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box; }
      header .sp_nav .btn_nav {
        position: absolute;
        right: 1vw;
        top: 1vw;
        width: 9vw;
        height: 8vw;
        margin: 0;
        z-index: 120;
        cursor: pointer; }
        header .sp_nav .btn_nav span {
          position: absolute;
          left: 15%;
          width: 70%;
          height: 3px;
          background-color: #fff;
          border-radius: 3px; }
        header .sp_nav .btn_nav span:nth-of-type(1) {
          top: 2.5vw; }
        header .sp_nav .btn_nav span:nth-of-type(2) {
          top: 4.5vw; }
        header .sp_nav .btn_nav span:nth-of-type(3) {
          top: 6.5vw; }
      header .sp_nav .btn_nav a.active span {
        background-color: #fff; }
      header .sp_nav .btn_nav a.active span:nth-of-type(1) {
        -webkit-transform: translateY(2vw) rotate(-45deg);
        transform: translateY(2vw) rotate(-45deg); }
      header .sp_nav .btn_nav a.active span:nth-of-type(2) {
        opacity: 0; }
      header .sp_nav .btn_nav a.active span:nth-of-type(3) {
        -webkit-transform: translateY(-2vw) rotate(45deg);
        transform: translateY(-2vw) rotate(45deg); }
      header .sp_nav nav.g_nav_sp {
        width: 100%;
        background: #003074;
        position: absolute;
        top: 12vw;
        padding: 0;
        transition: 0.2s;
        z-index: 100;
        border-top: 1px #fff solid;
        /*ul*/ }
        header .sp_nav nav.g_nav_sp ul {
          width: 100%;
          margin: 0;
          padding: 0;
          background: #003074;
          font-size: 0;
          /*li*/ }
          header .sp_nav nav.g_nav_sp ul li {
            text-align: center;
            font-size: 18px;
            display: block;
            /*h4*/
            /*h4.open*/
            /*ul.target*/ }
            header .sp_nav nav.g_nav_sp ul li h4 {
              margin: 0;
              padding: 0;
              border-bottom: 1px #a6a3a4 solid; }
              header .sp_nav nav.g_nav_sp ul li h4 a {
                display: block;
                background: #003074;
                color: #fff;
                text-align: left;
                width: 100%;
                font-size: 4vw;
                box-sizing: border-box;
                padding: 3.5vw 5vw;
                position: relative;
                font-weight: normal; }
                header .sp_nav nav.g_nav_sp ul li h4 a:before, header .sp_nav nav.g_nav_sp ul li h4 a:after {
                  position: absolute;
                  display: block;
                  content: '';
                  width: 2px;
                  background-color: #fff;
                  -webkit-transition: .25s all ease;
                  transition: .25s all ease;
                  border-radius: 10px; }
                header .sp_nav nav.g_nav_sp ul li h4 a:before {
                  top: calc(50% - 9px);
                  right: 20px;
                  height: 10px;
                  -ms-transform: rotate(-45deg);
                  -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
                header .sp_nav nav.g_nav_sp ul li h4 a:after {
                  top: calc(50% - 3px);
                  right: 20px;
                  height: 10px;
                  -ms-transform: rotate(45deg);
                  -webkit-transform: rotate(45deg);
                  transform: rotate(45deg); }
            header .sp_nav nav.g_nav_sp ul li h4.open a {
              cursor: pointer; }
              header .sp_nav nav.g_nav_sp ul li h4.open a:before {
                top: calc(50% - 6px);
                right: 20px;
                height: 13px;
                -ms-transform: rotate(0deg);
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg); }
              header .sp_nav nav.g_nav_sp ul li h4.open a:after {
                top: calc(50% - 6px);
                right: 20px;
                height: 13px;
                -ms-transform: rotate(90deg);
                -webkit-transform: rotate(90deg);
                transform: rotate(90deg); }
            header .sp_nav nav.g_nav_sp ul li h4.open.active a:before {
              -ms-transform: rotate(90deg);
              -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
              transition: 0.4s; }
            header .sp_nav nav.g_nav_sp ul li ul.target {
              display: none;
              border-bottom: 1px #fff solid; }
              header .sp_nav nav.g_nav_sp ul li ul.target li h4 {
                border-bottom: 1px #fff dashed; }
                header .sp_nav nav.g_nav_sp ul li ul.target li h4 a {
                  padding-left: 8vw; }
              header .sp_nav nav.g_nav_sp ul li ul.target li h5 {
                margin: 0;
                padding: 0; }
                header .sp_nav nav.g_nav_sp ul li ul.target li h5 a {
                  display: block;
                  background: #003074;
                  color: #fff;
                  text-align: left;
                  width: 100%;
                  font-size: 4vw;
                  box-sizing: border-box;
                  padding: 3vw 8vw;
                  position: relative;
                  font-weight: normal;
                  text-decoration: underline; }
              header .sp_nav nav.g_nav_sp ul li ul.target li:nth-child(2) {
                padding-top: 2vw; }
              header .sp_nav nav.g_nav_sp ul li ul.target li:last-child {
                padding-bottom: 2.5vw; }
        header .sp_nav nav.g_nav_sp ul.half li {
          width: 50%;
          display: inline-block; }
          header .sp_nav nav.g_nav_sp ul.half li h4 a {
            color: #003074;
            background: #ffe100; }
            header .sp_nav nav.g_nav_sp ul.half li h4 a:before, header .sp_nav nav.g_nav_sp ul.half li h4 a:after {
              display: none; }
        header .sp_nav nav.g_nav_sp ul.half li:nth-child(odd) {
          border-right: 1px #003074 solid; }
        header .sp_nav nav.g_nav_sp .contact {
          margin: 0;
          padding: 2vw 5vw;
          background: #fff;
          color: #003074;
          font-size: 4.5vw;
          line-height: 1.3; }
          header .sp_nav nav.g_nav_sp .contact span {
            font-size: 3.2vw; }
          header .sp_nav nav.g_nav_sp .contact a {
            color: #003074;
            text-decoration: underline;
            font-size: 6.5vw; }
        header .sp_nav nav.g_nav_sp .sp_insta {
          background: #fff;
          padding: 5vw 20vw; }
          header .sp_nav nav.g_nav_sp .sp_insta a {
            display: block; }
            header .sp_nav nav.g_nav_sp .sp_insta a img {
              width: 100%; }
        header .sp_nav nav.g_nav_sp .btn_close a {
          width: 100%;
          display: block;
          background: #f9f5ed;
          color: #4e4749;
          text-align: center;
          padding: 2vw 0;
          cursor: pointer; }

  /*header*/ }
footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 300px; }
  footer .footArea {
    background: #003074;
    padding: 20px 0; }
    footer .footArea .footWrap {
      width: 980px;
      margin: 0 auto; }
      footer .footArea .footWrap .footBox {
        float: left;
        margin-right: 30px; }
        footer .footArea .footWrap .footBox a {
          color: #fff; }
        footer .footArea .footWrap .footBox a:hover {
          color: #ffe100;
          text-decoration: none; }
        footer .footArea .footWrap .footBox .mainLink {
          font-size: 15px; }
        footer .footArea .footWrap .footBox ul {
          margin-top: 10px; }
          footer .footArea .footWrap .footBox ul li {
            font-size: 13px;
            line-height: 180%; }
            footer .footArea .footWrap .footBox ul li span {
              font-size: 60%; }
        footer .footArea .footWrap .footBox .subLink {
          font-size: 14px;
          line-height: 160%; }
        footer .footArea .footWrap .footBox hr {
          border-top: 1px #fff solid;
          border-bottom: none;
          border-left: none;
          border-right: none;
          margin: 15px 0 10px; }
      footer .footArea .footWrap .footBox02 {
        float: right;
        text-align: right; }
        footer .footArea .footWrap .footBox02 a.footContact {
          background: #ffe100;
          padding: 20px 30px;
          font-size: 16px;
          color: #003074;
          line-height: 100%;
          border-radius: 3px;
          font-weight: bold;
          margin-bottom: 10px;
          display: block; }
        footer .footArea .footWrap .footBox02 a.footContact:hover {
          text-decoration: none;
          transition: all 0.3s;
          opacity: 0.6; }
      footer .footArea .footWrap .footAddress {
        padding-top: 60px; }
        footer .footArea .footWrap .footAddress p {
          font-size: 16px;
          color: #fff;
          line-height: 19px; }
  footer .copyrightArea {
    background: #e6e6e6;
    padding: 10px 0; }
    footer .copyrightArea .copyWrap {
      width: 980px;
      margin: 0 auto;
      line-height: 18px; }
      footer .copyrightArea .copyWrap .copyright {
        color: #003074;
        font-size: 12px;
        float: left; }
      footer .copyrightArea .copyWrap a {
        color: #003074;
        font-weight: bold;
        margin-left: 30px;
        font-size: 14px; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  footer .footArea .footWrap {
    width: 95%; }
    footer .footArea .footWrap .footBox {
      width: 20%;
      margin-bottom: 20px;
      float: none;
      display: inline-block;
      vertical-align: top; } }
@media screen and (max-width: 767px) {
  footer .footArea .footWrap {
    width: 95%; }
    footer .footArea .footWrap .footAddress {
      padding-top: 0; }
      footer .footArea .footWrap .footAddress img {
        float: none !important;
        margin-bottom: 10px; }
      footer .footArea .footWrap .footAddress a.footContact {
        background: #ffe100;
        width: 80%;
        padding: 20px 30px;
        font-size: 16px;
        color: #003074;
        line-height: 100%;
        border-radius: 3px;
        font-weight: bold;
        margin: 30px auto 0;
        text-align: center;
        display: block; }
      footer .footArea .footWrap .footAddress a.footContact:hover {
        text-decoration: none;
        transition: all 0.3s;
        opacity: 0.6; }
  footer .copyrightArea {
    background: #e6e6e6;
    padding: 10px 0; }
    footer .copyrightArea .copyWrap {
      width: 95%;
      margin: 0 auto;
      line-height: 1.5; }
      footer .copyrightArea .copyWrap .copyright {
        color: #003074;
        font-size: 12px;
        float: none;
        text-align: center;
        padding-top: 10px; }
      footer .copyrightArea .copyWrap .f_right {
        float: none; }
      footer .copyrightArea .copyWrap a {
        color: #003074;
        font-weight: bold;
        margin-left: 0px;
        font-size: 14px; } }
/*==============================共通================================*/
body#topics #main_img,
body#housing #main_img,
body#public #main_img,
body#corporate #main_img,
body#csr #main_img,
body#recruit #main_img,
body#contact #main_img,
body#cm #main_img,
body#privacy #main_img,
body#sitemap #main_img {
  background: url(../img/common/main_img_bg.gif) repeat-x;
  box-shadow: 0px 5px 7px 0px rgba(0, 0, 0, 0.2);
  z-index: 90;
  position: relative;
  height: 285px;
  /*768-979*/ }
  body#topics #main_img .mainImgBg,
  body#housing #main_img .mainImgBg,
  body#public #main_img .mainImgBg,
  body#corporate #main_img .mainImgBg,
  body#csr #main_img .mainImgBg,
  body#recruit #main_img .mainImgBg,
  body#contact #main_img .mainImgBg,
  body#cm #main_img .mainImgBg,
  body#privacy #main_img .mainImgBg,
  body#sitemap #main_img .mainImgBg {
    width: 1300px;
    height: 285px;
    position: absolute;
    left: 50%;
    margin-left: -650px;
    z-index: 91; }
    body#topics #main_img .mainImgBg .mainImgTxt01,
    body#housing #main_img .mainImgBg .mainImgTxt01,
    body#public #main_img .mainImgBg .mainImgTxt01,
    body#corporate #main_img .mainImgBg .mainImgTxt01,
    body#csr #main_img .mainImgBg .mainImgTxt01,
    body#recruit #main_img .mainImgBg .mainImgTxt01,
    body#contact #main_img .mainImgBg .mainImgTxt01,
    body#cm #main_img .mainImgBg .mainImgTxt01,
    body#privacy #main_img .mainImgBg .mainImgTxt01,
    body#sitemap #main_img .mainImgBg .mainImgTxt01 {
      width: 485px;
      text-align: right;
      font-size: 35px;
      color: #fff;
      font-weight: normal;
      padding-top: 55px; }
    body#topics #main_img .mainImgBg .mainImgTxt02,
    body#housing #main_img .mainImgBg .mainImgTxt02,
    body#public #main_img .mainImgBg .mainImgTxt02,
    body#corporate #main_img .mainImgBg .mainImgTxt02,
    body#csr #main_img .mainImgBg .mainImgTxt02,
    body#recruit #main_img .mainImgBg .mainImgTxt02,
    body#contact #main_img .mainImgBg .mainImgTxt02,
    body#cm #main_img .mainImgBg .mainImgTxt02,
    body#privacy #main_img .mainImgBg .mainImgTxt02,
    body#sitemap #main_img .mainImgBg .mainImgTxt02 {
      text-align: left;
      font-size: 23px;
      line-height: 35px;
      color: #373737;
      font-weight: bold;
      padding: 80px 0 0 160px; }
  @media only screen and (min-width: 768px) and (max-width: 979px) {
    body#topics #main_img .mainImgBg,
    body#housing #main_img .mainImgBg,
    body#public #main_img .mainImgBg,
    body#corporate #main_img .mainImgBg,
    body#csr #main_img .mainImgBg,
    body#recruit #main_img .mainImgBg,
    body#contact #main_img .mainImgBg,
    body#cm #main_img .mainImgBg,
    body#privacy #main_img .mainImgBg,
    body#sitemap #main_img .mainImgBg {
      width: 100%;
      left: 0;
      margin-left: 0;
      background-position: center center !important; }
      body#topics #main_img .mainImgBg .mainImgTxt01,
      body#housing #main_img .mainImgBg .mainImgTxt01,
      body#public #main_img .mainImgBg .mainImgTxt01,
      body#corporate #main_img .mainImgBg .mainImgTxt01,
      body#csr #main_img .mainImgBg .mainImgTxt01,
      body#recruit #main_img .mainImgBg .mainImgTxt01,
      body#contact #main_img .mainImgBg .mainImgTxt01,
      body#cm #main_img .mainImgBg .mainImgTxt01,
      body#privacy #main_img .mainImgBg .mainImgTxt01,
      body#sitemap #main_img .mainImgBg .mainImgTxt01 {
        width: 33vw;
        text-align: left;
        margin-left: 10px;
        font-size: 30px; }
      body#topics #main_img .mainImgBg .mainImgTxt02,
      body#housing #main_img .mainImgBg .mainImgTxt02,
      body#public #main_img .mainImgBg .mainImgTxt02,
      body#corporate #main_img .mainImgBg .mainImgTxt02,
      body#csr #main_img .mainImgBg .mainImgTxt02,
      body#recruit #main_img .mainImgBg .mainImgTxt02,
      body#contact #main_img .mainImgBg .mainImgTxt02,
      body#cm #main_img .mainImgBg .mainImgTxt02,
      body#privacy #main_img .mainImgBg .mainImgTxt02,
      body#sitemap #main_img .mainImgBg .mainImgTxt02 {
        width: 23vw;
        padding: 60px 0 0 10px;
        font-size: 18px !important; } }
  @media screen and (max-width: 767px) {
    body#topics #main_img,
    body#housing #main_img,
    body#public #main_img,
    body#corporate #main_img,
    body#csr #main_img,
    body#recruit #main_img,
    body#contact #main_img,
    body#cm #main_img,
    body#privacy #main_img,
    body#sitemap #main_img {
      height: 36vw; }
      body#topics #main_img .mainImgBg,
      body#housing #main_img .mainImgBg,
      body#public #main_img .mainImgBg,
      body#corporate #main_img .mainImgBg,
      body#csr #main_img .mainImgBg,
      body#recruit #main_img .mainImgBg,
      body#contact #main_img .mainImgBg,
      body#cm #main_img .mainImgBg,
      body#privacy #main_img .mainImgBg,
      body#sitemap #main_img .mainImgBg {
        height: 36vw !important;
        width: 100%;
        left: 0;
        margin-left: 0;
        background-position: center center !important;
        background-size: cover !important; }
        body#topics #main_img .mainImgBg .mainImgTxt01,
        body#housing #main_img .mainImgBg .mainImgTxt01,
        body#public #main_img .mainImgBg .mainImgTxt01,
        body#corporate #main_img .mainImgBg .mainImgTxt01,
        body#csr #main_img .mainImgBg .mainImgTxt01,
        body#recruit #main_img .mainImgBg .mainImgTxt01,
        body#contact #main_img .mainImgBg .mainImgTxt01,
        body#cm #main_img .mainImgBg .mainImgTxt01,
        body#privacy #main_img .mainImgBg .mainImgTxt01,
        body#sitemap #main_img .mainImgBg .mainImgTxt01 {
          width: 38vw;
          text-align: left;
          margin-left: 10px;
          padding-top: 6vw !important;
          font-size: 5vw; }
        body#topics #main_img .mainImgBg .mainImgTxt02,
        body#housing #main_img .mainImgBg .mainImgTxt02,
        body#public #main_img .mainImgBg .mainImgTxt02,
        body#corporate #main_img .mainImgBg .mainImgTxt02,
        body#csr #main_img .mainImgBg .mainImgTxt02,
        body#recruit #main_img .mainImgBg .mainImgTxt02,
        body#contact #main_img .mainImgBg .mainImgTxt02,
        body#cm #main_img .mainImgBg .mainImgTxt02,
        body#privacy #main_img .mainImgBg .mainImgTxt02,
        body#sitemap #main_img .mainImgBg .mainImgTxt02 {
          width: 33vw;
          padding: 8vw 0 0 10px !important;
          font-size: 3.2vw !important;
          line-height: 1.3; } }

.breadcrumb {
  background: url(../img/common/breadcrumb_bg.gif) repeat-x;
  background-position: center;
  height: 35px; }
  .breadcrumb .b_wrap {
    width: 980px;
    margin: 0 auto;
    line-height: 30px;
    font-size: 14px;
    color: #565656;
    padding-top: 5px; }
    .breadcrumb .b_wrap a {
      color: #003074;
      font-weight: bold;
      text-decoration: underline; }
    .breadcrumb .b_wrap a:hover {
      text-decoration: none; }
  @media screen and (max-width: 979px) {
    .breadcrumb {
      padding-left: 10px; }
      .breadcrumb .b_wrap {
        width: 100%; } }
  @media screen and (max-width: 767px) {
    .breadcrumb .b_wrap {
      font-size: 3vw; } }

.contentsWrap {
  width: 980px;
  margin: 45px auto; }
  @media screen and (max-width: 979px) {
    .contentsWrap {
      width: 95%; } }

.sidebar {
  width: 220px;
  float: left;
  /*768-979*/
  /*767*/ }
  .sidebar .listArea {
    background-color: #e6e6e6;
    margin-bottom: 30px; }
    .sidebar .listArea h1 a {
      display: block;
      width: 100%;
      height: 65px;
      line-height: 65px;
      color: #fff;
      background: #002d6d;
      font-size: 19px;
      padding-left: 15px; }
    .sidebar .listArea h1 a:hover {
      color: #ffe100;
      text-decoration: none;
      transition: all 0.5s; }
    .sidebar .listArea ul.sideList01 {
      padding-bottom: 1px; }
      .sidebar .listArea ul.sideList01 li {
        background-color: #e6e6e6;
        background-image: url(../img/common/list_arrow.png);
        background-position: right 10px center;
        background-repeat: no-repeat;
        line-height: 56px;
        border-bottom: 1px #c1c1c2 solid;
        border-top: 1px #f7f8f8 solid; }
        .sidebar .listArea ul.sideList01 li a {
          display: block;
          width: 100%;
          height: 56px;
          font-size: 16px;
          color: #003074;
          padding-left: 15px;
          font-weight: bold; }
        .sidebar .listArea ul.sideList01 li a:hover {
          text-decoration: none; }
      .sidebar .listArea ul.sideList01 li:first-child {
        border-top: none; }
      .sidebar .listArea ul.sideList01 li:hover {
        background-color: #c9cedb;
        transition: all 0.3s; }
      .sidebar .listArea ul.sideList01 li.on {
        background-color: #c9cedb; }
    .sidebar .listArea .sideTxt01 {
      width: 100%;
      height: 38px;
      line-height: 38px;
      background: #05449b;
      color: #fff;
      font-size: 16px;
      padding-left: 15px; }
      .sidebar .listArea .sideTxt01 span::before {
        content: '▶';
        font-size: 11px;
        margin-right: 10px; }
    .sidebar .listArea ul.sideList02 li {
      background-color: #e6e6e6;
      line-height: 35px;
      border-bottom: 1px #c1c1c2 solid; }
      .sidebar .listArea ul.sideList02 li a {
        display: block;
        width: 100%;
        height: 35px;
        font-size: 16px;
        color: #5a5a5a;
        padding-left: 35px;
        font-weight: bold; }
      .sidebar .listArea ul.sideList02 li a:hover {
        text-decoration: none; }
    .sidebar .listArea ul.sideList02 li:hover {
      opacity: 0.5;
      transition: all 0.3s; }
  @media only screen and (min-width: 768px) and (max-width: 979px) {
    .sidebar {
      width: 22%; }
      .sidebar img {
        width: 100%; } }
  @media only screen and (max-width: 767px) {
    .sidebar {
      width: 100%; }
      .sidebar .listArea {
        margin-bottom: 10px; }
        .sidebar .listArea h1 a {
          height: 13vw;
          line-height: 13vw;
          font-size: 3.8vw; }
        .sidebar .listArea ul.sideList01 li {
          line-height: 11vw; }
          .sidebar .listArea ul.sideList01 li a {
            height: 11vw;
            font-size: 3.4vw; }
        .sidebar .listArea .sideTxt01 {
          height: 7vw;
          line-height: 7vw;
          font-size: 3.4vw; }
          .sidebar .listArea .sideTxt01 span::before {
            font-size: 2.7vw; }
        .sidebar .listArea ul.sideList02 li {
          line-height: 7vw; }
          .sidebar .listArea ul.sideList02 li a {
            height: 7vw;
            font-size: 3.4vw;
            padding-left: 7vw; }
      .sidebar img {
        width: 40%;
        margin: 2vw; } }

.mainContents {
  width: 710px;
  float: right;
  /*768-979*/
  /*767*/ }
  .mainContents .heading01 {
    background: url(../img/common/title_bar01.png) no-repeat;
    height: 72px;
    font-size: 30px;
    color: #003074;
    line-height: 68px;
    font-weight: bold; }
    .mainContents .heading01 span {
      margin-left: -0.5em; }
  .mainContents .heading02 {
    height: 46px;
    line-height: 46px;
    background: #fee8cc;
    border-left: 6px #f00 solid;
    font-size: 18px;
    color: #323131;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 30px;
    padding-left: 20px; }
  @media only screen and (min-width: 768px) and (max-width: 979px) {
    .mainContents {
      width: 72%; } }
  @media only screen and (max-width: 767px) {
    .mainContents {
      width: 100%; }
      .mainContents h2 img {
        margin-bottom: 0px !important; }
      .mainContents .heading01 {
        font-size: 5vw !important;
        background-size: cover;
        padding: 3vw 0;
        height: auto;
        line-height: 1.3; }
      .mainContents .heading02 {
        font-size: 3.7vw !important;
        padding: 3vw 2vw;
        height: auto;
        line-height: 1.3; } }

a.linkBtn {
  background: #003074;
  color: #fff;
  font-size: 15px;
  padding: 7px 35px;
  border-radius: 3px;
  line-height: 37px; }
  @media only screen and (max-width: 767px) {
    a.linkBtn {
      font-size: 3.2vw;
      padding: 2vw 5vw;
      line-height: 1.5; } }

a.linkBtn:hover {
  text-decoration: none;
  color: #ffe100;
  opacity: 0.8;
  transition: all 0.4s; }

/*ページナビ*/
.wp-pagenavi {
  clear: both;
  margin: 0px 0 0px 0;
  padding-top: 50px;
  font-size: 13px;
  width: 100%;
  line-height: 100%;
  text-align: center; }
  .wp-pagenavi a {
    font-size: 16px;
    font-weight: normal;
    text-decoration: none;
    margin-right: 0px; }
  .wp-pagenavi a:hover {
    background: #033276;
    color: #fff; }
  .wp-pagenavi .current {
    font-size: 16px;
    background: #033276;
    color: #fff;
    padding: 8px 13px 9px 13px;
    margin-right: 10px; }
  .wp-pagenavi .page {
    font-size: 16px;
    background: none;
    color: #033276;
    padding: 8px 13px 9px 13px;
    margin-right: 10px; }
  .wp-pagenavi .nextpostslink {
    font-size: 16px;
    height: 30px;
    background: none;
    color: #033276;
    padding: 8px 12px 9px 12px;
    font-weight: bold; }
  .wp-pagenavi .previouspostslink {
    font-size: 16px;
    height: 30px;
    background: none;
    color: #033276;
    padding: 8px 12px 9px 12px;
    margin-right: 10px;
    font-weight: bold; }
  .wp-pagenavi .extend {
    padding-right: 13px; }
  .wp-pagenavi .larger {
    font-size: 16px !important; }
  .wp-pagenavi .smaller {
    font-size: 16px !important;
    padding-top: 8px; }

.contentsLink {
  width: 725px;
  margin: 30px 0 50px -15px;
  /*768-979*/
  /*767*/ }
  .contentsLink .linkBox {
    width: 347px;
    margin-left: 15px;
    margin-bottom: 45px;
    float: left;
    font-size: 15px;
    color: #585858; }
    .contentsLink .linkBox h3 {
      background: url(../img/common/link_heading_bg.png) no-repeat;
      height: 61px;
      width: 347px;
      padding-left: 35px;
      line-height: 55px;
      font-size: 23px;
      font-weight: bold;
      padding-top: 6px; }
    .contentsLink .linkBox img {
      display: block;
      margin-bottom: 15px; }
  @media only screen and (min-width: 768px) and (max-width: 979px) {
    .contentsLink {
      width: 100%; }
      .contentsLink .linkBox {
        width: 46%;
        line-height: 1.5;
        float: none;
        display: inline-block;
        vertical-align: top; }
        .contentsLink .linkBox h3 {
          background-size: cover;
          width: 100%;
          height: auto; } }
  @media only screen and (max-width: 767px) {
    .contentsLink {
      width: 100%;
      margin-left: 0; }
      .contentsLink .linkBox {
        width: 46%;
        margin: 2vw 1%;
        line-height: 1.5;
        font-size: 3.2vw;
        float: none;
        display: inline-block;
        vertical-align: top; }
        .contentsLink .linkBox h3 {
          background-size: cover;
          width: 100%;
          height: auto;
          font-size: 5vw; } }

/*==============================トップ================================*/
body#home #main_img {
  height: 500px;
  position: relative;
  z-index: 1; }

.mask_left,
.mask_right {
  position: absolute;
  width: 1300px;
  height: 500px;
  background: #000;
  filter: alpha(opacity=60);
  /*maskの薄さ*/
  -moz-opacity: 0.60;
  opacity: 0.60;
  z-index: 10;
  overflow: hidden !important; }

.mask_left {
  left: 50%;
  margin-left: -1950px;
  overflow: hidden; }

.mask_right {
  left: 50%;
  margin-left: 650px;
  /*1px修正*/
  overflow: hidden; }

.bx-wrapper {
  max-width: 1300px !important; }

.topContents {
  width: 980px;
  margin: 0 auto;
  padding: 30px 0; }
  .topContents .topContentsTitle {
    font-size: 25px;
    font-weight: bold;
    float: left;
    line-height: 39px; }
  .topContents a.topLinkBtn {
    background: #003074;
    color: #fff;
    font-size: 14px;
    padding: 7px 25px;
    border-radius: 3px;
    float: right;
    line-height: 25px; }
  .topContents a.topLinkBtn:hover {
    text-decoration: none;
    color: #ffe100;
    transition: all 0.4s; }
  .topContents #topWorksSlide {
    margin: 20px auto 0px auto;
    padding-bottom: 30px;
    border-bottom: 3px #c9c9ca solid; }
    .topContents #topWorksSlide .item {
      margin: 10px 10px; }
      .topContents #topWorksSlide .item .worksBox {
        width: 310px;
        background: #ededed;
        padding: 11px;
        text-align: center; }
        .topContents #topWorksSlide .item .worksBox .worksImg {
          height: 188px;
          overflow: hidden;
          position: relative; }
        .topContents #topWorksSlide .item .worksBox a {
          color: #000;
          font-size: 14px;
          transition: all 0.2s; }
        .topContents #topWorksSlide .item .worksBox a:hover {
          text-decoration: none;
          color: #4073ba; }
        .topContents #topWorksSlide .item .worksBox img {
          max-width: 288px;
          display: block;
          margin: 0; }
        .topContents #topWorksSlide .item .worksBox .worksCat {
          background: url(../img/top/top_works_cat_bg.gif);
          width: 100%;
          padding: 3px 8px;
          font-size: 13px;
          line-height: 100%;
          color: #fff;
          text-align: left;
          font-weight: normal;
          margin-bottom: 10px; }
  .topContents .owl-theme .owl-controls .owl-page span {
    display: block;
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    filter: Alpha(Opacity=1);
    opacity: 1;
    border-radius: 10px;
    background: #ccc;
    transition: all 0.5s; }
  .topContents .owl-theme .owl-controls .owl-page.active span,
  .topContents .owl-theme .owl-controls.clickable .owl-page:hover span {
    filter: Alpha(Opacity=100);
    opacity: 1;
    background: #4073ba;
    border-radius: 10px; }
  .topContents .owl-theme .owl-controls .owl-page.active span {
    background: #4073ba; }
  .topContents .topTopicsArea {
    width: 48.4%;
    float: left;
    margin: 30px 0; }
    .topContents .topTopicsArea ul {
      border-bottom: 1px #ccc solid;
      width: 100%;
      font-size: 14px;
      margin: 30px 0; }
      .topContents .topTopicsArea ul li {
        border-top: 1px #ccc solid;
        padding: 12px 0; }
        .topContents .topTopicsArea ul li .topTopicsDate {
          width: 80px;
          color: #878686;
          float: left; }
        .topContents .topTopicsArea ul li .topTopicsTitle {
          width: 370px;
          float: right;
          line-height: 130%; }
          .topContents .topTopicsArea ul li .topTopicsTitle a {
            color: #43628e; }
  .topContents .linkBnrArea01 {
    width: 48%;
    float: right;
    margin: 30px 0; }
    .topContents .linkBnrArea01 img {
      width: 100%; }
  .topContents .linkBnrArea02 {
    margin: 0px 0 50px;
    width: 100%; }
    .topContents .linkBnrArea02 .banner01 {
      width: 49%; }
    .topContents .linkBnrArea02 .banner02 {
      width: 24%; }

@media only screen and (min-width: 768px) and (max-width: 1299px) {
  #home #main_img {
    height: 38.46vw !important; }
    #home #main_img .bx-wrapper {
      left: 50vw;
      margin-left: -50vw;
      max-width: 100% !important; }
      #home #main_img .bx-wrapper .bx-wrapper .bx-viewport {
        width: 100% !important; }
        #home #main_img .bx-wrapper .bx-wrapper .bx-viewport .item {
          width: 100vw !important; }
          #home #main_img .bx-wrapper .bx-wrapper .bx-viewport .item img {
            width: 100vw !important;
            max-width: 100vw !important; } }
/*768-1299*/
@media only screen and (min-width: 768px) and (max-width: 979px) {
  .topContents {
    width: 95%;
    text-align: center; }
    .topContents .topContentsTitle {
      float: none;
      text-align: center;
      margin-bottom: 30px; }
    .topContents a.topLinkBtn {
      display: inline-block;
      float: none;
      line-height: 25px; }
    .topContents .item .worksBox {
      width: 100% !important; }

  .topTopicsArea ul li {
    text-align: left; }
    .topTopicsArea ul li .topTopicsDate {
      float: none !important; }
    .topTopicsArea ul li .topTopicsTitle {
      float: none !important; } }
@media screen and (max-width: 767px) {
  #home #main_img {
    height: 62.5vw !important; }
    #home #main_img .bx-wrapper {
      left: 50vw;
      margin-left: -50vw;
      max-width: 100%; }
      #home #main_img .bx-wrapper .bx-wrapper .bx-viewport {
        width: 100% !important; }
        #home #main_img .bx-wrapper .bx-wrapper .bx-viewport .item {
          width: 100vw !important; }
          #home #main_img .bx-wrapper .bx-wrapper .bx-viewport .item img {
            width: 100vw !important;
            max-width: 100vw !important; }
    #home #main_img .bx-controls {
      display: none !important; }
  #home .topContents {
    width: 95%;
    text-align: center; }
    #home .topContents .topContentsTitle {
      float: none;
      text-align: center;
      margin-bottom: 0px; }
    #home .topContents a.topLinkBtn {
      display: inline-block;
      float: none;
      line-height: 25px;
      margin-top: 15px; }
    #home .topContents .item .worksBox {
      width: 100% !important; }
      #home .topContents .item .worksBox .worksImg {
        max-height: 90vw;
        height: auto !important; }
        #home .topContents .item .worksBox .worksImg img {
          max-width: 100%; }
  #home .topTopicsArea {
    width: 100%;
    float: none; }
    #home .topTopicsArea ul li {
      text-align: left; }
      #home .topTopicsArea ul li .topTopicsDate {
        float: none; }
      #home .topTopicsArea ul li .topTopicsTitle {
        float: none; }
  #home .linkBnrArea01 {
    width: 100%;
    float: none;
    margin: 0 0 30px 0; }
    #home .linkBnrArea01 img {
      width: 100%; }
  #home .linkBnrArea02 {
    margin: 0px 0 50px;
    width: 100%; }
    #home .linkBnrArea02 .banner01 {
      width: 100%;
      margin-bottom: 2vw; }
    #home .linkBnrArea02 .banner02 {
      width: 48%;
      margin-bottom: 2vw; } }
/*767*/
/*==============================新着情報================================*/
body#topics #main_img .mainImgBg {
  background: url(../img/topics/topics_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#topics #main_img .mainImgBg {
      background: url(../img/topics/topics_main_img_sp.jpg) no-repeat; } }

.mainContents ul.topicsList01 {
  margin: 10px 0 20px;
  width: 100%; }
  .mainContents ul.topicsList01 li {
    padding: 11px 0;
    border-bottom: 1px #848484 dotted;
    font-size: 15px; }
    .mainContents ul.topicsList01 li .date {
      width: 120px;
      float: left;
      color: #4a4a4a; }
    .mainContents ul.topicsList01 li .title {
      width: 570px;
      margin-left: 15px;
      float: left; }
      .mainContents ul.topicsList01 li .title a {
        color: #003074; }
      .mainContents ul.topicsList01 li .title a:hover {
        text-decoration: none;
        opacity: 0.5;
        transition: all 0.5s; }
.mainContents ul.topicsList02 {
  margin: 10px 0 20px;
  width: 100%; }
  .mainContents ul.topicsList02 li {
    padding: 11px 0;
    border-bottom: 1px #848484 dotted;
    font-size: 15px; }
    .mainContents ul.topicsList02 li .date {
      width: 120px;
      float: left;
      color: #4a4a4a; }
    .mainContents ul.topicsList02 li .category {
      width: 105px;
      float: left;
      background: #7d8591;
      color: #fff;
      font-size: 12px;
      line-height: 16px;
      text-align: center;
      margin: 0 10px;
      letter-spacing: 1px; }
    .mainContents ul.topicsList02 li .title {
      width: 460px;
      float: left; }
      .mainContents ul.topicsList02 li .title a {
        color: #003074; }
      .mainContents ul.topicsList02 li .title a:hover {
        text-decoration: none;
        opacity: 0.5;
        transition: all 0.5s; }
.mainContents .topicsLink {
  text-align: center;
  margin-bottom: 80px; }
.mainContents article .singleTitle {
  height: 70px;
  font-size: 25px;
  color: #30343a;
  border-top: 3px #003074 solid;
  border-bottom: 2px #d7d7d7 solid;
  line-height: 70px;
  font-weight: bold;
  margin-bottom: 15px; }
.mainContents article .date {
  color: #4a4a4a;
  font-size: 16px;
  font-weight: bold; }
.mainContents article .postContents {
  margin: 0px 0 20px; }
  .mainContents article .postContents p {
    font-size: 15px;
    line-height: 180%;
    color: #3f3f3f;
    padding-bottom: 40px; }
  .mainContents article .postContents img {
    max-width: 710px;
    height: auto; }
.mainContents article a.backList {
  font-size: 15px;
  text-decoration: underline;
  color: #003074;
  text-align: right;
  margin-bottom: 80px;
  float: right; }
.mainContents article a.backList:hover {
  text-decoration: none; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  .mainContents ul.topicsList01 li p, .mainContents ul.topicsList02 li p {
    float: none !important;
    margin-left: 0 !important;
    margin: 5px 0; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  .mainContents .heading01 {
    font-size: 6vw; }
  .mainContents ul.topicsList01 li p, .mainContents ul.topicsList02 li p {
    float: none !important;
    margin-left: 0 !important;
    margin: 5px 0;
    font-size: 3.2vw; }
  .mainContents ul.topicsList01 li .category, .mainContents ul.topicsList02 li .category {
    font-size: 2.8vw;
    width: auto;
    display: inline-block;
    padding: 3px 10px; }
  .mainContents ul.topicsList01 li .title, .mainContents ul.topicsList02 li .title {
    width: 100%; }
  .mainContents ul.topicsList01 li .date, .mainContents ul.topicsList02 li .date {
    width: 100%; }
  .mainContents article .singleTitle {
    height: auto;
    font-size: 4.5vw;
    line-height: 1.3;
    padding: 2vw; }
  .mainContents article .date {
    font-size: 3.4vw; }
  .mainContents article .postContents {
    margin: 0px 0 4vw; }
    .mainContents article .postContents p {
      font-size: 3.2vw;
      padding-bottom: 8vw; }
    .mainContents article .postContents img {
      width: 100%; }
  .mainContents article a.backList {
    font-size: 3.2vw;
    margin-bottom: 16vw; } }
/*767*/
/*==============================施工実績================================*/
.mainContents ul.worksList01 {
  width: 725px;
  margin-left: -15px;
  margin-top: 20px; }
  .mainContents ul.worksList01 li {
    display: block;
    background: #e4e7ed;
    padding: 15px;
    float: left;
    width: 347px;
    margin-left: 15px;
    margin-bottom: 15px; }
    .mainContents ul.worksList01 li a.worksListImg {
      height: 205px;
      overflow: hidden;
      position: relative;
      display: block;
      text-align: center; }
      .mainContents ul.worksList01 li a.worksListImg img {
        width: 100%;
        max-width: 317px;
        display: block; }
    .mainContents ul.worksList01 li .worksListCategory {
      background: url(../img/common/works_cat_bg.gif);
      color: #fff;
      font-size: 14px;
      padding: 5px 10px;
      margin-bottom: 10px; }
    .mainContents ul.worksList01 li .worksListTitle a {
      font-size: 15px;
      color: #504f4f; }
    .mainContents ul.worksList01 li .worksListTitle a:hover {
      text-decoration: none;
      color: #000; }
.mainContents .worksSingleCategory {
  font-size: 16px;
  color: #797979;
  font-weight: bold;
  padding-bottom: 40px; }
.mainContents #worksSlide {
  margin-bottom: 30px; }
  .mainContents #worksSlide .sp-selected-thumbnail {
    border: 3px solid #6794d3; }
.mainContents .singleContents {
  color: #30343a;
  font-size: 15px;
  margin-bottom: 80px;
  line-height: 150%;
  background: #f5f4ee;
  padding: 30px;
  box-sizing: border-box;
  margin-top: 15px; }
.mainContents img.sp-image {
  width: auto !important;
  height: auto !important;
  max-width: 710px !important;
  max-height: 500px !important; }
.mainContents .pager {
  width: 250px;
  margin: 0 auto 30px; }
  .mainContents .pager div {
    float: left; }
  .mainContents .pager p {
    float: left;
    margin: 0 40px; }
  .mainContents .pager a {
    color: #003074;
    text-decoration: underline;
    font-size: 15px; }
    .mainContents .pager a span {
      background: #003074;
      color: #fff;
      padding: 0px 5px;
      text-decoration: none;
      margin: 0 5px; }
  .mainContents .pager a:hover {
    text-decoration: none; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  .mainContents ul.worksList01 {
    width: 100%; }
    .mainContents ul.worksList01 li {
      width: 47%;
      margin-left: 3%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  .mainContents ul.worksList01 {
    margin-left: 0;
    width: 100%; }
    .mainContents ul.worksList01 li {
      width: 47%;
      float: none;
      display: inline-block;
      vertical-align: top;
      margin: 0 1% 15px; }
      .mainContents ul.worksList01 li a.worksListImg {
        max-height: 25vw;
        height: auto; }
      .mainContents ul.worksList01 li .worksListCategory {
        font-size: 3vw; }
      .mainContents ul.worksList01 li .worksListTitle a {
        font-size: 3.2vw; }
  .mainContents .worksSingleCategory {
    font-size: 3.4vw; }
  .mainContents .singleContents {
    font-size: 3.2vw !important; } }
/*767*/
/*==============================住宅・山荘事業================================*/
body#housing #main_img .mainImgBg {
  background: url(../img/housing/housing_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#housing #main_img .mainImgBg {
      background: url(../img/housing/housing_main_img_sp.jpg) no-repeat; } }
body#housing .mainContents .heading01 {
  font-size: 25px; }
body#housing .mainContents .housingTxt01 {
  font-size: 15px;
  padding: 15px 0;
  color: #323131;
  line-height: 170%; }
body#housing .mainContents .housingTxt02 {
  font-size: 18px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%; }
body#housing .slideArea {
  background: url(../img/housing/slider_bg.png) no-repeat;
  width: 710px;
  padding: 35px 52px;
  position: relative;
  margin-bottom: 20px; }
body#housing .slideArea02 {
  background: url(../img/housing/slider_bg02.png) no-repeat;
  width: 710px;
  padding: 20px 52px;
  position: relative;
  margin-bottom: 20px; }
body#housing .houseLeft {
  width: 402px;
  float: left; }
body#housing ul.solar_list {
  background: #f9f9eb;
  padding: 15px;
  border-radius: 10px; }
  body#housing ul.solar_list li {
    text-indent: -15px;
    margin-left: 15px;
    line-height: 150%;
    margin-bottom: 3px;
    font-size: 15px; }
    body#housing ul.solar_list li span {
      color: #f47e54; }
body#housing .om_performance {
  background: #eff0e2;
  padding: 30px 0; }
  body#housing .om_performance .omWrap {
    width: 980px;
    margin: 0px auto; }
    body#housing .om_performance .omWrap .omContentsTitle {
      font-size: 25px;
      font-weight: bold;
      float: left;
      line-height: 39px; }
    body#housing .om_performance .omWrap a.omLinkBtn {
      background: #e75500;
      color: #fff;
      font-size: 14px;
      padding: 7px 25px;
      border-radius: 3px;
      float: right;
      line-height: 25px; }
    body#housing .om_performance .omWrap a.omLinkBtn:hover {
      text-decoration: none;
      color: #003074;
      transition: all 0.4s; }
    body#housing .om_performance .omWrap #omWorksSlide {
      margin: 20px auto 0px auto;
      padding-bottom: 30px; }
      body#housing .om_performance .omWrap #omWorksSlide .item {
        margin: 10px 10px; }
        body#housing .om_performance .omWrap #omWorksSlide .item .worksBox {
          width: 310px;
          background: #fff;
          padding: 11px;
          text-align: center; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox .worksImg {
            height: 188px;
            overflow: hidden;
            position: relative; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox a {
            color: #000;
            font-size: 14px;
            transition: all 0.2s; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox a:hover {
            text-decoration: none;
            color: #4073ba; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox img {
            max-width: 288px;
            display: block;
            margin: 0; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox .worksCat {
            background: url(../img/housing/om_works_cat_bg.gif);
            width: 100%;
            padding: 3px 8px;
            font-size: 13px;
            line-height: 100%;
            color: #fff;
            text-align: left;
            font-weight: normal;
            margin-bottom: 10px; }
    body#housing .om_performance .omWrap .owl-theme .owl-controls .owl-page span {
      display: block;
      width: 10px;
      height: 10px;
      margin: 5px 7px;
      filter: Alpha(Opacity=1);
      opacity: 1;
      border-radius: 10px;
      background: #ccc;
      transition: all 0.5s; }
    body#housing .om_performance .omWrap .owl-theme .owl-controls .owl-page.active span,
    body#housing .om_performance .omWrap .owl-theme .owl-controls.clickable .owl-page:hover span {
      filter: Alpha(Opacity=100);
      opacity: 1;
      background: #4073ba;
      border-radius: 10px; }
    body#housing .om_performance .omWrap .owl-theme .owl-controls .owl-page.active span {
      background: #4073ba; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#housing .mainContents img {
    width: 100%; }
  body#housing .slideArea {
    background-size: 100%;
    width: 100%;
    padding: 30px 7.4%;
    box-sizing: border-box; }
  body#housing .slideArea02 {
    background-size: 100%;
    width: 100%;
    padding: 20px 7%; }
  body#housing .om_performance .omWrap {
    width: 95%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#housing .mainContents .housingTxt01 {
    font-size: 3.2vw; }
  body#housing .mainContents .housingTxt02 {
    font-size: 4.2vw; }
  body#housing .mainContents img {
    width: 100%; }
  body#housing .slideArea {
    background-size: 100%;
    width: 100%;
    padding: 5vw 7.3%;
    box-sizing: border-box; }
    body#housing .slideArea .slick-prev, body#housing .slideArea .slick-next {
      background-size: 8vw; }
    body#housing .slideArea .slick-prev {
      left: -6vw;
      width: 8vw;
      height: 8vw; }
    body#housing .slideArea .slick-next {
      right: -6vw;
      width: 8vw;
      height: 8vw; }
  body#housing .slideArea02 {
    background-size: 100%;
    width: 100%;
    padding: 20px 7%; }
    body#housing .slideArea02 .slick-prev, body#housing .slideArea02 .slick-next {
      background-size: 8vw; }
    body#housing .slideArea02 .slick-prev {
      left: -6vw;
      width: 8vw;
      height: 8vw; }
    body#housing .slideArea02 .slick-next {
      right: -6vw;
      width: 8vw;
      height: 8vw; }
  body#housing .houseLeft {
    width: 100%; }
  body#housing .om_performance .omWrap {
    width: 95%;
    text-align: center; }
    body#housing .om_performance .omWrap .omContentsTitle {
      font-size: 5vw;
      float: none;
      text-align: center;
      line-height: 1.3;
      margin-bottom: 3vw; }
    body#housing .om_performance .omWrap a.omLinkBtn {
      font-size: 3vw;
      padding: 1.5vw 5vw;
      float: none;
      line-height: 1.5; }
    body#housing .om_performance .omWrap #omWorksSlide {
      margin: 4vw auto 6vw;
      padding-bottom: 6vw; }
      body#housing .om_performance .omWrap #omWorksSlide .item {
        margin: 2vw; }
        body#housing .om_performance .omWrap #omWorksSlide .item .worksBox {
          width: 100%;
          padding: 2vw; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox .worksImg {
            height: 60vw; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox a {
            font-size: 3vw; }
          body#housing .om_performance .omWrap #omWorksSlide .item .worksBox img {
            max-width: 100%; } }
/*767*/
/*==============================公共・大規模事業================================*/
body#public #main_img .mainImgBg {
  background: url(../img/public/public_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#public #main_img .mainImgBg {
      background: url(../img/public/public_main_img_sp.jpg) no-repeat; } }
body#public .mainContents .heading01 {
  font-size: 25px; }
body#public .mainContents .publicTxt01 {
  font-size: 15px;
  padding: 15px 0;
  color: #323131;
  line-height: 170%; }
body#public .mainContents .publicTxt02 {
  font-size: 18px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#public .mainContents img {
    width: 100%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#public .mainContents .publicTxt01 {
    font-size: 3.2vw; }
  body#public .mainContents .publicTxt02 {
    font-size: 4vw; }
  body#public .mainContents img {
    width: 100%; }
  body#public .mainContents .f_left {
    width: 100% !important; }
  body#public .contentsLink .linkBox h3 {
    font-size: 4.2vw;
    padding: 3vw 0 2vw 6vw;
    line-height: 1.3;
    height: auto; } }
/*767*/
/*==============================会社紹介================================*/
body#corporate #main_img .mainImgBg {
  background: url(../img/corporate/corporate_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#corporate #main_img .mainImgBg {
      background: url(../img/corporate/company_main_img_sp.jpg) no-repeat; } }
body#corporate .mainContents .heading01 {
  font-size: 25px; }
body#corporate .mainContents .corpTxt01 {
  font-size: 15px;
  padding: 15px 0;
  color: #323131;
  line-height: 170%; }
body#corporate .mainContents .corpTxt02 {
  font-size: 18px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%; }
body#corporate .mainContents .corpName {
  text-align: right;
  font-size: 15px;
  padding-bottom: 60px;
  padding-top: 20px;
  border-bottom: 1px #989898 solid;
  color: #323131;
  margin-bottom: 40px; }
body#corporate .mainContents .manageTitle {
  background: #d7deee;
  color: #003074;
  border-left: 5px #003074 solid;
  font-size: 20px;
  font-weight: bold;
  line-height: 40px;
  padding-left: 25px;
  margin: 30px 0 20px; }
body#corporate .mainContents .manageTxt {
  font-size: 18px;
  font-weight: bold;
  line-height: 180%;
  margin-bottom: 50px;
  color: #333; }
  body#corporate .mainContents .manageTxt span {
    color: #003074; }
body#corporate .mainContents .outlineTB {
  font-size: 15px;
  margin: 30px 0 50px;
  width: 710px; }
  body#corporate .mainContents .outlineTB th {
    font-weight: bold;
    padding: 10px 20px;
    width: 170px;
    color: #4e4e4e;
    background: #d7deee;
    border: 1px #515151 solid;
    vertical-align: middle;
    text-align: left; }
  body#corporate .mainContents .outlineTB td {
    padding: 10px 20px;
    line-height: 150%;
    border: 1px #515151 solid;
    color: #4e4e4e; }
  body#corporate .mainContents .outlineTB td.outlineTxt {
    width: 355px; }
body#corporate .mainContents .officeTB {
  font-size: 15px;
  margin: 30px 0 50px;
  width: 710px; }
  body#corporate .mainContents .officeTB th {
    font-weight: bold;
    padding: 10px 15px;
    width: 170px;
    color: #4e4e4e;
    background: #d7deee;
    border: 1px #515151 solid;
    vertical-align: middle;
    text-align: left; }
  body#corporate .mainContents .officeTB td {
    padding: 15px 20px;
    line-height: 150%;
    border: 1px #515151 solid;
    color: #4e4e4e; }
  body#corporate .mainContents .officeTB .mapStyle {
    width: 525px;
    height: 270px;
    border: 1px #4e4e4e solid; }
body#corporate .history_mainTitle {
  background: #f1f1ee;
  margin-top: 30px;
  padding-bottom: 80px; }
  body#corporate .history_mainTitle .mainImgHistory {
    width: 100%;
    height: 470px;
    background-image: url(../img/corporate/history_main.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
  body#corporate .history_mainTitle .history_copyArea {
    width: 980px;
    margin: 0 auto; }
    body#corporate .history_mainTitle .history_copyArea .since_year {
      width: 454px;
      margin: -61px auto 40px;
      display: block; }
    body#corporate .history_mainTitle .history_copyArea h2.historyCopy {
      font-size: 28px;
      font-family: '游明朝', YuMincho, "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
      color: #2b2c2d;
      padding: 0 0 30px 0;
      width: 980px;
      background-image: url(../img/corporate/history_title_line.png);
      background-repeat: no-repeat;
      background-position: bottom;
      text-align: center;
      font-weight: bold;
      margin-bottom: 30px; }
    body#corporate .history_mainTitle .history_copyArea .historyTxt01 {
      font-family: '游明朝', YuMincho, "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
      font-size: 18px;
      line-height: 170%;
      color: #003074;
      text-align: center;
      font-weight: bold;
      padding-bottom: 30px; }
    body#corporate .history_mainTitle .history_copyArea .historyTxt02 {
      font-size: 16px;
      color: #565552;
      line-height: 180%;
      padding-bottom: 20px; }
    body#corporate .history_mainTitle .history_copyArea .ceoName {
      font-size: 16px;
      color: #565552;
      text-align: right;
      line-height: 170%; }
      body#corporate .history_mainTitle .history_copyArea .ceoName span {
        font-family: '游明朝', YuMincho, "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
        font-size: 18px;
        letter-spacing: 2px;
        padding-left: 20px; }
body#corporate .historyArea {
  width: 710px;
  margin: 30px 0 0;
  position: relative; }
  body#corporate .historyArea .historyWhiteTop {
    width: 710px;
    height: 15px;
    background: #fff;
    display: block;
    position: absolute;
    top: 0; }
  body#corporate .historyArea .historyWhiteBottom {
    width: 710px;
    height: 15px;
    background: #fff;
    display: block;
    position: absolute;
    bottom: 0; }
  body#corporate .historyArea .historyTB {
    width: 100%;
    background-image: url(../img/corporate/history_bg.gif);
    background-repeat: repeat-y;
    border-collapse: separate;
    border-spacing: 0 15px; }
    body#corporate .historyArea .historyTB th {
      background: #e9eef7;
      width: 107px;
      box-sizing: border-box;
      padding: 10px 15px;
      font-size: 18px;
      color: #003074;
      text-align: left;
      font-weight: bold;
      vertical-align: top; }
      body#corporate .historyArea .historyTB th span {
        font-weight: normal;
        font-size: 14px; }
    body#corporate .historyArea .historyTB td.arrow {
      padding: 7px 7px 0;
      box-sizing: border-box; }
    body#corporate .historyArea .historyTB td.arrow_last {
      padding: 7px 7px 0;
      box-sizing: border-box;
      background-image: url(../img/corporate/white_bg.gif);
      background-repeat: no-repeat;
      background-position: 0 10px; }
    body#corporate .historyArea .historyTB td.historyDetail {
      padding-left: 20px;
      border-collapse: collapse; }
      body#corporate .historyArea .historyTB td.historyDetail table {
        width: 100%; }
        body#corporate .historyArea .historyTB td.historyDetail table th {
          background: none;
          font-size: 15px;
          border-top: 3px #ffe100 solid;
          color: #4e4e4e;
          width: 78px;
          padding: 15px 0; }
        body#corporate .historyArea .historyTB td.historyDetail table td {
          border-top: 1px #c9cedb solid;
          color: #4e4e4e;
          font-size: 15px;
          padding: 15px 0;
          line-height: 130%; }
      body#corporate .historyArea .historyTB td.historyDetail figure {
        margin: 20px 0 0; }
        body#corporate .historyArea .historyTB td.historyDetail figure figcaption {
          text-indent: -3px;
          color: #003074; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#corporate .mainContents img {
    width: 100%; }
  body#corporate .mainContents .outlineTB {
    width: 100%; }
    body#corporate .mainContents .outlineTB th {
      width: 24%; }
    body#corporate .mainContents .outlineTB td.outlineTxt {
      width: 50%; }
  body#corporate .mainContents .officeTB {
    width: 100%; }
    body#corporate .mainContents .officeTB th {
      width: 24%; }
    body#corporate .mainContents .officeTB .mapStyle {
      width: 100%;
      height: 270px;
      border: 1px #4e4e4e solid; }
      body#corporate .mainContents .officeTB .mapStyle iframe {
        width: 100%; }
  body#corporate .mainContents .historyArea {
    width: 100%;
    /*historyTB*/ }
    body#corporate .mainContents .historyArea .historyTB {
      width: 100%;
      background-size: 100%; }
      body#corporate .mainContents .historyArea .historyTB th {
        width: 15%;
        font-size: 18px; }
        body#corporate .mainContents .historyArea .historyTB th span {
          font-size: 14px; }
      body#corporate .mainContents .historyArea .historyTB td.arrow {
        padding: 7px 7px 0; }
        body#corporate .mainContents .historyArea .historyTB td.arrow img {
          width: auto; }
      body#corporate .mainContents .historyArea .historyTB td.arrow_last {
        padding: 7px 7px 0;
        box-sizing: border-box;
        background-image: url(../img/corporate/white_bg.gif);
        background-repeat: no-repeat;
        background-position: 0 10px; }
      body#corporate .mainContents .historyArea .historyTB td.historyDetail {
        padding-left: 20px;
        border-collapse: collapse; }
        body#corporate .mainContents .historyArea .historyTB td.historyDetail table {
          width: 100%; }
          body#corporate .mainContents .historyArea .historyTB td.historyDetail table th {
            background: none;
            font-size: 15px;
            border-top: 3px #ffe100 solid;
            color: #4e4e4e;
            width: 78px;
            padding: 15px 0; }
          body#corporate .mainContents .historyArea .historyTB td.historyDetail table td {
            border-top: 1px #c9cedb solid;
            color: #4e4e4e;
            font-size: 15px;
            padding: 15px 0;
            line-height: 130%; }
        body#corporate .mainContents .historyArea .historyTB td.historyDetail figure {
          margin: 20px 0 0; }
          body#corporate .mainContents .historyArea .historyTB td.historyDetail figure figcaption {
            text-indent: -3px;
            color: #003074; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#corporate {
    /*mainContents*/ }
    body#corporate .mainContents img {
      width: 100%; }
    body#corporate .mainContents .corpTxt01 {
      font-size: 3.2vw; }
    body#corporate .mainContents .corpTxt02 {
      font-size: 4vw; }
    body#corporate .mainContents .manageTitle {
      font-size: 4.4vw; }
    body#corporate .mainContents .manageTxt {
      font-size: 4vw; }
    body#corporate .mainContents .outlineTB {
      font-size: 3.2vw;
      margin: 8vw 0 10vw;
      width: 100%; }
      body#corporate .mainContents .outlineTB th {
        display: block;
        padding: 10px 20px;
        width: 100%;
        border: none;
        font-size: 3.5vw; }
      body#corporate .mainContents .outlineTB td {
        padding: 10px 20px;
        display: block;
        border: none;
        width: 100%; }
      body#corporate .mainContents .outlineTB td.outlineTxt {
        width: 100%;
        border-bottom: 1px #515151 dotted;
        padding-top: 0; }
      body#corporate .mainContents .outlineTB td.midashi {
        font-weight: bold; }
    body#corporate .mainContents .officeTB {
      font-size: 3.2vw;
      margin: 30px 0 50px;
      width: 100%; }
      body#corporate .mainContents .officeTB th {
        display: block;
        padding: 10px 20px;
        width: 100%;
        border: none;
        font-size: 3.5vw;
        margin-top: 20px; }
      body#corporate .mainContents .officeTB td {
        border: none;
        width: 100%;
        display: block;
        border-bottom: 1px #515151 solid; }
      body#corporate .mainContents .officeTB .mapStyle {
        width: 100%;
        border: none; }
        body#corporate .mainContents .officeTB .mapStyle iframe {
          width: 100%; }
    body#corporate .mainContents .historyArea {
      width: 100%;
      /*historyTB*/ }
      body#corporate .mainContents .historyArea .historyTB {
        width: 100%;
        background: none; }
        body#corporate .mainContents .historyArea .historyTB th {
          width: 100%;
          display: block;
          font-size: 4vw; }
          body#corporate .mainContents .historyArea .historyTB th span {
            font-size: 3vw; }
        body#corporate .mainContents .historyArea .historyTB td.arrow {
          display: none; }
        body#corporate .mainContents .historyArea .historyTB td.arrow_last {
          display: none; }
        body#corporate .mainContents .historyArea .historyTB td.historyDetail {
          display: block;
          width: 100%;
          padding-left: 0px; }
          body#corporate .mainContents .historyArea .historyTB td.historyDetail table {
            width: 100%;
            margin-top: 10px; }
            body#corporate .mainContents .historyArea .historyTB td.historyDetail table th {
              background: none;
              font-size: 3.2vw;
              display: table-cell;
              width: 20%; }
            body#corporate .mainContents .historyArea .historyTB td.historyDetail table td {
              color: #4e4e4e;
              font-size: 3.2vw;
              display: table-cell;
              width: 80%; }
          body#corporate .mainContents .historyArea .historyTB td.historyDetail figure {
            margin: 20px 0 0; }
            body#corporate .mainContents .historyArea .historyTB td.historyDetail figure figcaption {
              font-size: 3.2vw; } }
/*767*/
/*==============================CSR・イベント================================*/
body#csr #main_img .mainImgBg {
  background: url(../img/csr/csr_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#csr #main_img .mainImgBg {
      background: url(../img/csr/csr_main_img_sp.jpg) no-repeat; } }
  body#csr #main_img .mainImgBg .mainImgTxt02 {
    font-size: 22px;
    letter-spacing: -1px; }
body#csr .mainContents .heading01 {
  font-size: 25px; }
body#csr .mainContents .csrTxt01 {
  font-size: 15px;
  padding: 15px 0;
  color: #323131;
  line-height: 170%; }
body#csr .mainContents .csrTxt02 {
  font-size: 18px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%; }
body#csr .mainContents .csrTB {
  font-size: 15px;
  margin: 30px 0 30px;
  width: 710px; }
  body#csr .mainContents .csrTB th {
    font-weight: bold;
    padding: 10px 20px;
    width: 170px;
    color: #4e4e4e;
    background: #d7deee;
    border: 1px #515151 solid;
    border-left: none;
    vertical-align: middle;
    text-align: center; }
  body#csr .mainContents .csrTB td {
    padding: 7px 20px;
    line-height: 150%;
    border: 1px #515151 solid;
    border-right: none;
    color: #4e4e4e; }
body#csr .mainContents .activityBox {
  background: #eaeae2;
  padding: 8px;
  margin-bottom: 50px; }
  body#csr .mainContents .activityBox p {
    font-size: 15px;
    color: #2c2c2c;
    text-align: center;
    line-height: 30px;
    padding-top: 6px; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#csr .mainContents img {
    width: 100%; }
  body#csr .mainContents .csrTB {
    width: 100%; }
    body#csr .mainContents .csrTB th {
      width: 30%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#csr .mainContents .csrTxt01 {
    font-size: 3.2vw; }
  body#csr .mainContents img {
    width: 100%; }
  body#csr .mainContents .csrTB {
    width: 100%;
    font-size: 3.2vw; }
    body#csr .mainContents .csrTB th {
      width: 30%;
      padding: 0 2vw; }
  body#csr .mainContents .activityBox p {
    font-size: 3.2vw; } }
/*767*/
/*==============================採用情報================================*/
body#recruit #main_img .mainImgBg {
  background: url(../img/recruit/recruit_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#recruit #main_img .mainImgBg {
      background: url(../img/recruit/recruit_main_img_sp.jpg) no-repeat; } }
  body#recruit #main_img .mainImgBg .mainImgTxt02 {
    padding-top: 65px; }
body#recruit .mainContents .heading01 {
  font-size: 25px; }
body#recruit .mainContents .recTxt01 {
  font-size: 15px;
  padding: 15px 0;
  color: #323131;
  line-height: 170%; }
body#recruit .mainContents .recTxt02 {
  font-size: 18px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%; }
body#recruit .mainContents .recTB {
  font-size: 15px;
  margin: 30px 0 30px;
  width: 710px; }
  body#recruit .mainContents .recTB th {
    font-weight: bold;
    padding: 10px 20px;
    width: 170px;
    color: #4e4e4e;
    background: #d7deee;
    border: 1px #515151 solid;
    border-left: none;
    vertical-align: middle;
    text-align: left;
    line-height: 130%; }
  body#recruit .mainContents .recTB td {
    padding: 7px 20px;
    line-height: 150%;
    border: 1px #515151 solid;
    border-right: none;
    color: #4e4e4e;
    vertical-align: middle; }
    body#recruit .mainContents .recTB td a {
      color: #1958b6;
      text-decoration: underline; }
    body#recruit .mainContents .recTB td a:hover {
      text-decoration: none; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#recruit .mainContents img {
    width: 100%; }
  body#recruit .mainContents .recTB {
    width: 100%; }
    body#recruit .mainContents .recTB th {
      width: 24%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#recruit .mainContents img {
    width: 100%; }
  body#recruit .mainContents .recTxt01 {
    font-size: 3.2vw; }
  body#recruit .mainContents .recTxt02 {
    font-size: 4vw; }
  body#recruit .mainContents .recTB {
    font-size: 3.2vw;
    margin: 6vw 0;
    width: 100%; }
    body#recruit .mainContents .recTB th {
      padding: 2vw 4.2vw;
      width: 100%;
      border: none;
      display: block; }
    body#recruit .mainContents .recTB td {
      padding: 2vw 4.2vw;
      width: 100%;
      border: none;
      display: block; } }
/*767*/
/*==============================お問い合わせ================================*/
body#contact #main_img .mainImgBg {
  background: url(../img/contact/contact_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#contact #main_img .mainImgBg {
      background: url(../img/contact/contact_main_img_sp.jpg) no-repeat; } }
body#contact .mainContents .heading01 {
  font-size: 25px; }
body#contact .mainContents .contactTxt01 {
  font-size: 15px;
  padding: 15px 0;
  color: #323131;
  line-height: 170%; }
body#contact .mainContents .contactTxt02 {
  font-size: 20px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%;
  padding: 5px 0;
  border-bottom: 1px #adbbd0 solid; }
body#contact .mainContents .contactTxt03 {
  font-size: 15px;
  padding: 15px 0 5px;
  color: #323131;
  line-height: 150%; }
body#contact .mainContents .error {
  color: #dc0f0f;
  text-align: left;
  font-size: 90%;
  line-height: 130%; }
body#contact .mainContents #formArea {
  margin-top: 40px; }
body#contact .mainContents h3 {
  text-align: center;
  background: #003074;
  color: #fff;
  padding: 7px 0;
  width: 100%;
  font-size: 20px; }
body#contact .mainContents .contactTB {
  font-size: 15px;
  margin: 0px 0 20px;
  width: 710px; }
  body#contact .mainContents .contactTB th {
    font-weight: bold;
    padding: 10px 20px;
    width: 200px;
    color: #4e4e4e;
    background: #d7deee;
    border: 1px #515151 solid;
    border-left: none;
    vertical-align: middle;
    text-align: left;
    line-height: 130%;
    box-sizing: border-box; }
    body#contact .mainContents .contactTB th span {
      color: #dc0f0f; }
  body#contact .mainContents .contactTB td {
    padding: 7px 20px;
    line-height: 150%;
    border: 1px #515151 solid;
    border-right: none;
    color: #4e4e4e;
    vertical-align: middle;
    box-sizing: border-box; }
    body#contact .mainContents .contactTB td a {
      color: #1958b6;
      text-decoration: underline; }
    body#contact .mainContents .contactTB td a:hover {
      text-decoration: none; }
body#contact .mainContents .submit_button {
  background: #ffe100;
  color: #003074;
  padding: 8px 30px;
  border-radius: 3px;
  border: none;
  cursor: pointer;
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 50px; }
body#contact .mainContents .submit_button:hover {
  opacity: 0.7;
  transition: all .5s; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#contact .mainContents img {
    width: 100%; }
  body#contact .mainContents .contactTB {
    width: 100%; }
    body#contact .mainContents .contactTB th {
      width: 30%; }
    body#contact .mainContents .contactTB td {
      width: 70%; }
      body#contact .mainContents .contactTB td input[name="address"] {
        width: 100%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#contact .mainContents img {
    width: 100%; }
  body#contact .mainContents .contactTxt01 {
    font-size: 3.2vw; }
  body#contact .mainContents .contactTxt02 {
    font-size: 4vw; }
  body#contact .mainContents .contactTxt03 {
    font-size: 3.2vw; }
  body#contact .mainContents .contactTB {
    font-size: 3.2vw;
    margin: 0px 0 4vw;
    width: 100%; }
    body#contact .mainContents .contactTB th {
      padding: 2vw 4vw;
      width: 100%;
      display: block;
      border: none; }
    body#contact .mainContents .contactTB td {
      padding: 1.5vw 4vw 4vw;
      width: 100%;
      display: block;
      border: none; }
      body#contact .mainContents .contactTB td input[name="address"],
      body#contact .mainContents .contactTB td input[name="name1"],
      body#contact .mainContents .contactTB td input[name="name2"],
      body#contact .mainContents .contactTB td input[name="corp"],
      body#contact .mainContents .contactTB td input[name="email"],
      body#contact .mainContents .contactTB td input[name="tel"],
      body#contact .mainContents .contactTB td textarea {
        width: 100%; } }
/*767*/
/*==============================CMギャラリー================================*/
body#cm #main_img .mainImgBg {
  background: url(../img/cm/cm_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#cm #main_img .mainImgBg {
      background: url(../img/cm/cm_main_img_sp.jpg) no-repeat; } }
  body#cm #main_img .mainImgBg .mainImgTxt02 {
    padding-top: 100px; }
body#cm .mainContents .heading01 {
  font-size: 25px; }
body#cm .mainContents .cmTxt01 {
  font-size: 15px;
  padding: 15px 0;
  color: #323131;
  line-height: 170%; }
body#cm .mainContents .cmTxt02 {
  font-size: 18px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%; }
body#cm .mainContents video {
  width: 100%;
  position: relative;
  z-index: 20;
  margin-top: 10px;
  margin-bottom: 30px; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#cm .mainContents img {
    width: 100%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#cm .mainContents img {
    width: 100%; }
  body#cm .mainContents .cmTxt01 {
    font-size: 3.2vw; }
  body#cm .mainContents .cmTxt02 {
    font-size: 3.8vw; } }
/*767*/
/*==============================プライバシーポリシー================================*/
body#privacy #main_img .mainImgBg {
  background: url(../img/privacy/privacy_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#privacy #main_img .mainImgBg {
      background: url(../img/privacy/privacy_main_img_sp.jpg) no-repeat; } }
  body#privacy #main_img .mainImgBg .mainImgTxt02 {
    padding-top: 100px; }
body#privacy .mainContents .heading01 {
  font-size: 25px;
  margin-bottom: 10px; }
body#privacy .mainContents .privacyTxt01 {
  font-size: 15px;
  padding: 5px 0 15px;
  color: #323131;
  line-height: 170%; }
body#privacy .mainContents .privacyTxt02 {
  font-size: 18px;
  font-weight: bold;
  color: #323131;
  margin-top: 20px;
  line-height: 130%; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#privacy #main_img .mainImgBg .mainImgTxt01 {
    padding-top: 35px; }
  body#privacy .mainContents img {
    width: 100%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#privacy #main_img .mainImgBg .mainImgTxt01 {
    padding-top: 35px; }
  body#privacy .mainContents img {
    width: 100%; }
  body#privacy .mainContents .privacyTxt01 {
    font-size: 3.2vw; }
  body#privacy .mainContents .privacyTxt02 {
    font-size: 3.8vw; } }
/*767*/
/*==============================サイトマップ================================*/
body#sitemap #main_img .mainImgBg {
  background: url(../img/sitemap/sitemap_main_img.jpg) no-repeat; }
  @media screen and (max-width: 767px) {
    body#sitemap #main_img .mainImgBg {
      background: url(../img/sitemap/sitemap_main_img_sp.jpg) no-repeat; } }
body#sitemap .sitemapBox {
  width: 465px; }
  body#sitemap .sitemapBox h2 {
    background: url(../img/sitemap/sitemap_title_bg.gif);
    width: 465px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
    font-weight: bold;
    color: #003074; }
    body#sitemap .sitemapBox h2 a {
      font-size: 20px;
      font-weight: bold;
      color: #003074;
      display: block;
      width: 100%;
      height: 100%; }
    body#sitemap .sitemapBox h2 a:hover {
      text-decoration: none; }
  body#sitemap .sitemapBox ul {
    margin: 10px 0 30px 15px; }
    body#sitemap .sitemapBox ul li {
      line-height: 170%;
      font-size: 15px; }
      body#sitemap .sitemapBox ul li a {
        color: #272727; }
      body#sitemap .sitemapBox ul li a:hover {
        text-decoration: undeline;
        color: #003074; }
      body#sitemap .sitemapBox ul li span::before {
        content: url(../img/common/out_link.png); }
    body#sitemap .sitemapBox ul li::before {
      content: '＞';
      color: #003074;
      font-size: 17px; }

@media only screen and (min-width: 768px) and (max-width: 979px) {
  body#sitemap .sitemapBox {
    width: 47.5%; }
    body#sitemap .sitemapBox h2 {
      width: 100%; } }
/*768-979*/
@media only screen and (max-width: 767px) {
  body#sitemap .sitemapBox {
    width: 100%;
    float: none !important; }
    body#sitemap .sitemapBox h2 {
      width: 100%;
      max-width: 465px;
      background-repeat: no-repeat;
      background-size: 100%;
      background-position: left bottom;
      height: auto;
      line-height: 1.3;
      padding: 2vw 0; }
      body#sitemap .sitemapBox h2 a {
        font-size: 4.2vw; }
    body#sitemap .sitemapBox ul {
      margin: 2vw 0 6vw 3.2vw; }
      body#sitemap .sitemapBox ul li {
        font-size: 3.2vw; }
        body#sitemap .sitemapBox ul li:before {
          font-size: 3.6vw; } }
/*767*/
