@charset "UTF-8";
body {
  margin: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  color: #191919;
  min-width: 1100px;
}
body.single {
  background-color: #0b2250;
}

.box1100 {
  width: 1126px;
  margin-left: auto;
  margin-right: auto;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: 999;
  min-width: 1160px;
  width: 100%;
  height: 100px;
  align-items: center;
}
header.scroll {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  position: fixed;
  height: 80px;
}
header.scroll .logo_box img {
  height: 48px;
}
header.scroll #gnavi .flex-end > li > a {
  height: 80px;
  padding-bottom: 5px;
}
header.scroll #gnavi .flex-end > li .acc a {
  height: 80px;
  padding-bottom: 5px;
}
header .logo_box {
  margin-left: 60px;
  z-index: 9;
}
header .logo_box img {
  height: 60px;
  width: auto;
}
header #gnavi {
  margin-right: 60px;
  z-index: 99;
}
header #gnavi .toggle {
  display: none;
}
header #gnavi .flex-end > li {
  position: static;
  letter-spacing: 0.5px;
  font-weight: 700;
  line-height: 32px;
}
header #gnavi .flex-end > li .acc a,
header #gnavi .flex-end > li > a {
  box-sizing: border-box;
  transition: all 0.4s linear;
  color: #191919;
  padding: 0 20px 0px;
  height: 100px;
  display: grid;
  place-items: center;
}
header #gnavi .flex-end > li .acc a:hover,
header #gnavi .flex-end > li > a:hover {
  color: #1f4da7;
}
header #gnavi .flex-end > li .acc a span,
header #gnavi .flex-end > li > a span {
  padding-bottom: 9px;
}
header #gnavi .flex-end > li .acc a.btn,
header #gnavi .flex-end > li > a.btn {
  margin-left: 20px;
  color: #fff !important;
  text-align: center;
  background-color: #0b2250;
  width: 180px;
  height: 48px;
  line-height: 48px;
  padding: 0;
}
header #gnavi .flex-end > li .acc a.btn:hover,
header #gnavi .flex-end > li > a.btn:hover {
  background-color: #55b3e0;
  color: #fff;
}
header #gnavi .flex-end > li .acc {
  position: relative;
}
header #gnavi .flex-end > li .acc span:before {
  transition: all 0.3s;
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  right: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1f4da7;
  border-right: 2px solid #1f4da7;
  transform: rotate(135deg);
}
header #gnavi .flex-end > li .child {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  width: 100%;
  top: 100px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 9999;
  background: #fff;
  /*&.hidden {
    visibility: hidden !important;
    opacity: 0 !important;
  }*/
}
header #gnavi .flex-end > li:hover {
  transition: all 0.3s;
}
header #gnavi .flex-end > li:hover .acc span:before {
  transform: rotate(315deg);
  bottom: -4px;
}
header #gnavi .flex-end > li:hover .child {
  visibility: visible;
  opacity: 1;
}

