.block-news-wrap dl dd a {
  transition: opacity .2s linear
}

.block-news-wrap dl dd a:hover {
  opacity: 0.7
}

#header .mod-btn-01 {
  display: none
}

.block-main-wrap {
  overflow: hidden
}

.sec-mv-wrap {
  width: 108.10811%;
  max-width: 1280px;
  min-width: 992px;
  height: 100vh;
  margin: auto;
  position: relative
}

.sec-mv-wrap .title-detail {
  color: #fff;
  font-size: 1.4rem;
  line-height: 32px;
  margin-bottom: 15px;
  opacity: 0;
  transition: opacity .2s ease-out
}

.sec-mv-wrap .mod-sec-title {
  margin-bottom: 20px
}

.sec-mv-wrap.sec-mv-top.is-anim .title-detail {
  opacity: 1
}

.sec-mv-wrap.sec-mv-top.is-anim::before {
  height: calc(100vh - 96px);
  -webkit-transform: translate3d(0px, 25px, 0px);
  transform: translate3d(0px, 25px, 0px)
}

.sec-mv-wrap.sec-mv-top.is-anim::after {
  -webkit-transform: translate3d(0px, 41px, 0px);
  transform: translate3d(0px, 41px, 0px)
}

.sec-mv-wrap.sec-mv-top {
  max-width: 1184px;
  min-height: 770px
}

.sec-mv-wrap.sec-mv-top::before {
  content: '';
  width: 50%;
  height: calc(100vh - 71px);
  background: #fff url(/common/img/bg_sd_01.png) repeat left top;
  background-size: 14px auto;
  position: absolute;
  top: 0px;
  left: 22.5px;
  z-index: 1;
  transition: height .3s ease-out, -webkit-transform .3s ease-out;
  transition: height .3s ease-out, transform .3s ease-out;
  transition: height .3s ease-out, transform .3s ease-out, -webkit-transform .3s ease-out
}

.sec-mv-wrap.sec-mv-top::after {
  content: '';
  width: 50%;
  height: calc(100vh - 96px);
  background: #fff url(/common/img/bg_sd_01.png) repeat left top;
  background-size: 14px auto;
  position: absolute;
  top: 25px;
  right: -22px;
  z-index: 1;
  transition: height .3s ease-out, -webkit-transform .3s ease-out;
  transition: height .3s ease-out, transform .3s ease-out;
  transition: height .3s ease-out, transform .3s ease-out, -webkit-transform .3s ease-out
}

.sec-mv-wrap.sec-mv-top .sec-mv-left {
  width: 50%;
  height: calc(100vh - 96px);
  z-index: 3
}

.sec-mv-wrap.sec-mv-top .sec-mv-left::before {
  content: '';
  width: 100%;
  height: 21.5px;
  background: url(/business/img/mv-mask_left.png) no-repeat center bottom;
  background-size: 100% auto;
  position: absolute;
  top: -2px;
  left: 0px;
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out;
  -webkit-transform: translate3d(0px, -21.5px, 0px);
  transform: translate3d(0px, -21.5px, 0px)
}

.sec-mv-wrap.sec-mv-top .sec-mv-right {
  width: 51.35135%;
  height: calc(100vh - 96px);
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px)
}

.sec-mv-wrap.sec-mv-top .sec-mv-right .mask-img {
  -webkit-transform-origin: top right;
  -ms-transform-origin: top right;
  transform-origin: top right;
  height: 100%;
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out
}

.sec-mv-wrap.sec-mv-top .sec-mv-right .mask-img figure {
  overflow: hidden;
  height: 100%
}

.sec-mv-wrap.sec-mv-top .sec-mv-right .mask-img figure img {
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out;
  -webkit-transform-origin: top right;
  -ms-transform-origin: top right;
  transform-origin: top right;
  max-width: initial;
  width: 100%;
  height: auto
}

.sec-mv-wrap .sec-mv-left {
  width: 50%;
  background: #00147d;
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 3
}

.sec-mv-wrap .sec-mv-left>p {
  font-size: 1.4rem;
  line-height: 32px
}

.sec-mv-wrap .sec-mv-right {
  width: 50%;
  position: absolute;
  top: 0;
  right: 0px;
  z-index: 2
}

.show-from-bot {
  margin-top: 500px;
  opacity: 0;
  transition: margin 1s ease-out .2s, opacity 1s ease-out .2s
}

.show-from-left {
  margin-left: -500px;
  opacity: 0;
  transition: margin 1.5s ease-out .3s, opacity 1.5s ease-out .3s
}

.show-from-right {
  margin-right: -500px;
  opacity: 0;
  transition: margin 1.7s ease-out .4s, opacity 1.7s ease-out .4s
}

