@charset "shift-jis";
/* CSS Document */
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
@import url("//fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap");
@import url("//fonts.googleapis.com/css?family=Viga&display=swap");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, main, footer, header, hgroup, menu, nav, section {
  display: block;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  vertical-align: bottom;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}
input[type="text"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;;
}
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;;
}
select {
  border: none;
  outline: none;;
}
html, body {
  font-size: 62.5%;;
}
body {
  font-family: YakuHanJP, "Hiragino Kaku Gothic Std", "ƒqƒ‰ƒMƒmŠpƒS std W5", "ƒqƒ‰ƒMƒmŠpƒS W3", "ƒqƒ‰ƒMƒmŠpƒS Pro W3", "ƒqƒ‰ƒMƒmŠpƒS ProN W3", "Hiragino Kaku Gothic W3", "Hiragino Kaku Gothic Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  color: #292929;
  letter-spacing: .025em;;
}
_::-webkit-full-page-media, _:future, :root body {
  font-family: YakuHanJP, 'Noto Sans JP', 'ƒqƒ‰ƒMƒmŠpƒS std', 'ƒqƒ‰ƒMƒmŠpƒS W3', "ƒqƒ‰ƒMƒmŠpƒS Pro W3", 'ƒqƒ‰ƒMƒmŠpƒS ProN W3', 'Hiragino Kaku Gothic Std', 'Hiragino Kaku Gothic W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Meiryo', sans-serif;
}
.pc {
  display: block !important
}
.sp {
  display: none !important
}
@media only screen and (max-width: 1024px) {
  .pc {
    display: none !important
  }
  .sp {
    display: block !important
  }
}
a[href^="tel:"] {
  cursor: default;
}
.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important
}
a {
  color: #292929;
  text-decoration: none;
}
a:hover, a:active {
  text-decoration: none;
}
.txtC {
  text-align: center !important
}
.txtR {
  text-align: right !important
}
.txtL {
  text-align: left !important
}
.txtRed {
  color: #ff2424 !important
}
.bold {
  font-weight: bold !important
}
.normal {
  font-weight: normal !important
}
.btnLinkLarge {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.btnLinkLarge img {
  margin-right: 10px;
  vertical-align: middle;
}
.btnLinkLarge span {
  color: #0066b5;
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
  white-space: nowrap;
}
.btnLinkLarge span:after {
  content: "";
  background: #0066b5;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.btnLinkLarge a {
  pointer-events: auto;
}
.btnLinkLarge a:hover span:after {
  animation: hover-out .3s forwards alternate, hover-in .3s .3s forwards alternate;
}
@keyframes hover-in {
  0% {
    transform-origin: left top;
    transform: scale(0, 1)
  }
  100% {
    transform-origin: left top;
    transform: scale(1, 1)
  }
}
@keyframes hover-out {
  0% {
    transform-origin: right top;
    transform: scale(1, 1)
  }
  100% {
    transform-origin: right top;
    transform: scale(0, 1)
  }
}
.pageTop {
  position: absolute;
  bottom: 25px;
  right: 25px;
  transition: all .5s;
}
.pageTop a {
  display: block;
  width: 80px;
  transition: all .3s;
}
.pageTop a:hover {
  opacity: .7;
}
.pageTop a img {
  width: 100%;
}
.cf:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.cf {
  display: inline-block;
}
* html .cf {
  height: 1%;
}
.cf {
  display: block;
}
.header_total {
  height: 90px;
}
.header_total .headerInner {
  position: relative;
  display: flex;
  justify-content: space-between;
  min-width: 950px;
  margin: 0 auto;
}
.header_total .headerInner h1, .header_total .headerInner .logo {
  color: #222;
  font-size: 1.2rem;
  padding: 30px 2px 30px 5px;
}
@media screen and (min-width: 1025px) {
  .header_total .headerInner h1, .header_total .headerInner .logo {
    padding: 30px 7px 30px 30px;
  }
}
.header_total .headerInner h1 a, .header_total .headerInner .logo a {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.header_total .headerInner h1 a span, .header_total .headerInner .logo a span {
  display: block;
  line-height: 1.5;
}
.header_total .headerInner h1 a img, .header_total .headerInner .logo a img {
  width: 141px;
  height: 31px;
  margin-right: 15px;
}
.header_total .headerInner nav ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header_total .headerInner nav ul li a {
  display: block;
  line-height: 90px;
  height: 90px;
  padding: 0 10px;
}
@media screen and (min-width: 1201px) {
  .header_total .headerInner nav ul li a {
    padding: 0 15px;
  }
}
.header_total .headerInner nav ul li.btnContact {
  opacity: .7;
}
.header_total .headerInner nav ul li.btnContact a {
  font-size: 1.3rem;
  font-weight: normal;
  color: #32363a;
}
.header_total .headerInner nav ul li.btnLang {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.header_total .headerInner nav ul li.btnLang a {
  width: 120px;
  height: 50px;
  line-height: 50px;
  background: #f0f4f8;
  border-radius: 25px;
  display: flex;
  align-items: center;
  color: #64686c;
  font-family: "Viga", sans-serif;
}
.header_total .headerInner nav ul li.btnLang a img {
  width: 23px;
  height: 23px;
  margin-right: 8px;
}
.header_total .headerInner nav ul li.btnSearch {
  cursor: pointer;
  display: flex;
  align-items: center;
  background: #f0f4f8;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  position: relative;
}
.header_total .headerInner nav ul li.btnSearch span {
  width: 100%;
  height: 100%;
  display: block;
  background: url(/files/img/common/ico_search.png) center center no-repeat;
  background-size: 22px 23px;
}
.header_total .headerInner nav ul li.btnSearch.active {
  background: #006abd;
}
.header_total .headerInner nav ul li.btnSearch.active span {
  background: url(/files/img/common/ico_search_wht.png) center center no-repeat;
}
.header_total .headerInner nav ul li.btnSearch.active .searchBox {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
.header_total .headerInner nav ul li.btnSearch .searchBox {
  height: 80px;
  width: 516px;
  background: #f0f4f8;
  position: absolute;
  top: 70px;
  right: -30px;
  opacity: 0;
  z-index: 100;
  transition: all .3s;
  pointer-events: none;
  transform: translateY(10px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
}
.header_total .headerInner nav ul li.btnSearch .searchBox input {
  font-size: 2.8rem;
}
.header_total .headerInner nav ul li.btnSearch .searchBox input[type="text"] {
  width: 420px;
}
.header_total .headerInner nav ul li.btnSearch .searchBox input[type="submit"] {
  cursor: pointer;
}
.header_total .headerInner nav ul li.btnLogo.side {
  display: none;
}
.header_total .headerInner nav ul li.btnLogo.side a img {
  width: 206px;
  height: 38px;
  vertical-align: middle;
}
@media screen and (min-width: 1201px) {
  .header_total .headerInner nav ul li.btnLogo.side {
    display: block;
  }
  .header_total .headerInner nav ul li.btnLogo.vertical {
    padding: 0 10px;
  }
}

.header_total .headerInner nav ul li.btnLogo.vertical a img {
  width: 92px;
  height: 66px;
  vertical-align: middle;
}
@media screen and (min-width: 1201px) {
  .header_total .headerInner nav ul li.btnLogo.vertical {
    display: none;
  }
}
input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
}
input[type="search"]:focus {
  outline-offset: -2px;
}
input[type="search"]::-webkit-search-decoration {
  display: none;
}
input[type="search"], input[type="submit"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}
.header {
  background: #fff;
  position: fixed;
  z-index: 1000;
  width: 100%;
}
.header.noFix {
  position: relative;
}
.header .headerTop {
  background: #f1f5f9;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #ebeef0;
  min-width: 1000px;
}
.header .headerTop.active {
  z-index: 500;
  box-shadow: 0px 86px 86px 0px rgba(0, 0, 0, 0.8);
  position: relative;
}
.header .headerTop .headerTopL {
  display: flex;
  justify-content: flex-start;
}
.header .headerTop .headerTopL li a {
  display: block;
  font-size: 1.4rem;
  text-align: center;
  min-width: 122px;
  padding: 0 25px;
  height: 50px;
  line-height: 50px;
  transition: all .5s;
  color: #222;
}
.header .headerTop .headerTopL li a:hover {
  background: #0066b5;
  color: #fff;
}
.header .headerTop .headerTopL li.current a {
  background: #0066b5;
  color: #fff;
}
.header .headerTop .headerTopR {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.header .headerTop .headerTopR li {
  font-size: 1.4rem;
  text-align: center;
  height: 50px;
  line-height: 50px;
}
.header .headerTop .headerTopR li a {
/*  display: block;*/
  padding: 0 15px;
  font-size: 1.3rem;
  color: #a0a2a5;
}
.header .headerTop .headerTopR li.headerTopLogo img {
  height: 17px;
  width: 82px;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch {
  cursor: pointer;
  display: flex;
  align-items: center;
  background: #f0f4f8;
  width: 50px;
  height: 50px;
  position: relative;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch span {
  width: 100%;
  height: 100%;
  display: block;
  background: url(/files/img/common/ico_search.png) center center no-repeat;
  background-size: 22px 23px;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch.active {
  background: #006abd;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch.active span {
  background: url(/files/img/common/ico_search_wht.png) center center no-repeat;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch.active .searchBox {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch .searchBox {
  height: 86px;
  width: 516px;
  background: #f0f4f8;
  position: absolute;
  top: 50px;
  right: -110px;
  opacity: 0;
  z-index: 100;
  transition: all .3s;
  pointer-events: none;
  transform: translateY(10px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch .searchBox input {
  font-size: 2.8rem;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch .searchBox input[type="search"] {
  width: 420px;
}
.header .headerTop .headerTopR li.headerTopSearch.btnSearch .searchBox input[type="submit"] {
  cursor: pointer;
}
.header .headerTop .headerTopR li img {
  vertical-align: middle;
}
.header .headerBtm {
  background: #fff;
  display: flex;
  justify-content: space-between;
  height: 85px;
  padding-right: 5px;
}
.header .headerBtm h1, .header .headerBtm .logo {
  color: #222;
  font-size: 1.2rem;
  padding: 22px 0 30px 5px;
}
@media screen and (min-width: 1025px) {
  .header .headerBtm h1, .header .headerBtm .logo {
    padding: 22px 0 30px 30px;
  }
}
.header .headerBtm h1 a, .header .headerBtm .logo a {
  display: flex;
  justify-content: space-between;
}
.header .headerBtm h1 a span, .header .headerBtm .logo a span {
  display: block;
  line-height: 1.5;
}
.header .headerBtm h1 a img, .header .headerBtm .logo a img {
  width: 227px;
  height: 42px;
  margin-right: 15px;
}
.header nav ul {
  display: flex;
  justify-content: flex-end;
}
.header nav ul li > a {
  display: block;
  line-height: 85px;
  padding: 0 6px;
  font-size: 1.3rem;
  color: #222;
  font-weight: 500;
  text-decoration: none !important;
}
@media screen and (min-width: 1025px) {
  .header nav ul li > a {
    display: block;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1201px) {
  .header nav ul li > a {
    padding: 0 15px;
  }
}
.header nav ul li > a span {
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  white-space: nowrap;
  color: #222;
}
.header nav ul li > a span:after {
  content: "";
  height: 6px;
  width: 0;
  background: #0065b5;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all .3s;
}
.header nav ul li > a.current span:after {
  width: 100%;
}
.header nav ul li:hover span:after {
  width: 100%;
}
.header.active {
  box-shadow: 0px 220px 220px 0px rgba(0, 0, 0, 0.3);
}
.navWrap {
  display: block;
}
.navWrap .nav li {
  display: inline-block;
  vertical-align: top;
}
.navWrap .nav li .navSubWrap {
  background: url(/files/img/common/bg_navSubWrap_01.png) center center no-repeat;
  background-size: cover;
  opacity: 0;
  width: 100%;
  position: absolute;
  left: 0;
  pointer-events: none;
  transform: translate(0, 10px);
  transition: all .3s;
  z-index: 100;
  padding: 75px 0 110px;
  box-shadow: 0px 90px 90px 0px rgba(0, 0, 0, 0.3);
}
.navWrap .nav li .navSubWrap .navWrapBox {
  width: 100%;
  min-width: 950px;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 0 15px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxBtn {
  min-width: 208px;
  max-width: 298px;
  position: relative;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxBtn a {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 500;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  padding: 20px 0 0 0;
  transition: all .5s;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxBtn a span.hasImg {
  margin-left: 5px;
  transform: translateY(-10px);
}
@media screen and (min-width: 1201px) {
  .navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxBtn a span .disNon {
    display: none;
  }
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxBtn a:hover {
  opacity: .5;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxBtn a:before {
  content: "";
  display: block;
  height: 5px;
  width: 66px;
  background: #e3ab00;
  position: absolute;
  top: 0;
  left: 0;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink {
  width: 100%;
  max-width: 864px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop {
  margin-bottom: 30px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  background: #fff;
  border-radius: 10px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li {
  width: 25%;
  padding: 25px 0;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li a {
  height: 45px;
  min-height: 45px;
  line-height: 1.5;
  display: block;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  border-left: 1px solid #d5d5d5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  transition: all .5s;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li a p {
  width: 100%;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li a:hover {
  opacity: .5;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li:first-child a {
  border-left: none;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li.nav01 a .topNavIco img {
  width: 37px;
  height: 55px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li.nav02 a .topNavIco img {
  width: 39px;
  height: 63px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li.nav03 a .topNavIco img {
  width: 84px;
  height: 52px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop ul li.nav04 a .topNavIco img {
  width: 92px;
  height: 64px
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTop.hasIcon ul li a {
  align-items: flex-end;
  min-height: 95px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt ul {
  width: 30%;
  flex-wrap: wrap;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt ul li {
  width: 100%;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt ul li a {
  padding: 15px 0;
  line-height: 1.5;
  height: auto;
  display: block;
  position: relative;
  color: #fff;
  border-bottom: 1px solid #569ed6;
  transition: all .5s;
text-align:left; /*200915*/
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt ul li a:hover {
  opacity: .5;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt ul li a:after {
  content: url(/files/img/common/ico_arrow_wht.png);
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt p {
  width: 33.3%;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkTxt p.navWrapBoxLinkBnr {
  width: 30%;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkBnr a {
  transition: all .5s;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkBnr a img {
  width: 100%;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkBnr a:hover {
  opacity: .7
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany {
  margin-bottom: 30px;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany ul {
  display: flex;
  justify-content: space-between;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany ul li {
  width: 30%;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany ul li a {
  padding: 0;
  background: #fff;
  border-radius: 10px;
  line-height: 2;
  transition: all .5s;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany ul li a:hover {
  opacity: .5;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany ul li a .navWrapBoxLinkImg img {
  width: 100%;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany ul li a .navWrapBoxLinkTxt {
  padding: 10px;
  position: relative;
}
.navWrap .nav li .navSubWrap .navWrapBox .navWrapBoxLink .navWrapBoxLinkCampany ul li a .navWrapBoxLinkTxt:after {
  content: url(/files/img/common/ico_arrow_blu.png);
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.navWrap .nav li:hover .navSubWrap {
  opacity: 1;
  pointer-events: all;
  transform: translate(0, 0);
}
.sec .secInner {
  width: 1160px;
  margin: 0 auto;
}
.secTtl {
  width: 100%;
  min-width: 950px;
  margin-bottom: 90px;
}
.secTtl .secTtlInner {
  width: 100%;
  min-width: 950px;
  max-width: 1160px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  height: 230px;
  padding: 0 15px;
}
.secTtl .secTtlInner h1 {
  color: #fff;
  font-size: 3.2rem;
  font-weight: 100;
  position: relative;
}
.secTtl .secTtlInner h1:after {
  content: "";
  display: block;
  height: 5px;
  width: 47px;
  background: #fff;
  position: absolute;
  bottom: -10px;
  left: 0;
}
.secTtl .secTtlInner ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: absolute;
  top: 12px;
  left: 15px;
  font-size: 1.3rem;
  font-weight: 200;
  width: 100%;
  max-width: 750px;
}
.secTtl .secTtlInner ul li {
  color: #fff;
  margin-right: 15px;
}
.secTtl .secTtlInner ul li a {
  color: #fff;
}
.secTtl .secTtlInner ul li a:hover {
  text-decoration: underline;
}
.secTtl.secTtlCompany {
  background: url(/files/img/company/bg_secTtlCompany_01.jpg) center center no-repeat;
  background-size: cover;
}
.secTtl.secTtlCompany .secTtlCover {
  background: url(/files/img/company/bg_secTtlCompany_cover.png) center center no-repeat;
  background-size: cover;
}
.secInfo .secInfoInner {
  width: 100%;
  min-width: 950px;
  max-width: 1160px;
  margin: 0 auto 100px;
  padding: 0 30px;
}
@media screen and (min-width: 1201px) {
  .secInfo .secInfoInner {
    padding: 0 5px;
    margin: 0 auto 120px;
  }
}
.secInfo .secInfoInner.innerSlide {
  width: 100%;
}
.secInfo .secInfoInner.innerSlide a {
  transition: all .5s;
}
.secInfo .secInfoInner.innerSlide a:hover {
  opacity: .7;
}
.secInfo .secInfoInner.innerSlide p {
  padding: 5px;
}
.secInfo .secInfoInner.innerSlide p img {
  width: 100%;
}
.secInfo .secInfoInner .secInfo2Col {
  display: flex;
  justify-content: space-between;
}
.secInfo .secInfoInner .secInfo2Col > div {
  width: 50%;
}
.secInfo .secInfoInner .secInfo2Col > div:first-child {
  padding-right: 35px;
}
@media screen and (min-width: 1201px) {
  .secInfo .secInfoInner .secInfo2Col > div:first-child {
    padding-right: 60px;
  }
}
.secInfo .secInfoInner .secInfo2Col > div:last-child {
  padding-left: 35px;
  border-left: 1px solid #d5d5d5;
}
@media screen and (min-width: 1201px) {
  .secInfo .secInfoInner .secInfo2Col > div:last-child {
    padding-left: 60px;
  }
}
.secInfo .secInfoInner .secInfo2Col.colImg > div:first-child {
  padding-right: 0;
}
.secInfo .secInfoInner .secInfo2Col.colImg > div:last-child {
  padding-left: 0;
  border: none;
}
.secInfo .secInfoInner .secInfo1Col .secTtlLink {
  justify-content: flex-start;
}
.secInfo .secInfoInner .secInfo1Col .secTtlLink h2 {
  margin-right: 60px;
}
.secInfo .secInfoInner a {
  display: block;
  transition: all .5s;
}
.secInfo .secInfoInner a:hover {
  opacity: .7;
}
.secInfo .secTtlLink {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px
}
.secInfo .secTtlLink.mb5 {
  margin-bottom: 5px;
}
.secInfo .secTtlLink h2 span {
  color: #333;
  border-top: 4px solid #0066b5;
  font-size: 2.4rem;
  font-weight: 400;
  padding: 15px 0;
}
.secInfo .secTtlLink p {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.secInfo .secTtlLink p img {
  margin-right: 5px
}
.secInfo .secTtlLink p a {
  font-size: 1.4rem;
  color: #333;
}
.secInfo .secTtlLink p a:hover {
  text-decoration: underline;
}
.secInfo .secInfoList li {
  margin-bottom: 20px;
}
.secInfo .secInfoList li a {
  font-size: 1.4rem;
  display: flex;
  justify-content: flex-start;
  font-weight: 300;
}
.secInfo .secInfoList li a:hover {
  text-decoration: underline;
}
.secInfo .secInfoList li a .listDate {
  flex: 0 0 100px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
}
.secInfo .secInfoList li:last-child {
  margin-bottom: 0;
}
.secInfo .secInfoSlide li a img {
  margin: 0 auto;
}
.secInfo .secInfoSlide .slider-arrow {
  cursor: pointer;
  width: 54px;
  height: 54px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}
.secInfo .secInfoSlide .slider-arrow.slider-prev {
  left: -30px;
  background: url(/files/img/common/ico_slide_prev.png);
  background-size: contain;
}
@media screen and (min-width: 1201px) {
  .secInfo .secInfoSlide .slider-arrow.slider-prev {
    left: -22px;
  }
}
.secInfo .secInfoSlide .slider-arrow.slider-next {
  right: -30px;
  background: url(/files/img/common/ico_slide_next.png);
  background-size: contain;
}
@media screen and (min-width: 1201px) {
  .secInfo .secInfoSlide .slider-arrow.slider-next {
    right: -22px;
  }
}
.secInfo .secInfoSlide .slick-dots {
  bottom: -25px;
}
.secInfo .secInfoSlide .slick-dots li {
  margin: 0;
}
.secInfo .secInfoSlide .slick-dots li.slick-active button:before {
  color: #1071b9;
}
.secInfo .secInfoListImg {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.secInfo .secInfoListImg li {
  width: 50%;
}
.secInfo .secInfoListImg li p {
  padding: 5px;
}
.secInfo .secInfoListImg li p img {
  width: 100%;
}
.secInfo.secInfoPd .secInfoInner {
  margin-bottom: 0;
  padding-bottom: 150px;
}
.secReport {
  padding: 120px 0 0;
  background: url(/files/img/common/bg_secReport_01.png) center top no-repeat;
}
.secReport.hasMb {
  margin-bottom: 80px;
}
@media screen and (min-width: 1201px) {
  .secReport.hasMb {
    margin-bottom: 120px;
  }
}
.secReport .secReportInner {
  width: 100%;
  min-width: 950px;
  max-width: 1160px;
  margin: 0 auto;
  position: relative;
}
.secReport .secReportInner .secReportTtl {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 1201px) {
  .secReport .secReportInner .secReportTtl {
    margin-bottom: 50px;
  }
}
.secReport .secReportInner .secReportTtl h2 {
  margin-bottom: 20px;
}
.secReport .secReportInner .secReportTtl h2 img {
  width: 234px;
  height: 75px;
}
@media screen and (min-width: 1201px) {
  .secReport .secReportInner .secReportTtl h2 img {
    width: 260px;
    height: 83px;
  }
}
.secReport .secReportInner .secReportSns {
  position: absolute;
  top: 30px;
  right: 100px;
}
@media screen and (min-width: 1201px) {
  .secReport .secReportInner .secReportSns {
    right: 0;
  }
}
.secReport .secReportInner .secReportSns .secReportSnsIco img {
  margin: 0 4px 15px;
  width: 41px;
  height: 41px;
}
.secReport .secReportInner .secReportSns .secReportSnsIco a {
  transition: all .5s;
}
.secReport .secReportInner .secReportSns .secReportSnsIco a:hover {
  opacity: .7;
}
.secReport .secReportInner .secReportSns .secReportSnsLink {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.secReport .secReportInner .secReportSns .secReportSnsLink a {
  font-weight: 400;
  color: #333;
  text-decoration: underline;
}
.secReport .secReportInner .secReportSns .secReportSnsLink a:hover {
  text-decoration: none;
}
.secReport .secReportInner .secReportSns .secReportSnsLink img {
  margin-right: 10px;
}
.secReport .secReportList {
  width: 100%;
  max-width: 1600px;
  min-width: 950px;
  margin: 0 auto;
}
.secReport .secReportList ul {
  display: flex;
  justify-content: flex-start;
}
.secReport .secReportList ul li {
  width: 25%;
  background: #fff;
  background: -moz-linear-gradient(left, #fff 0%, #f3f3f3 100%);
  background: -webkit-linear-gradient(left, #fff 0%, #f3f3f3 100%);
  background: linear-gradient(to right, #fff 0%, #f3f3f3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f3f3f3', GradientType=1);
}
.secReport .secReportList ul li a .secReportListCover .secReportListImg {
  overflow: hidden;
}
.secReport .secReportList ul li a .secReportListCover .secReportListImg img {
  width: 100%;
  transition: all .8s;
}
.secReport .secReportList ul li a .secReportListCover .secReportListBox {
  padding: 30px 40px 0;
}
.secReport .secReportList ul li a .secReportListCover .secReportListBox .secReportListBoxDate {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  margin-bottom: 10px;
}
.secReport .secReportList ul li a .secReportListCover .secReportListBox .secReportListBoxTxt {
  font-size: 1.4rem;
  font-weight: 300;
  margin-bottom: 10px;
}
.secReport .secReportList ul li a:hover .secReportListCover .secReportListImg img {
  transform: scale(1.1, 1.1);
}
.secReport .secReportList ul li a:hover .secReportListCover .secReportListBox .secReportListBoxDate {
  text-decoration: underline;
}
.secReport .secReportList ul li a:hover .secReportListCover .secReportListBox .secReportListBoxTxt {
  text-decoration: underline;
}
.secReport .secReportList ul li .secReportListCat {
  padding: 0 40px 40px;
}
.secReport .secReportList ul li .secReportListCat a {
  font-size: 1.2rem;
  color: #0070c0;
  text-decoration: underline;
  margin-right: 10px;
}
.secReport .secReportList ul li .secReportListCat a:hover {
  text-decoration: none
}
.footer {
  position: relative;
  width: 100%;
  background: #f2f5f7
}
.footer a{
  color: #333;
}
.footer .footerInner {
  width: 100%;
  min-width: 950px;
  max-width: 1220px;
  margin: 0 auto;
  padding: 70px 30px 55px
}
@media screen and (min-width: 1201px) {
  .footer .footerInner {
    padding: 70px 10px 55px
  }
}
.footer .footerInner .footNavCover {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.footer .footerInner .footNavCover .footNavBox {
  margin-bottom: 50px
}
.footer .footerInner .footNavCover .footNavBox ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.footer .footerInner .footNavCover .footNavBox ul li {
  width: 49%
}
.footer .footerInner .footNavCover .footNavBox ul li a {
  font-size: 1.4rem;
  font-weight: 300;
  color: #333;
  display: block;
  height: 40px;
  line-height: 1.5;
  display: flex;
  align-items: center
}
.footer .footerInner .footNavCover .footNavBox ul li a:hover {
  text-decoration: underline
}
.footer .footerInner .footNavCover .footNavBox.boxL {
  width: 35%;
  max-width: 450px;
  padding-right: 1%
}
@media screen and (min-width: 1201px) {
  .footer .footerInner .footNavCover .footNavBox.boxL {
    width: 40%;
    padding-right: 8%
  }
}
.footer .footerInner .footNavCover .footNavBox.boxM {
  width: 24%;
  max-width: 300px;
  padding-right: 2%
}
@media screen and (min-width: 1025px) {
  .footer .footerInner .footNavCover .footNavBox.boxM {
    width: 20%
  }
}
.footer .footerInner .footNavCover .footNavBox.boxM ul li {
  width: 100%
}
.footer .footerInner .footNavCover .footNavBox.boxM.pr0 {
  padding-right: 0
}
.footer .footerInner .footNav01 {
  margin-bottom: 20px;
  border-bottom: 2px solid #bacad5;
  padding-bottom: 5px
}
.footer .footerInner .footNav01 a,
.footer .footerInner .footNav01 .noLink{
  display: inline-block;
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 60px;
  color: #333;
}
.footer .footerInner .footNav01 a span,
.footer .footerInner .footNav01 .noLink span{
  margin-right: 15px;
  line-height: 1.5;
}
.footer .footerInner .footNav01 a:hover {
  text-decoration: underline;
}
.footer .footerInner .footNav01.nobd {
  border: none;
  padding-bottom: 0;
}
.footer .footerInner .footerBtm {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer .footerInner .footerBtm h2 {
  transition: all .5s;
}
@media screen and (min-width: 1201px) {
  .footer .footerInner .footerBtm h2 {
    width: auto;
  }
}
.footer .footerInner .footerBtm h2:hover {
  opacity: .7;
}
.footer .footerInner .footerBtm h2 img {
  width: 109px;
  height: 44px;
}
.footer .footerInner .footerBtm .footerBtmNav {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 40px 55px 40px 40px;
}
@media screen and (min-width: 1201px) {
  .footer .footerInner .footerBtm .footerBtmNav {
    margin: 0 0 0 5px;
  }
}
.footer .footerInner .footerBtm .footerBtmNav li a {
  padding: 0 15px;
  font-size: 1.3rem;
  font-weight: 200;
  color: #333;
  border-right: 1px solid #333;
}
.footer .footerInner .footerBtm .footerBtmNav li a:hover {
  text-decoration: underline;
}
.footer .footerInner .footerBtm .footerBtmNav li:last-child a {
  border: none;
}
.footer .footerInner .footerBtm .footerBtmNav li:nth-of-type(2) a {
  border-right: none;
}
@media screen and (min-width: 1201px) {
  .footer .footerInner .footerBtm .footerBtmNav li:nth-of-type(2) a {
    border-right: 1px solid #333;
  }
}
.footer .footerInner .footerBtm h3 {
  transition: all .5s;
}
.footer .footerInner .footerBtm h3:hover {
  opacity: .7;
}
.footer .footerInner .footerBtm h3 img {
  width: 105px;
  height: 22px;
}
.footer .footerInner .footerBtm .footerBtmBnr {
  margin: 0 15px 0 0;
}
.footer .footerInner .footerBtm .footerBtmBnr a {
  transition: all .5s;
}
.footer .footerInner .footerBtm .footerBtmBnr a:hover {
  opacity: .7;
}
.footer .copy {
  height: 43px;
  background: #0066b4;
  text-align: center;
}
.footer .copy small {
  color: #fff;
  font-size: 1rem;
  line-height: 43px;
  font-weight: 200;
}
.footer.footer_total .footerInner .footerBtm h2 img {
  width: 116px;
  height: 24px;
}
.footer.footer_total .footerInner .footerBtm h3 img {
  width: 101px;
  height: 42px;
}