/*子メニュー*/
header #gnavi .flex-end > li .child {
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  height: 0;
  position: absolute;
  width: 100%;
  top: 100px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 9999;
  background: #eff6fc;
}
header #gnavi .flex-end > li .child.vi {
  visibility: visible;
  opacity: 1;
}
header #gnavi .flex-end > li .child .in_box {
  /*padding-top: 80px;
  padding-bottom: 80px;*/
  gap: 60px;
}
header #gnavi .flex-end > li .child .in_box .c_link_box {
  padding-top: 46px;
  padding-bottom: 60px;
}
header #gnavi .flex-end > li .child .c_txt {
  color: #fff;
  padding-right: 60px;
  background-color: #1f4da7;
  /*height: 100%;
  display: grid;
  place-items: center end;*/
  width: 240px;
}
header #gnavi .flex-end > li .child .c_txt .txt50 {
  line-height: 1;
}
header #gnavi .flex-end > li .child .c_txt .txt14 {
  padding-top: 10px;
  text-align: left;
}
header #gnavi .flex-end > li .child .c_txt p {
  position: absolute;
  top: 50%;
  right: 60px;
  margin: auto;
  transform: translateY(-50%);
}
header #gnavi .flex-end > li .child:before {
  display: block;
  content: "";
  width: 22%;
  height: 100%;
  top: 0;
  left: 0;
  margin: auto;
  position: absolute;
  background: #1f4da7;
}
header #gnavi .flex-end > li .child .c_link_box.mw {
  max-width: calc(100% - 310px);
}
header #gnavi .flex-end > li .child .dn_100.bn100 {
  margin-right: -80px;
  margin-left: 2.5vw;
}
header #gnavi .flex-end > li .child .bn_rec {
  margin-right: 2.5vw;
}
header #gnavi .flex-end > li .child .bn_rec img {
  border-radius: 30px 0 0 0;
}
header #gnavi .flex-end > li .child .c_link {
  width: 226px;
  margin-right: 30px;
}
header #gnavi .flex-end > li .child .c_link.w482 {
  width: 482px;
}
header #gnavi .flex-end > li .child .c_link.mr_ {
  margin-right: -70px;
}
header #gnavi .flex-end > li .child .c_link li {
  line-height: 64px;
}
header #gnavi .flex-end > li .child .c_link li.txt_blue {
  padding-left: 15px;
  border-bottom: 1px solid #a7c3de;
}
header #gnavi .flex-end > li .child .c_link li a {
  transition: all 0.4s linear;
  padding-left: 15px;
  position: relative;
  line-height: 64px;
  width: 100%;
  border-bottom: 1px solid #a7c3de;
  box-sizing: border-box;
}
header #gnavi .flex-end > li .child .c_link li a:not(.blank):after {
  transition: 0.7s;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  position: absolute;
  background: url(/img/common/ar01_sp.png) 50% 50% no-repeat;
  background-size: 100% auto !important;
  z-index: 3;
}
header #gnavi .flex-end > li .child .c_link li a.blank svg {
  transition: all 0.4s linear;
  padding: 4px 0 0 10px;
}
header #gnavi .flex-end > li .child .c_link li a.blank svg line,
header #gnavi .flex-end > li .child .c_link li a.blank svg path {
  stroke: #191919;
}
header #gnavi .flex-end > li .child .c_link li a:hover {
  color: #1f4da7;
}
header #gnavi .flex-end > li .child .c_link li a:hover:not(.blank):after {
  background: url(/img/common/ar01_sp_on.png) 50% 50%;
  right: 5px;
}
header #gnavi .flex-end > li .child .c_link li a:hover.blank svg line,
header #gnavi .flex-end > li .child .c_link li a:hover.blank svg path {
  stroke: #1f4da7;
}
header #gnavi .flex-end > li .child .link_clm3 {
  width: 800px;
  max-width: 100%;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only {
  width: 240px;
  max-width: 30%;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only a {
  position: relative;
  height: 150px;
  background-color: #2495da;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only a .img {
  transition: all 0.2s;
  width: 50%;
  height: 150px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only a .txt_box {
  transition: all 0.4s;
  height: 150px;
  width: 50%;
  color: #fff;
  z-index: 4;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only a .txt_box i {
  margin-bottom: 14px;
  padding-top: 10px;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only a .txt_box .txt10 {
  letter-spacing: 1.5px;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only a:hover .txt_box {
  width: 100%;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only a:hover .img {
  visibility: hidden;
  opacity: 0;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only.link02 a {
  background-color: #1f4da7;
}
header #gnavi .flex-end > li .child .link_clm3 li.pc_only.link03 a {
  background-color: #0b2250;
}
header #gnavi .flex-end > li .child .link_clm3 li.cl2 {
  margin-top: 50px;
}
header #gnavi .flex-end > li:hover .child {
  transition: all 0.4s;
  visibility: visible;
  opacity: 1;
  height: auto;
}
header.scroll #gnavi .flex-end > li .child {
  top: 80px;
}

#index header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#index header:not(.scroll) {
  background-color: transparent;
  height: 100px;
}
#index header:not(.scroll) #gnavi .flex-end > li .acc a,
#index header:not(.scroll) #gnavi .flex-end > li > a {
  color: #fff;
}
#index header:not(.scroll) #gnavi .flex-end > li .acc a:hover,
#index header:not(.scroll) #gnavi .flex-end > li > a:hover {
  color: #1f4da7;
}
#index header:not(.scroll) #gnavi .flex-end > li .acc:before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
#index header.scroll {
  align-items: center;
  position: fixed;
  background: #fff;
}
#index header.scroll .logo_box {
  margin-top: 0px;
}
#index header.scroll #gnavi {
  padding-top: 0px;
}