.show-from-bot2 {
  margin-top: 1000px;
  opacity: 0;
  transition: margin 1s ease-out .5s, opacity 1s ease-out .5s
}

.sec-index-02 .mod-btn-01, .sec-index-03 .mod-btn-01, .sec-index-04 .mod-btn-01, .sec-index-05 .mod-btn-01 {
  opacity: 0;
  transition: opacity .9s ease-out 1s
}

.sec-index-02.is-anim .mod-btn-01, .sec-index-03.is-anim .mod-btn-01, .sec-index-04.is-anim .mod-btn-01, .sec-index-05.is-anim .mod-btn-01 {
  opacity: 1
}

.is-anim .show-from-left, .is-anim .show-from-bot, .is-anim .show-from-right, .is-anim .show-from-bot2 {
  margin: 0px;
  opacity: 1
}

main {
  background: url(/img/bg_index.png) no-repeat center 2285px;
  background-size: 100% auto
}

.sec-con-w1120 {
  position: relative
}

.title-wrap {
  margin: auto;
  text-align: center;
  position: relative;
  z-index: 2
}

.txt-vertical-wrap:after {
  content: "";
  display: block;
  clear: both
}

.txt-vertical-wrap h2, .txt-vertical-wrap .txt {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-weight: bold;
  float: right;
  text-align: left
}

.txt-vertical-wrap h2 {
  font-size: 2.4rem;
  line-height: 32px;
  letter-spacing: 0;
  margin-left: 25px
}

.txt-vertical-wrap .txt {
  font-size: 1.4rem;
  line-height: 32px
}

.ovh {
  height: 100%
}

section[class*="sec-con-w"] .mod-prlx-img {
  position: absolute
}

.mod-sec-title {
  margin: auto;
  padding: 4px 64px;
  padding: 0 56px 0 64px;
  font-size: 0
}

.mod-sec-title p {
  display: inline-block;
  font-size: 7.6rem;
  line-height: 160px
}

.sec-index-02 .mod-sec-title, .sec-index-02 .mod-sec-title, .sec-index-04 .mod-sec-title, .sec-index-05 .mod-sec-title {
  padding: 0 60px 0 64px
}

.bg-trans::after {
  background: #00147d
}

.mod-bg {
  transition: width 0.5s cubic-bezier(0.86, 0.12, 0.15, 0.99) 0.3s
}

.is-anim .mod-bg {
  width: 85%
}

.mod-prlx-img.is-anim .mod-bg {
  width: 100%
}

.is-anim .mod-shadow::after {
  opacity: 0
}

.mod-shadow::after {
  opacity: 0;
  transition: opacity .8s ease-out .5s, -webkit-transform .8s ease-out .5s;
  transition: opacity .8s ease-out .5s, transform .8s ease-out .5s;
  transition: opacity .8s ease-out .5s, transform .8s ease-out .5s, -webkit-transform .8s ease-out .5s
}

.mod-shadow.pos-left-top::after {
  -webkit-transform: translate(24px, 24px);
  -ms-transform: translate(24px, 24px);
  transform: translate(24px, 24px)
}

.mod-shadow.pos-left-bot::after {
  -webkit-transform: translate(24px, -24px);
  -ms-transform: translate(24px, -24px);
  transform: translate(24px, -24px)
}

.mod-shadow.pos-right-top::after {
  -webkit-transform: translate(-24px, 24px);
  -ms-transform: translate(-24px, 24px);
  transform: translate(-24px, 24px)
}

.mod-shadow.pos-right-bot::after {
  -webkit-transform: translate(-24px, -24px);
  -ms-transform: translate(-24px, -24px);
  transform: translate(-24px, -24px)
}

.mod-shadow.is-anim::after {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0)
}

.mod-slide-txt {
  -webkit-transform: translate3d(0, 100px, 0);
  transform: translate3d(0, 100px, 0)
}

.sec-index-01 {
  margin-bottom: 150px
}

.sec-index-01 #mv_arrow {
  width: 54px;
  height: 60.5px;
  margin: auto;
  background: url(/common/img/mv_arrow.png) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: calc(100vh - 200px);
  left: 0px;
  right: 0px;
  z-index: 4;
  opacity: 0;
  transition: opacity .3s ease-out;
  -webkit-animation: scroll 3s ease infinite;
  animation: scroll 3s ease infinite;
  cursor: pointer
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  10% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }
  20% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  30% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }
  40% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  10% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }
  20% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  30% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }
  40% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