header + #main .title {
  margin-top: 100px;
}
header + #main .title.scroll + #main .title {
  margin-top: 80px;
}

header + #main .title.n404 {
  margin-top: 100px;
}
header + #main .title.n404.scroll + #main .title {
  margin-top: 80px;
}

.title:not(.none) {
  height: 300px;
  background-size: cover !important;
  color: #fff;
}
.title:not(.none).txt_navy {
  color: #0b2250;
  height: 300px;
}
.title:not(.none) .h1_txt {
  padding: 0 10%;
  text-transform: uppercase;
}
.title:not(.none) .h1_txt .txt18 {
  letter-spacing: 3px;
  padding-left: 6px;
}

/*下層タイトルなしのページ用*/
.title.none {
  height: 1px;
}

#csr .title {
  background: url(/img/csr/tit_img.jpg) no-repeat;
}

#business .title {
  background: url(/img/business/tit_img.jpg) no-repeat;
}

#news:not(.single) .title {
  background: url(/img/news/tit_img.jpg) no-repeat;
}

#company .title {
  background: url(/img/company/tit_img.jpg) no-repeat;
}

.page-template-page-ir .title,
#ir .title {
  background: url(/img/ir/tit_img.jpg) no-repeat;
}

#products .title {
  background: url(/img/products/tit_img.jpg) no-repeat;
}

#history .title {
  background: url(/img/history/tit_img.jpg) no-repeat;
}

@media screen and (max-width: 1200px) {
  /*-----------*/
  header .logo_box {
    margin-left: 30px;
  }
  header #gnavi {
    margin-right: 40px;
  }
  header #gnavi .flex-end > li .child:before {
    width: 20%;
  }
  header #gnavi .flex-end > li .child .in_box {
    gap: 35px;
  }
  header #gnavi .flex-end > li .child .in_box .c_txt {
    padding-right: 35px;
    width: 220px;
  }
  header #gnavi .flex-end > li .child .in_box .c_txt p {
    right: 35px;
  }
  header #gnavi .flex-end > li .child .in_box .c_link {
    width: 200px;
  }
  header #gnavi .flex-end > li .child .in_box .c_link.w482 {
    width: 400px !important;
  }
  header #gnavi .flex-end > li .child .in_box .bn100 img {
    width: 280px;
  }
  header #gnavi .flex-end > li .child .in_box .link_clm3 .cl2 {
    max-width: 45%;
    margin-top: 40px;
  }
  header #gnavi li > a.btn {
    width: 150px;
  }
} /*--max-width: 1200px--*/
#fix_btn {
  position: fixed !important;
  bottom: 20px;
  right: 30px;
  width: 100%;
  z-index: 9999;
  pointer-events: none;
}
#fix_btn #pagetop a {
  z-index: 99;
  pointer-events: all;
}
#fix_btn #pagetop a:hover {
  opacity: 1;
  transition: all 0.4s linear;
}
#fix_btn.is-stop {
  position: absolute;
  top: 50px;
  bottom: auto;
}

#main_img {
  background-color: #0b2250;
}
#main_img:before {
  display: block;
  content: "";
  width: 74%;
  height: 100%;
  bottom: 0px;
  left: 26%;
  right: 0;
  margin: auto;
  position: absolute;
  background: url(/img/top/bg01.png) no-repeat;
  background-position: left 0 top 100vh;
  background-size: 100% auto;
}
#main_img .fv {
  height: calc(100vh + 620px);
  margin: 0 auto 0;
}
#main_img .main_img {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#main_img .main_img video {
  max-width: none;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
#main_img .lead_box {
  position: -webkit-sticky;
  position: sticky;
  margin-bottom: 14vh;
  top: 55vh;
}
#main_img .lead_box .lead img {
  max-width: 73%;
}
#main_img .txt_img .txt_w {
  padding-left: 10%;
  max-width: 56%;
}
#main_img .txt_img .txt_w .txt19 + .txt19 {
  margin-top: 38px;
}
#main_img .txt_img .img {
  max-width: 40%;
}
#main_img .txt_img .img .img01 img {
  min-height: 580px;
  max-width: none;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 30% 50%;
     object-position: 30% 50%;
}
#main_img .txt_img .img .img02 {
  margin-top: 10px;
  min-width: 360px;
}
#main_img .txt_img .img .img02 img {
  transform: translate(-30%, 30%);
}

#main .scroll_box {
  z-index: 9999;
  position: absolute;
  top: 70vh;
  right: 20px;
  margin: auto;
  width: 32px;
  height: 220px;
}
#main .scroll_box a {
  display: inline-block;
  margin-bottom: 10px;
}
#main .scroll_box a svg {
  display: block;
  z-index: 99;
  transition: all 0.4s linear;
  fill: #1f4da7;
}
#main .scroll_box a:hover svg {
  fill: #55b3e0 !important;
}
#main .scroll_box.navy a svg {
  fill: #1f4da7;
}

#index #main .scroll_box {
  top: auto;
  bottom: 50px;
}
#index #main .scroll_box a svg {
  fill: #fff;
}
#index #main .scroll_box a:hover svg {
  fill: #55b3e0 !important;
}

.single #main .scroll_box a svg {
  fill: #fff;
}

#contact #main .scroll_box a svg {
  fill: #1f4da7;
}

.stit01 {
  letter-spacing: 0.2em;
  color: #0b2250;
  font-size: 18px;
  margin-bottom: 60px;
}
.stit01 .font-r {
  font-weight: 700;
  letter-spacing: 0em;
  display: block;
  font-size: 80px;
  color: #1f4da7;
  line-height: 1;
  margin-bottom: 20px;
}
.stit01.txt_w {
  color: #fff;
}
.stit01.txt_w .font-r {
  color: #fff;
}

.stit_navy {
  background-color: #0b2250;
  line-height: 44px;
  height: 46px;
  border-left: 16px solid #1f4da7;
  color: #fff;
  padding-left: 30px;
}