.sec-index-01 .sec-mv-left {
  width: 50%;
  position: relative;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

.sec-index-01 .sec-mv-left .first-txt {
  height: 76px;
  position: absolute;
  right: 100px;
  top: 0;
  bottom: 0;
  margin: auto
}

.sec-index-01 .sec-mv-left .first-txt p {
  margin-bottom: 0px;
  font-weight: bold;
  font-size: 7.6rem;
  line-height: 76px
}

.sec-index-01 .sec-mv-left .first-txt p span {
  display: inline-block;
  opacity: 0
}

.sec-index-01 .sec-mv-left .title-wrap {
  margin: 0 0 0 128px
}

.sec-index-01 .sec-mv-left .title-wrap .txt-read {
  font-weight: bold
}

.sec-index-01 .txt-white {
  text-align: left;
  margin-bottom: 35px;
  font-size: 1.6rem;
  line-height: 40px
}

.sec-index-01 .txt-white span {
  display: block;
  opacity: 0
}

.sec-index-01 .mod-btn-01 {
  width: 354px;
  opacity: 0
}

.sec-index-01 .mod-btn-01 a {
  font-size: 1.6rem;
  line-height: 57px;
  letter-spacing: 0
}

.sec-index-01 .sec-mv-right {
  width: 50%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fafafc
}

.sec-index-01 .sec-mv-right h1 {
  height: 76px;
  position: absolute;
  left: 100px;
  top: 0;
  bottom: 0;
  margin: auto
}

.sec-index-01 .sec-mv-right h1 .ttl-en {
  padding-left: 10px
}

.sec-index-01 .sec-mv-right h1 .ttl-en span {
  margin-left: 5px;
  display: inline-block;
  opacity: 0
}

.sec-index-01 .sec-mv-right h1 .ttl-en span:first-child {
  margin-left: 0px
}

.sec-index-01 .sec-mv-right h1 .ttl-en span img {
  width: auto;
  height: 76px
}

.sec-index-01 .sec-mv-right h2 {
  width: 350px;
  height: 76px;
  position: absolute;
  left: 100px;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 0
}

.sec-index-01 .sec-mv-right h2 .txt-static {
  font-weight: bold;
  font-size: 7.6rem;
  line-height: 76px;
  margin-bottom: 20px
}

.sec-index-01 .sec-mv-right h2 .txt-static span {
  display: inline-block
}

.sec-index-02 {
  min-height: 1192px
}

.sec-index-02 .title-wrap {
  margin: 0 auto 68px
}

.sec-index-02 .txt-vertical-wrap {
  width: 300px;
  margin: 0 48px 50px auto
}

.sec-index-02 .mod-btn-01 {
  margin: 0 94px 0 auto
}

.sec-index-02 .prlx-img-01 {
  width: 608px;
  height: 408px;
  top: 110px;
  left: 95px
}

.sec-index-02 .prlx-img-02 {
  width: 352px;
  height: 248px;
  right: 160px;
  top: 624px
}

.sec-index-02 .prlx-img-03 {
  width: 224px;
  height: 288px;
  left: 195px;
  top: 678px
}

.sec-index-02 .prlx-img-04 {
  width: 160px;
  height: 160px;
  right: 450px;
  top: 885px
}

.sec-index-03 {
  min-height: 1312px
}

.sec-index-03 .title-wrap {
  margin: 0 auto 68px
}

.sec-index-03 .txt-vertical-wrap {
  width: 300px;
  margin: 0 0 35px 54px
}

.sec-index-03 .mod-btn-01 {
  margin-left: 96px
}

.sec-index-03 .prlx-img-01 {
  width: 704px;
  height: 448px;
  right: 0;
  top: 104px
}

.sec-index-03 .prlx-img-02 {
  width: 256px;
  height: 352px;
  left: 222px;
  top: 632px
}

.sec-index-03 .prlx-img-03 {
  width: 448px;
  height: 304px;
  right: 50px;
  top: 708px
}

.sec-index-03 .prlx-img-04 {
  width: 160px;
  height: 160px;
  left: 384px;
  top: 1004px
}

.sec-index-04 {
  min-height: 1026px
}

.sec-index-04 .title-wrap {
  margin: 0 auto 68px
}

.sec-index-04 .txt-vertical-wrap {
  width: 350px;
  margin: 0 62px 50px auto
}

.sec-index-04 .mod-btn-01 {
  margin: 0 140px 0 auto
}

.sec-index-04 .mod-shadow::after {
  border-radius: 50%
}

.sec-index-04 .mod-bg {
  height: 85%;
  border-radius: 50%;
  background-size: initial;
  background-position: top center;
  transition: width 0.5s cubic-bezier(0.86, 0.12, 0.15, 0.99) 0.3s, height 0.5s cubic-bezier(0.86, 0.12, 0.15, 0.99) 0.3s
}

.sec-index-04 .mod-prlx-img.is-anim .mod-bg {
  height: 100%
}

.sec-index-04 .prlx-img-01 {
  width: 280px;
  height: 280px;
  left: 160px;
  top: 98px
}

.sec-index-04 .prlx-img-01 .mod-bg {
  background-size: 280px auto
}

.sec-index-04 .prlx-img-02 {
  width: 280px;
  height: 280px;
  left: 450px;
  top: 300px
}

.sec-index-04 .prlx-img-02 .mod-bg {
  background-size: 280px auto
}

.sec-index-04 .prlx-img-03 {
  width: 280px;
  height: 280px;
  left: 50px;
  top: 444px
}

.sec-index-04 .prlx-img-03 .mod-bg {
  background-size: 280px auto
}

.sec-index-04 .prlx-img-04 {
  width: 280px;
  height: 280px;
  left: 325px;
  top: 588px
}

.sec-index-04 .prlx-img-04 .mod-bg {
  background-size: 280px auto
}

.sec-index-05 {
  min-height: 1380px;

}

.sec-index-05 .title-wrap {
  margin: 0 auto 68px
}

.sec-index-05 .txt-vertical-wrap {
  width: 300px;
  margin: 0 0 75px 54px
}

.sec-index-05 .mod-btn-01 {
  margin-left: 160px
}

.sec-index-05 .prlx-img-01 {
  width: 350px;
  height: 180px;
  right: 180px;
  top: 154px
}

.sec-index-05 .prlx-img-02 {
  width: 200px;
  height: 292px;
  right: 32px;
  top: 671px
}

.sec-index-05 .prlx-img-03 {
  width: 288px;
  height: 254px;
  left: 476px;
  top: 520px
}

.sec-index-05 .prlx-img-04 {
  width: 160px;
  height: 160px;
  left: 384px;
  top: 504px
}

.sec-index-06 {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 800px;
  background: #fafafc url(/img/bg_logo.png) no-repeat center center;
  background-size: auto 500px
}

.sec-index-06 .title-wrap {
  margin: 0
}

.ie11 .sec-index-06 .title-wrap {
  padding-top: 84px
}

.sec-index-06 .mod-sec-title {
  width: 690px;
  font-size: 0;
  padding: 36px 0;
  margin: 0 auto 45px;
  text-align: center
}

.sec-index-06 .mod-sec-title::before {
  border: 8px solid #00147d
}

.sec-index-06 .mod-sec-title p {
  letter-spacing: 0;
  display: inline-block;
  font-size: 7.6rem;
  line-height: 96px
}

.sec-index-06 h2 {
  font-size: 2.4rem;
  line-height: 32px;
  font-weight: bold;
  margin-bottom: 20px
}

.sec-index-06 .txt {
  font-size: 1.4rem;
  line-height: 32px;
  margin-bottom: 55px;
  font-weight: bold
}

.sec-index-06 .mod-btn-01 {
  margin: auto
}

.sec-index-07 .mod-2clm-wrap {
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

.sec-index-07 .mod-2clm-left, .sec-index-07 .mod-2clm-right {
  padding: 48px 0;
  -webkit-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%
}

.sec-index-07 .mod-2clm-left h1, .sec-index-07 .mod-2clm-left h2, .sec-index-07 .mod-2clm-right h1, .sec-index-07 .mod-2clm-right h2 {
  text-align: center;
  font-weight: bold
}

.sec-index-07 .mod-2clm-left h1, .sec-index-07 .mod-2clm-right h1 {
  font-size: 1.6rem;
  line-height: 16px
}

.sec-index-07 .mod-2clm-left h2, .sec-index-07 .mod-2clm-right h2 {
  font-size: 4.8rem;
  line-height: 64px
}

.sec-index-07 .mod-2clm-left {
  position: relative;
  background: #00147d
}

.sec-index-07 .mod-2clm-left::before {
  content: '';
  width: 46px;
  height: 100%;
  background: url(/img/ob_sec07_01.png) no-repeat top left;
  background-size: auto 100%;
  position: absolute;
  right: -46px;
  top: 0
}

.sec-index-07 .mod-2clm-left h1 {
  margin-bottom: 32px
}

.sec-index-07 .mod-2clm-left h2 {
  margin-bottom: 40px
}

.sec-index-07 .mod-2clm-right h1 {
  margin-bottom: 40px
}

.sec-index-07 .mod-btn-01 {
  margin: auto
}


.block-news-wrap {
  width: 512px;
  margin: auto
}

.block-news-wrap dl {
  padding: 13px 0 10px;
  letter-spacing: 0;
  border-top: 1px solid #ebedf5
}

.block-news-wrap dl:first-child {
  border-top: 1px solid #d6d9ea
}

.block-news-wrap dl:last-child {
  margin-bottom: 30px
}

.block-news-wrap dl dt {
  font-size: 1.2rem;
  line-height: 12px;
  font-weight: bold
}

.block-news-wrap dl dd {
  font-size: 1.4rem;
  line-height: 28px
}

.block-news-wrap dl dd a {
  color: #00147d;
  text-decoration: underline
}