.ir_box .box1000.bg_w .w800 {
  width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.ir_box .box1000.bg_w.clm2 {
  width: 650px;
}
.ir_box .box1000.bg_w .img + .img {
  margin-top: 60px;
}
.ir_box .box1000.bg_w .img.justify img {
  max-width: 48%;
}
.ir_box .box1000.bg_w .img.justify img:not(:first-child):not(:nth-child(2)) {
  margin-top: 20px;
}
.ir_box .box1000.bg_w .dl_list {
  display: inline-block;
}
.ir_box .box1000.bg_w .dl_list li {
  padding-left: 28px;
}
.ir_box .box1000.bg_w .dl_list li.pdf {
  background: url(/img/ir/i_pdf.png) 0 50% no-repeat;
  background-size: 23px auto;
}
.ir_box .box1000.bg_w .dl_list li.blank2 {
  background: url(/img/ir/i_blank02.png) 0 50% no-repeat;
  padding-left: 18px;
}
.ir_box .box1000.bg_w .dl_list li + li {
  margin-top: 10px;
}
.ir_box .box1000.bg_w .dl_list.db {
  display: block;
  margin-left: 50px;
}
.ir_box .box1000.bg_w .dl_list.db + .txt12 {
  margin-left: 50px;
}
.ir_box .box1000.bg_w .flx-start {
  gap: 4%;
}
.ir_box .box1000.bg_w .w50 {
  width: 375px;
  max-width: 46%;
}
.ir_box .box1000.bg_w .w50 a:not(.pdf_link) {
  text-decoration: underline;
}
.ir_box .box1000.bg_w .w50 a:not(.pdf_link):hover {
  text-decoration: none;
  transition: all 0.4s linear;
}
.ir_box .box1000.bg_w .w50 a.pdf_link .bb {
  text-decoration: underline;
}
.ir_box .box1000.bg_w .w50 a.pdf_link .bb:hover .bb {
  text-decoration: none;
  transition: all 0.4s linear;
}
.ir_box .box1000.bg_w .simple_box .txt_box {
  width: 246px;
}
.ir_box .box1000.bg_w .simple_box .btn01 a:hover {
  background-color: #55b3e0;
}

.txt64 .txt18 {
  display: block;
  letter-spacing: 0.16em;
}

.btn01 a,
.btn01 span.nolink {
  transition: all 0.4s linear;
  text-align: left;
  margin: 0;
  padding: 0 30px;
  display: inline-block;
  position: relative;
  color: #fff;
  letter-spacing: 0.5px;
  background: #1f4da7;
  width: 246px;
  height: 54px;
  line-height: 54px;
  box-sizing: border-box;
}
.btn01 a:after,
.btn01 span.nolink:after {
  transition: all 0.4s linear;
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  position: absolute;
  background: url(/img/common/ar02.png) 50% 50% no-repeat;
  background-size: 100% auto;
  z-index: 3;
}
.btn01 a.blank:after,
.btn01 span.nolink.blank:after {
  display: none;
}
.btn01 a.blank svg,
.btn01 span.nolink.blank svg {
  position: absolute;
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 30px;
  z-index: 3;
}
.btn01 a.blank svg line,
.btn01 a.blank svg path,
.btn01 span.nolink.blank svg line,
.btn01 span.nolink.blank svg path {
  transition: all 0.4s linear;
}
.btn01 a:hover,
.btn01 span.nolink:hover {
  background-color: #55b3e0;
}
.btn01 a:hover:not(.blank):after,
.btn01 span.nolink:hover:not(.blank):after {
  right: 20px;
}
.btn01 a:hover.blank:not(.hov2),
.btn01 span.nolink:hover.blank:not(.hov2) {
  background-color: #fff;
  color: #1f4da7;
}
.btn01 a:hover.blank:not(.hov2) svg line,
.btn01 a:hover.blank:not(.hov2) svg path,
.btn01 span.nolink:hover.blank:not(.hov2) svg line,
.btn01 span.nolink:hover.blank:not(.hov2) svg path {
  stroke: #1f4da7;
}

#products .img_box2 {
  gap: 50px;
  margin-inline: auto;
}
#products .img_box2.clm2 {
  width: 650px;
}
#products .img_box2 li.w220 {
  width: 220px;
}
#products .img_box2 li.w220 p {
  margin-top: 20px;
}
#products .img_box ul.q_a li {
  border-bottom: 2px solid #1f4da7;
  padding: 16px 50px;
}
#products .img_box ul.q_a li a {
  width: 340px;
  box-sizing: border-box;
  text-decoration: none;
  color: #0b2250;
  background: url(/img/common/i_blank_n.svg) right 50% no-repeat;
  padding-right: 60px;
}
#products .img_box a:not(.img) {
  color: #1f4da7;
  text-decoration: underline;
}
#products .img_box a:not(.img):hover {
  text-decoration: none;
  transition: all 0.4s linear;
}
#products .img_box .dl_table {
  width: 100%;
  margin: 0px auto 0;
  border-collapse: collapse;
  border: 1px double #1f4da7;
}
#products .img_box .dl_table th {
  width: 310px;
  max-width: 35%;
  border: 1px solid #a7c3de;
  box-sizing: border-box;
  padding: 11px 30px 11px 50px;
  vertical-align: middle;
  text-align: left;
  background-color: #1f4da7;
  color: #fff;
}
#products .img_box .dl_table td {
  border: 1px solid #a7c3de;
  box-sizing: border-box;
  padding: 11px 20px;
  position: relative;
  text-align: center;
}
#products .img_box .dl_table td.tL {
  padding-left: 50px;
  text-align: left;
}
#products .dl_table02 {
  position: relative;
  width: 100%;
  margin: 0px auto 0;
  border-collapse: collapse;
}
#products .dl_table02:before {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  background: #1f4da7;
  z-index: 3;
}
#products .dl_table02 .bg01 th {
  border: 2px solid #fff;
  box-sizing: border-box;
  padding: 10px;
  vertical-align: middle;
  text-align: center;
  background-color: #284f86;
  color: #fff;
}
#products .dl_table02 .bg01 th.w200 {
  width: 220px;
}
#products .dl_table02 .wrap > td {
  text-align: left;
  border: 2px solid #fff;
  border-bottom: 2px solid #a7c3de;
  box-sizing: border-box;
  padding: 30px 18px;
  position: relative;
}
#products .dl_table02 .wrap > td.bg_blue {
  padding: 30px 4px;
  white-space: nowrap;
  background-color: #1f4da7;
  color: #fff;
  text-align: center;
}
#products .dl_table02 .wrap > td.bg_aqua {
  width: 200px;
  padding: 20px 18px;
}
#products .dl_table02 .wrap > td.bg_aqua .dl_table03 th {
  width: 110px;
  padding: 11px 10px 11px 10px;
  vertical-align: middle;
}
#products .dl_table02 .vt {
  vertical-align: top;
}
#products .dl_table02 .wrap td {
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #d3e1ee;
}
#products .dl_table02 .wrap.btm td {
  border-bottom: none;
}
#products .dl_table03 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-collapse: collapse;
  border: 1px double #1f4da7;
  text-align: left;
  font-size: 13px;
}
#products .dl_table03 caption {
  line-height: 1.4;
  padding-bottom: 8px;
}
#products .dl_table03 th {
  font-weight: normal;
  border-bottom: 1px solid #a7c3de;
  box-sizing: border-box;
  padding: 11px 10px 11px 20px;
  vertical-align: middle;
  text-align: left;
  background-color: #5a7ba8;
  color: #fff;
  line-height: 1.3;
}
#products .dl_table03 td {
  background-color: #fff;
  width: 126px;
  border-bottom: 1px solid #a7c3de !important;
  box-sizing: border-box;
  padding: 11px 5px 11px 12px;
  position: relative;
  text-align: left;
}
#products .dl_table03 td.tL {
  padding-left: 50px;
  text-align: left;
}
#products .dl_table03 tr:nth-of-type(even) th {
  background-color: #476a9b;
}
#products .dl_table03 tr:nth-of-type(even) td {
  background-color: #eff6fc;
}
#products .dl_table03.spec02 th {
  text-align: center;
  padding: 11px 5px;
  border-left: 1px solid #406395;
}
#products .dl_table03.spec03 {
  margin-top: 25px;
}

#company .l_nav li {
  width: 136px;
}
#company .l_nav li a {
  box-sizing: border-box;
  display: block;
  height: 100px;
  padding-top: 30px;
  transition: all 0.4s linear;
  background-color: #0b2250;
  color: #fff;
}
#company .l_nav li a::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 30px;
  right: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 3px solid #5a7ba8;
  border-right: 3px solid #5a7ba8;
  transform: rotate(135deg);
}
#company .l_nav li a:hover {
  background-color: #1f4da7;
}

#business01 .box1200 .txt_box {
  padding-left: 50px;
  width: 544px;
}
#business01 .box1200 .txt_box .txt40 {
  line-height: 84px;
  white-space: nowrap;
}
#business01 .box1200 .txt_box .txt40 em {
  vertical-align: middle;
  padding: 0 10px;
  line-height: 80px;
}
#business01 .box1200 .img {
  max-width: 50%;
}
#business01 .link_clm3 {
  gap: 40px;
}
#business01 .link_clm3 li {
  width: 300px;
  background-color: #2495da;
}
#business01 .link_clm3 li.link02 {
  background-color: #1f4da7;
}
#business01 .link_clm3 li.link03 {
  background-color: #0b2250;
}
#business01 .link_clm3 li .img {
  width: 50%;
}
#business01 .link_clm3 li .txt_box {
  width: 50%;
  padding-bottom: 20px;
}
#business01 .link_clm3 li .txt_box .txt10 {
  letter-spacing: 1.5px;
}
#business01 .link_clm3 li .txt_box::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  right: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(135deg);
}

.news_list {
  margin-bottom: 80px;
}
.news_list li a {
  transition: all 0.4s linear;
  background-color: #eff6fc;
  padding: 37px 30px;
  border-bottom: 1px solid #a7c3de;
}
.news_list li a:after {
  transition: 0.7s;
  display: block;
  content: "";
  width: 26px;
  height: 26px;
  top: 0;
  bottom: 0;
  right: 50px;
  margin: auto;
  position: absolute;
  background: url(/img/common/ar01.png) 50% 50% no-repeat;
  background-size: 100% auto !important;
  z-index: 3;
}
.news_list li a:hover {
  background-color: #fff;
}
.news_list li a:hover:after {
  right: 42px;
  background: url(/img/common/ar01_on.png) 50% 50%;
}
.news_list li a .date {
  font-family: "Roboto", sans-serif;
  color: #1f4da7;
  font-weight: bold;
  line-height: 20px;
  margin-right: 15px;
}
.news_list li a .cat {
  margin-right: 40px;
  background: #5a7ba8;
  color: #fff;
  display: block;
  text-align: center;
  padding: 0 5px;
  line-height: 19px;
  height: 20px;
  min-width: 107px;
  box-sizing: border-box;
}
.news_list li a .news_tit {
  text-align: left;
  width: calc(100% - 320px);
  letter-spacing: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news_list li:first-child a {
  border-top: 1px solid #a7c3de;
}

#news_feed {
  padding: 115px 0 80px;
}
#news_feed .cate_box {
  margin-bottom: 80px;
  padding-top: 14px;
}
#news_feed .cate_box .cate_list {
  max-width: calc(100% - 250px);
  gap: 40px;
}
#news_feed .cate_box .cate_list li a {
  line-height: 2;
  padding-bottom: 3px;
  position: relative;
}
#news_feed .cate_box .cate_list li a:after {
  z-index: 99;
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  bottom: 0;
  left: 0;
  position: absolute;
  background: #1f4da7;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
#news_feed .cate_box .cate_list li a:hover:after {
  transform: scale(1, 1);
}
#news_feed .cate_box .archive_box {
  width: 200px;
}
#news_feed .cate_box .archive_box:before {
  display: block;
  content: "ARCHIVE";
  top: -1.7em;
  left: 0;
  margin: auto;
  position: absolute;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  color: #1f4da7;
}
#news_feed .cate_box .archive_box .sele {
  color: #1f4da7;
  background-color: #fff;
  position: absolute;
  top: 0px;
  right: 0;
  cursor: pointer;
  font-weight: bold;
  width: 200px;
  height: 54px;
  background: transparent;
  border: 2px solid rgba(31, 77, 157, 0.7);
  line-height: 51px;
  text-align: left;
  padding: 0 30px;
}
#news_feed .cate_box .archive_box .sele::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0px;
  right: 24px;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 3px solid #5a7ba8;
  border-right: 3px solid #5a7ba8;
  transform: rotate(135deg);
}
#news_feed .cate_box .archive_box .dropdown_list {
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: all 0.7s;
  width: 200px;
  position: absolute;
  top: 54px;
  right: 0;
  border-left: 2px solid rgb(31, 77, 157);
  border-right: 2px solid rgb(31, 77, 157);
  box-sizing: border-box;
}
#news_feed .cate_box .archive_box .dropdown_list li {
  border-bottom: 2px solid rgb(31, 77, 157);
  background-color: #fff;
  transition: all 0.4s linear;
  position: relative;
  color: #191919;
}
#news_feed .cate_box .archive_box .dropdown_list li a {
  transition: all 0.4s linear;
  line-height: 52px;
  display: inline-block;
  color: #191919;
  text-decoration: none;
  position: relative;
  padding-left: 30px;
}
#news_feed .cate_box .archive_box .dropdown_list li:hover {
  color: #fff;
  background-color: #1f4da7;
  cursor: pointer;
}
#news_feed .cate_box .archive_box .dropdown_list li:hover a {
  color: #fff;
}
#news_feed .cate_box .archive_box:hover .sele {
  border: 2px solid rgb(31, 77, 157);
}
#news_feed .cate_box .archive_box:hover .dropdown_list {
  visibility: visible; /*ホバーしたら表示*/
  opacity: 1;
}
#news_feed .news_list li a {
  background-color: #fff;
}
#news_feed .news_list li a:hover {
  background-color: #eff6fc;
}

.term-pr #news_feed .cate_box .pr a,
.term-sdgs #news_feed .cate_box .sdgs a,
.term-other #news_feed .cate_box .ohter a,
.term-news #news_feed .cate_box .news a,
.post-type-archive #news_feed .cate_box .all a {
  color: #1f4da7;
}
.term-pr #news_feed .cate_box .pr a:after,
.term-sdgs #news_feed .cate_box .sdgs a:after,
.term-other #news_feed .cate_box .ohter a:after,
.term-news #news_feed .cate_box .news a:after,
.post-type-archive #news_feed .cate_box .all a:after {
  transform: scale(1, 1);
}

@media screen and (max-width: 1200px) {
  /*-----------*/
  #main_img .txt_img .txt_w {
    padding-left: 5%;
  }
  #main .scroll_box {
    right: 15px;
  }
  /*
  .title:not(.none) {
    height: 400px;
    &.txt_navy {
      height: 300px;
    }
  }*/
  #business01 .box1200 .txt_box {
    width: 495px;
    padding-left: 30px;
  }
  #business01 .box1200 .img {
    max-width: calc(100% - 570px);
  }
} /*--max-width: 1200px--*/
#co01 .img01 {
  width: 800px;
  margin: 70px auto 0;
}
#co01 .img01 img {
  margin-bottom: 20px;
}

#index .news_box {
  padding: 0 0 0;
}

.single article .w800 {
  width: 800px;
  max-width: 94%;
  margin-left: auto;
  margin-right: auto;
}
.single article .tit_wrap {
  margin-bottom: 55px;
}
.single article .tit_wrap .date {
  font-family: "Roboto", sans-serif;
  color: #1f4da7;
  font-weight: bold;
  line-height: 25px;
  margin-bottom: 27px;
}
.single article .tit_wrap .cat {
  margin-right: 15px;
}
.single article .tit_wrap .cat a {
  background: #5a7ba8;
  color: #fff;
  display: block;
  text-align: center;
  padding: 0 10px;
  line-height: 23px;
  height: 25px;
  min-width: 126px;
  box-sizing: border-box;
}
.single article .post_content {
  text-align: start;
}
.single article .post_content h1 {
  font-size: 32px;
  line-height: 1.2;
  margin: 1.8em 0;
}
.single article .post_content h2 {
  font-size: 30px;
  line-height: 1.2;
  line-height: 1.2;
  margin: 1.8em 0;
}
.single article .post_content h3 {
  font-size: 24px;
  line-height: 1.4;
  margin: 1.8em 0;
}
.single article .post_content h4 {
  font-size: 20px;
  line-height: 1.4;
  margin: 1.8em 0;
}
.single article .post_content h5 {
  font-size: 18px;
  line-height: 1.6;
  margin: 1.8em 0;
}
.single article .post_content img,
.single article .post_content p {
  line-height: 1.875;
  margin-bottom: 1em;
}
.single article .post_content a {
  text-decoration: underline;
}
.single article .post_content a:hover {
  text-decoration: none;
  transition: all 0.4s linear;
}
.single article .post_content li {
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 10px;
}
.single article .post_content li:before {
  display: block;
  content: "";
  top: 5px;
  left: 5px;
  margin: auto;
  position: absolute;
  width: 6px;
  height: 6px;
  background-color: #191919;
  border-radius: 100%;
}
.single article .post_content img {
  display: block;
}
.single article .post_content img.aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.single article .post_content img.alignleft {
  text-align: left;
  float: left;
  margin: 0 30px 10px 0px;
}
.single article .post_content img.alignright {
  text-align: right;
  display: block;
  float: right;
  margin: 0 0 10px 30px;
}

.txt404 {
  margin-bottom: 50px;
  font-size: 130px;
  line-height: 1;
  letter-spacing: 2px;
  color: #1f4da7;
}
.txt404 .c01 {
  color: #50b2e2;
}
.txt404 .c02 {
  color: #5a7ba8;
}
.txt404 .txt100 {
  font-size: 80px;
}

#fixed_btn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 32px;
  z-index: 990;
}
#fixed_btn .sns_btn a {
  display: inline-block;
  margin-bottom: 10px;
  z-index: 999;
}
#fixed_btn .sns_btn a svg {
  z-index: 99;
  fill: #1f4da7;
}
#fixed_btn .sns_btn a.twitter svg {
  width: 26px;
  height: auto;
}
#fixed_btn .sns_btn a:hover svg {
  fill: #55b3e0 !important;
  transition: all 0.4s linear;
}
#fixed_btn #pagetop a {
  transition: all 0.4s linear;
  z-index: 9;
  pointer-events: all;
}
#fixed_btn #pagetop a svg text {
  fill: #1f4da7;
}
#fixed_btn #pagetop a svg path {
  stroke: #1f4da7;
}
#fixed_btn #pagetop a:hover {
  opacity: 1;
}
#fixed_btn #pagetop a:hover svg text {
  transition: all 0.4s linear;
  fill: #55b3e0 !important;
}
#fixed_btn #pagetop a:hover svg path {
  transition: all 0.4s linear;
  stroke: #55b3e0 !important;
}
/*# sourceMappingURL=pc.css.map */