@charset "UTF-8";
/*============================
Common - Fonts
============================*/
@font-face {
  font-family: "nsjp";
  font-style: normal;
  font-weight: 300;
  src: url(/assets/fonts/nsjp-demilight.woff) format("woff");
}
@font-face {
  font-family: "nsjp";
  font-style: normal;
  font-weight: 400;
  src: url(/assets/fonts/nsjp-regular.woff) format("woff");
}
@font-face {
  font-family: "nsjp";
  font-style: normal;
  font-weight: 700;
  src: url(/assets/fonts/nsjp-bold.woff) format("woff");
}
/*============================
Common - Keyframe
============================*/
@-webkit-keyframes link_arrow_hover {
  0% {
    right: 0.3em;
    opacity: 1;
  }
  40% {
    right: -0.2em;
    opacity: 0.1;
  }
  41% {
    right: 1.2em;
    opacity: 0.5;
  }
  100% {
    right: 0.3em;
    opacity: 1;
  }
}
@keyframes link_arrow_hover {
  0% {
    right: 0.3em;
    opacity: 1;
  }
  40% {
    right: -0.2em;
    opacity: 0.1;
  }
  41% {
    right: 1.2em;
    opacity: 0.5;
  }
  100% {
    right: 0.3em;
    opacity: 1;
  }
}
@keyframes anime1 {
  0% {
    top: -90px;
  }
  100% {
    top: -15px;
  }
}
@keyframes anime2 {
  0% {
    transform: scale(1.5);
    opacity: 0;
  }
  50% {
    transform: scale(1.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes wave1 {
  0% {
    margin-left: 0%;
  }
  50% {
    margin-left: -6%;
  }
  100% {
    margin-left: 0%;
  }
}
@keyframes wave2 {
  0% {
    margin-left: -6%;
  }
  50% {
    margin-left: 0%;
  }
  100% {
    margin-left: -6%;
  }
}
/*============================
Common - Base
============================*/
html {
  background: #2356a7;
}

body {
  position: relative;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  font-family: 'nsjp', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 920px;
  position: relative;
  overflow-x: auto;
  -webkit-text-size-adjust: 100%;
}
body * {
  padding: 0;
  margin: 0;
}

div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption {
  margin: 0;
  padding: 0;
}

input, textarea {
  margin: 0;
  font-size: 100%;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

fieldset {
  border: 0;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: 400;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 700;
  letter-spacing: 0.04em;
}

q:after, q:before {
  content: "";
}

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

input {
  outline: none;
  text-decoration: none;
  border-radius: 0;
  font-family: 'nsjp', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  -webkit-font-smoothing: antialiased;
}
input[type="button"], input[type="submit"] {
  -webkit-appearance: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

textarea {
  border-radius: 0;
  font-family: 'nsjp', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  -webkit-font-smoothing: antialiased;
}

abbr, acronym {
  border: 0;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

main {
  display: block;
  background: #fff;
  transition: opacity .2s, filter .2s;
}
.mainopen main, .subopen main, .mainopen main, .subopen main {
  opacity: 0.25;
  -webkit-filter: blur(8px);
  -moz-filter: blur(8px);
  -ms-filter: blur(8px);
  filter: blur(8px);
}

@media screen and (max-width: 768px) {
  html {
    min-width: 100%;
    overflow-x: hidden;
  }

  body {
    min-width: 100%;
    overflow-x: hidden;
  }

  html.subopen {
    position: absolute;
    overflow: hidden;
  }
}
/*============================
Common - Clearfix
============================*/
.clearfix, #contents, .section {
  display: block;
  min-height: 1%;
}
* html .clearfix, * html #contents, * html .section {
  height: 1%;
  /*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}
.clearfix:after, #contents:after, .section:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.clear {
  clear: both;
}

/*============================
Common - Show
============================*/
.forsp {
  display: none;
}

.forprint {
  display: none;
}

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

  .forsp {
    display: block;
  }

  br.forsp, img.forsp, span.forsp {
    display: inline;
  }

  table.forsp {
    display: table;
  }
}
/*============================
Common - Arrowhover
============================*/
.arrow-hover {
  position: relative;
}
.arrow-hover:after {
  position: absolute;
  right: 0.3em;
}
.arrow-hover:hover:after {
  -webkit-animation-name: link_arrow_hover;
  -webkit-animation-duration: 0.4s;
  -webkit-animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
  animation-name: link_arrow_hover;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
}

/*============================
Common - Header
============================*/
.header {
  background: rgba(35, 86, 167, 0.9);
  width: 100%;
  position: fixed;
  z-index: 11;
  left: 0;
  top: 0;
}
.subopen .header {
  height: 100%;
}
.header .forsp {
  display: none;
}
.header .headLine {
  margin-bottom: 0;
}
.header__inner {
  position: relative;
  max-width: 1245px;
  margin: 0 auto;
  position: relative;
}
.header__logo {
  width: 130px;
  position: absolute;
  top: 25px;
  left: 0;
}
.header__logo img {
  max-width: 100%;
}
.header__items {
  display: flex;
  align-items: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 25px;
  padding-bottom: 30px;
}
.header__nav--items {
  font-size: 0.9em;
  vertical-align: top;
}
.header__nav--items li {
  float: left;
  cursor: pointer;
  transition: all 0.2s;
}
.header__nav--items li:last-child {
  margin-right: 0;
}
.header__nav--items li.header__nav--pull {
  position: relative;
}
.header__nav--items li.header__nav--pull:after {
  content: "";
  border: #fff 1px solid;
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  vertical-align: top;
  margin: -0.2em 0 0px 1.4em;
  border-left: none;
  border-top: none;
  transform: rotate(45deg);
  position: absolute;
  right: 50%;
  bottom: -10px;
}
.header__nav--items li > h3 {
  font-size: 1em;
  font-weight: 400;
  letter-spacing: normal;
}
.header__nav--items li a {
  color: #fff;
  display: block;
}
.header__nav--items li a:hover {
  background: #4d71ac;
  opacity: 0.6;
}
#pointsofview .header__nav--items li:nth-child(2) a, #actionsforyou .header__nav--items li:nth-child(2) a, #technology .header__nav--items li:nth-child(2) a, #experts .header__nav--items li:nth-child(2) a, #pointsofview--history .header__nav--items li:nth-child(2) a {
  background: #4d71ac;
}
#service .header__nav--items li:nth-child(3) a {
  background: #4d71ac;
}
#solution .header__nav--items li:nth-child(4) a {
  background: #4d71ac;
}
#partner .header__nav--items li:nth-child(5) a {
  background: #4d71ac;
}
#support .header__nav--items li:nth-child(6) a {
  background: #4d71ac;
}
#company .header__nav--items li:nth-child(7) a {
  background: #4d71ac;
}
.subopen .header__nav--items li.current a {
  background: #4d71ac;
}
.header__nav--items li.current a:after {
  transform: rotate(225deg);
  margin-top: 0.6em;
}
.header__nav--items li.current:hover a:after {
  margin-top: 0.45em;
}
.header__search--inner {
  background: #fff;
}
.header__snav {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: center;
}
.header__snav li {
  display: inline-block;
}
.header__infoarea li > a.contact > div {
  padding-right: 15px;
  padding-left: 15px;
}
.header__infoarea li > a.contact:before {
  background-repeat: no-repeat;
  background-position: 0 0;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_2%22%20data-name%3D%222%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024.89%2020%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M15.85%2016.52C14%2018.33%209.78%2019.65%208%2017.83a2.52%202.52%200%200%201-.57-.83H3v-2h4.11a7.53%207.53%200%200%201%20.39-2H3v-2h5.43a6.52%206.52%200%200%201%20.85-1.1l.9-.9H3V7h9.18l2-2H3V3h12v1.23l3-3V1a1%201%200%200%200-1-1H1a1%201%200%200%200-1%201v18a1%201%200%200%200%201%201h16.2a.8.8%200%200%200%20.8-.8v-4.83z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M24.15%201.74a2.5%202.5%200%200%200-3.53%200l-4%204%20.44.44%204.1-4.09.71.7-4.1%204.1%202.39%202.38%204-4a2.5%202.5%200%200%200-.01-3.53zM17%207.64l-1%201-.71-.71%201-1-.44-.44-5.16%205.15c-1%201-1.68%203.27-.71%204.24s3.27.27%204.24-.7L19.41%2010z%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  width: 25px;
  height: 20px;
}
.header__infoarea li > a.faq > div {
  padding-right: 20px;
  padding-left: 20px;
}
.header__infoarea li > a.faq:before {
  background-repeat: no-repeat;
  background-position: 0 0;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235px%22%20height%3D%2222px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M25.500%2C3.000%20C30.746%2C3.000%2035.000%2C6.134%2035.000%2C10.000%20C35.000%2C13.866%2030.746%2C17.000%2025.500%2C17.000%20C20.253%2C17.000%2016.000%2C13.866%2016.000%2C10.000%20C16.000%2C6.134%2020.253%2C3.000%2025.500%2C3.000%20Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M14.000%2C10.000%20C14.000%2C11.002%2014.264%2C11.958%2014.727%2C12.842%20C13.227%2C13.572%2011.432%2C14.000%209.500%2C14.000%20C4.253%2C14.000%20-0.000%2C10.866%20-0.000%2C7.000%20C-0.000%2C3.134%204.253%2C-0.000%209.500%2C-0.000%20C13.205%2C-0.000%2016.407%2C1.567%2017.973%2C3.847%20C15.546%2C5.314%2014.000%2C7.525%2014.000%2C10.000%20Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M9.575%2C19.682%20C9.575%2C19.682%201.961%2C13.477%207.380%2C9.624%20C9.521%2C11.982%2010.672%2C11.390%209.676%2C12.403%20C7.467%2C14.650%209.575%2C19.682%209.575%2C19.682%20Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M22.000%2C22.000%20C22.000%2C22.000%2031.079%2C18.251%2027.000%2C13.000%20C24.269%2C14.641%2023.338%2C13.743%2024.000%2C15.000%20C25.468%2C17.788%2022.000%2C22.000%2022.000%2C22.000%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  width: 36px;
  height: 22px;
}
.header__language {
  margin-top: -6px;
  cursor: pointer;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
}
.header__language:after {
  content: "";
  border: #fff 1px solid;
  width: 0.4em;
  height: 0.4em;
  display: inline-block;
  vertical-align: top;
  margin: 0.45em 0 0 0.6em;
  transform: rotate(45deg);
  border-left: none;
  border-top: none;
  transition: all 0.2s;
}
.header__language:hover > ul {
  display: block;
}
.header__language:hover:after {
  margin-top: 0.6em;
}
.header__language > span, .header__language a {
  color: #fff;
}
.header__language > ul {
  display: none;
  position: absolute;
  top: 1.5em;
}
.header__language > ul a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1280px) and (min-width: 1061px) {
  .header__nav--items li:nth-child(6) {
    clear: both;
  }
  .header__nav--items li:nth-child(6) a {
    border-left: 2px solid #4d71ac;
  }
  .header__nav--items li:nth-child(6), .header__nav--items li:nth-child(7) {
    margin-top: 15px;
  }
}
@media screen and (max-width: 1060px) and (min-width: 900px) {
  .header__nav--items li:nth-child(5) {
    clear: both;
  }
  .header__nav--items li:nth-child(5) a {
    border-left: 2px solid #4d71ac;
  }
  .header__nav--items li:nth-child(5), .header__nav--items li:nth-child(6), .header__nav--items li:nth-child(7) {
    margin-top: 15px;
  }
}
@media screen and (max-width: 900px) and (min-width: 769px) {
  .header__nav--items li {
    margin-top: 15px;
  }
  .header__nav--items li:nth-child(3), .header__nav--items li:nth-child(4), .header__nav--items li:nth-child(6) {
    clear: both;
  }
  .header__nav--items li:nth-child(3) a, .header__nav--items li:nth-child(4) a, .header__nav--items li:nth-child(6) a {
    border-left: 2px solid #4d71ac;
  }
  .header__nav--items li:first-child, .header__nav--items li:nth-child(2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .header__gnav {
    margin-left: 150px;
    margin-right: 372px;
  }
  .header__items {
    padding-top: 30px;
  }
  .header__search {
    width: 147px;
    position: absolute;
    top: 30px;
    right: 225px;
  }
  .header__snav {
    width: 213px;
  }
  .header__snav li {
    display: block;
    text-align: center;
  }
  .header__infoarea {
    padding-top: 17px;
    display: flex;
    align-items: center;
  }
  .header__infoarea li {
    padding-top: 5px;
    transition: all 0.2s;
  }
  .header__infoarea li + li {
    margin-left: -2px;
  }
  .header__infoarea li:hover {
    background: #4d71ac;
    opacity: 1;
  }
  .header__infoarea li:hover a {
    opacity: 1;
  }
  .header__infoarea li > a {
    color: #fff;
    font-size: 12px;
    position: relative;
    display: block;
    padding: 20px 0 3px;
  }
  .header__infoarea li > a > div {
    position: relative;
    padding: 5px 10px;
  }
  .header__infoarea li > a > div:first-child:before {
    position: absolute;
    top: -12px;
    left: 0;
    width: 2px;
    height: 100%;
    background: #4d71ac;
    display: block;
    content: "";
  }
  .header__infoarea li > a > div:after {
    position: absolute;
    top: -12px;
    right: 0;
    width: 2px;
    height: 100%;
    background: #4d71ac;
    display: block;
    content: "";
  }
  .header__infoarea li > a:before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 50%;
    transform: translateX(-50%);
  }
  .header__nav--items ul {
    display: inline-block;
    font-size: 0;
  }
  .header__nav--items li {
    font-size: 13px;
  }
  .header__nav--items li:nth-child(2) a {
    border-left: 2px solid #4d71ac;
  }
  .header__nav--items li a {
    border-right: 2px solid #4d71ac;
    padding: 4px 10px;
    transition: all 0.2s;
  }
}
@media screen and (max-width: 768px) {
  .js-navi-open #sidePos {
    z-index: -10 !important;
  }

  .header .forsp {
    display: block;
  }
  .header .headLine {
    z-index: 105;
    height: 40px;
  }
  .header .headLine + .header__inner .header__gnav {
    height: calc(100% - 105px);
    top: 105px;
    z-index: -5;
    margin-top: -100vh;
  }
  .js-navi-open .header .headLine + .header__inner .header__gnav {
    display: block;
    margin-top: 0;
  }
  .header__inner {
    max-width: auto;
    position: relative;
  }
  .header__head {
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
    background: #2356a7;
    height: 65px;
    padding: 0 10px 0 25px;
    box-sizing: borderbox;
    z-index: 105;
  }
  .header__logo {
    float: none;
    width: 100px;
    padding: 0;
    position: static;
  }
  .header__snav {
    width: auto;
    display: flex;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
    float: none;
    position: static;
  }
  .header__snav li {
    display: block;
    text-align: center;
    border-left: 2px solid #4d71ac;
  }
  .header__snav li > a {
    color: #fff;
    font-size: 12px;
    position: relative;
    display: block;
    padding: 20px 7px 3px;
  }
  .header__snav li > a:before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 50%;
    transform: translateX(-50%);
  }
  .header__snav li > a.contact:before {
    width: 20px;
    height: 15px;
  }
  .header__snav li > a.faq {
    padding-right: 12px;
    padding-left: 12px;
  }
  .header__snav li > a.faq:before {
    width: 30px;
    height: 19px;
  }
  .header__search {
    width: 100%;
    border-top: 1px solid #6688bf;
  }
  .header__search--inner {
    margin: 15px 25px;
    background: #fff;
    padding-bottom: 1px;
  }
  .header__infoarea {
    padding-top: 0;
    border-right: 2px solid #4d71ac;
    margin-right: 10px;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
  }
  .header__infoarea li > a.contact > div {
    padding-right: 0;
    padding-left: 0;
  }
  .header__infoarea li > a.faq > div {
    padding-right: 0;
    padding-left: 0;
  }
  .header__btn {
    position: relative;
    background: url(/assets/img/bg_header_btn.png) no-repeat 50%;
    background-size: contain;
    width: 45px;
    height: 45px;
    cursor: pointer;
    padding: 15px 12px;
  }
  .header__btn > div {
    position: relative;
    width: 100%;
    height: 14px;
  }
  .header__btn > div span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #4285f4;
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .header__btn > div span:nth-of-type(1) {
    top: 0;
  }
  .js-navi-open .header__btn > div span:nth-of-type(1) {
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg);
  }
  .header__btn > div span:nth-of-type(2) {
    top: 6px;
  }
  .js-navi-open .header__btn > div span:nth-of-type(2) {
    opacity: 0;
  }
  .header__btn > div span:nth-of-type(3) {
    bottom: 0;
  }
  .js-navi-open .header__btn > div span:nth-of-type(3) {
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
  }
  .header__gnav {
    box-sizing: borderbox;
    width: 100%;
    height: calc(100% - 65px);
    position: fixed;
    /* z-index: 101; */
    top: 65px;
    width: 100%;
    padding: 0;
    margin: 0;
    background: #2356a7;
    z-index: -5;
    margin-top: -100vh;
  }
  .js-navi-open .header__gnav {
    display: block;
    margin-top: 0;
  }
  .header__gnav--inner {
    overflow: auto;
    height: auto;
    background: #2356a7;
  }
  .js-navi-open .header__gnav--inner.complete {
    overflow: auto;
    height: 100%;
  }
  .header__items {
    width: 100%;
    float: none;
    flex-direction: column-reverse;
    padding-top: 0;
  }
  .header__items li.header__nav--pull.is-active {
    background: #4d71ac;
  }
  .header__items li.header__nav--pull:after {
    display: none;
  }
  .header__items li.header__nav--pull.current .header__pullmenu--head a:after {
    transform: rotate(0deg);
    border-right: none;
    border: none;
    width: 10px;
    height: 1px;
    background: #fff;
    right: 22px;
    margin: 0;
    top: 50%;
  }
  .header__nav {
    width: 100%;
  }
  .header__nav--items {
    font-size: 0.9em;
    vertical-align: top;
    border-top: 1px solid #6787c0;
  }
  .header__nav--items li {
    line-height: 1.5;
    position: relative;
    width: 100%;
    border-bottom: 1px solid #6787c0;
    float: none;
  }
  .header__nav--items li a {
    text-align: left;
    width: 100%;
    display: block;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1.6;
    padding: 15px 25px;
    border: none !important;
  }
  .header__nav--items li a:after {
    position: absolute;
    content: "";
    border: #fff 1px solid;
    width: 0.5em;
    height: 0.5em;
    display: inline-block;
    vertical-align: top;
    margin: 0.6em 0 0 0.6em;
    transform: rotate(-45deg);
    border-left: none;
    border-top: none;
    transition: all 0.2s;
    right: 25px;
  }
  .header__nav--items li a:hover:after {
    margin-right: -0.5em;
  }
  #pointsofview .header__nav--items li .header__pullmenu--body a, #actionsforyou .header__nav--items li .header__pullmenu--body a, #technology .header__nav--items li .header__pullmenu--body a, #experts .header__nav--items li .header__pullmenu--body a, #pointsofview--history .header__nav--items li .header__pullmenu--body a, #service .header__nav--items li .header__pullmenu--body a, #solution .header__nav--items li .header__pullmenu--body a, #partner .header__nav--items li .header__pullmenu--body a, #support .header__nav--items li .header__pullmenu--body a, #company .header__nav--items li .header__pullmenu--body a {
    background: none;
  }
  .header__pull {
    display: none;
  }
}
/*============================
Common - Header Menu
============================*/
.header__tabs {
  width: 100%;
  display: table;
}
.header__tabs > a {
  background: rgba(35, 86, 167, 0.8);
  padding: 10px 30px;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
  transition: all 0.2s;
  border-left: rgba(38, 83, 151, 0.8) 1px solid;
  border-right: rgba(38, 83, 151, 0.8) 1px solid;
}
.header__tabs > a:first-child {
  border-left: none;
}
.header__tabs > a:last-child {
  border-right: none;
}
.header__tabs > a:hover {
  background: rgba(255, 255, 255, 0.15);
  opacity: 1;
}
.header__tabs > a.current {
  background: rgba(255, 255, 255, 0.15);
}
.header__tabs--01 {
  width: 18.1111111111%;
}
.header__tabs--02, .header__tabs--03 {
  width: 17.2222222222%;
}
.header__tabs--05 {
  width: 9.8888888889%;
}
.header__tabs--06 {
  width: 13.4444444444%;
}
.header__pullmenu {
  margin: 0 auto;
  max-width: 900px;
}
.header__pullmenu--inner {
  position: relative;
  display: none;
}
.header__pullmenu--innersp {
  display: none;
}
.header__pullmenu--title {
  margin-bottom: 20px;
  border-bottom: rgba(255, 255, 255, 0.3) 1px solid;
  position: relative;
}
.header__pullmenu--title > h3 {
  font-size: 16px;
  font-weight: 700;
}
.header__pullmenu--title > h3 > a {
  padding: 20px 2.3em 20px 0;
  display: inline-block;
  opacity: 0.75;
  transition: all 0.2s;
}
.header__pullmenu--title > h3 > a::after {
  content: "";
  border: #fff 1px solid;
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  vertical-align: top;
  margin: 0.6em 0 0 1.4em;
  transform: rotate(-45deg);
  border-left: none;
  border-top: none;
}
.header__pullmenu--title > h3 > a:hover {
  opacity: 0.6;
}
.header__pullmenu--title a {
  color: #fff;
}
.header__pullmenu--subtitle {
  margin-bottom: 15px;
  padding-left: 10px;
  font-size: 0.929em;
  border-left: 4px #aec1dd solid;
}
.header__pullmenu--subtitle a, .header__pullmenu--subtitle span {
  color: #aec1dd;
  display: block;
  position: relative;
}
.header__pullmenu--subtitle a {
  transition: all 0.2s;
}
.header__pullmenu--subtitle a::after {
  content: "";
  border: #fff 1px solid;
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  vertical-align: top;
  margin: -0.2em 0 0px 1.4em;
  border-left: none;
  border-top: none;
  transform: rotate(-45deg);
  position: absolute;
  right: 0.3em;
  top: 50%;
}
.header__pullmenu--subtitle a:hover {
  opacity: 0.6;
}
.header__pullmenu--subtitle a:hover::after {
  -webkit-animation-name: link_arrow_hover;
  -webkit-animation-duration: 0.4s;
  -webkit-animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
  animation-name: link_arrow_hover;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
}
.header__pullmenu--close {
  margin-top: -14px;
  width: 28px;
  height: 28px;
  position: absolute;
  right: 10px;
  top: 50%;
  z-index: 1;
}
.header__pullmenu--close > a {
  font-size: 28px;
  font-weight: 100;
  line-height: 1;
  opacity: 0.5;
  transition: all 0.2s;
}
.header__pullmenu--close > a:hover {
  opacity: 1;
}
.header__pullmenu--list01 {
  background: rgba(255, 255, 255, 0.15);
  padding: 30px 40px 50px;
}
.header__pullmenu--list01 > ul {
  display: flex;
  flex-wrap: wrap;
}
.header__pullmenu--list01 li {
  margin-right: 4%;
  width: 22%;
  min-height: 60px;
  font-size: 12px;
  border-bottom: 1px #bac8df solid;
}
.header__pullmenu--list01 li:nth-child(4n) {
  margin-right: 0;
}
.header__pullmenu--list01 li > a {
  padding: 5px 0;
  width: 100%;
  height: 100%;
  color: #fff;
  display: flex;
  align-items: center;
  transition: all 0.2s;
}
.header__pullmenu--list01 li > a p {
  padding-right: 1em;
  width: 100%;
  vertical-align: middle;
  position: relative;
}
.header__pullmenu--list01 li > a p::after {
  content: "";
  margin: -0.2em 0 0 1.4em;
  width: 0.5em;
  height: 0.5em;
  vertical-align: top;
  border: #fff 1px solid;
  border-left: none;
  border-top: none;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0.3em;
  transform: rotate(-45deg);
}
.header__pullmenu--list01 li > a:hover {
  opacity: 0.6;
}
.header__pullmenu--list01 li > a:hover p::after {
  -webkit-animation-name: link_arrow_hover;
  -webkit-animation-duration: 0.4s;
  -webkit-animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
  animation-name: link_arrow_hover;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
}
.header__pullmenu--list01 li > a[target="_blank"] p::after {
  background: url(/assets/img/bg_blank02.png) 0 0 no-repeat;
  background-size: cover;
  margin: -5px 0 0 0;
  width: 10px;
  height: 10px;
  border: none;
  transform: none;
}
.header__pullmenu--list01 li > a[target="_blank"]:hover p::after {
  -webkit-animation-name: none;
  -webkit-animation-duration: 0;
  -webkit-animation-timing-function: ease;
  animation-name: none;
  animation-duration: 0;
  animation-timing-function: ease;
}
.header__pullmenu--list02 {
  background: rgba(255, 255, 255, 0.15);
  padding: 40px;
}
.header__pullmenu--list02 > ul {
  display: flex;
  flex-wrap: wrap;
}
.header__pullmenu--list02 li {
  margin: 20px 4% 0 0;
  width: 22%;
}
.header__pullmenu--list02 li:first-child, .header__pullmenu--list02 li:nth-child(2), .header__pullmenu--list02 li:nth-child(3), .header__pullmenu--list02 li:nth-child(4) {
  margin: 0 4% 0 0;
}
.header__pullmenu--list02 li:nth-child(4n) {
  margin-right: 0;
}
.header__pullmenu--list02 li > a {
  padding-bottom: 1.3em;
  color: #fff;
  white-space: initial;
  display: block;
  border-bottom: 1px #fff solid;
  transition: all 0.2s;
}
.header__pullmenu--list02 li > a > p::after {
  content: "";
  border: 1px #fff solid;
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  vertical-align: top;
  margin: -0.2em 0 0px 1.4em;
  border-left: none;
  border-top: none;
  transform: rotate(-45deg);
  position: absolute;
  right: 0.3em;
  top: 50%;
}
.header__pullmenu--list02 li > a:hover {
  opacity: 0.6;
}
.header__pullmenu--list02 li > a:hover > p::after {
  animation-name: link_arrow_hover;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
}
.header__pullmenu--list02 li div {
  margin-bottom: 1.3em;
  line-height: 0;
}
.header__pullmenu--list02 li div > img {
  width: 100%;
}
.header__pullmenu--list02 li p {
  padding-right: 1em;
  line-height: 1;
  position: relative;
}

@media screen and (max-width: 1200px) {
  .header__tabs > a {
    padding: 0.936329588% 1.872659176%;
    font-size: 0.857em;
  }
  .header__pullmenu {
    width: 89%;
  }
  .header__pullmenu--list01 {
    padding: 1.872659176% 2.808988764% 2.808988764%;
  }
  .header__pullmenu--list01 li p {
    font-size: 12px;
  }
  .header__pullmenu--list02 {
    padding: 3.7453183521% 2.808988764%;
  }
  .header__pullmenu--list02 li p {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .header__pullmenu {
    display: none;
  }
  .header__pullmenu--head {
    position: relative;
    cursor: pointer;
  }
  .header__pullmenu--body {
    display: none;
    position: relative;
    background: #e4f1f9;
  }
  .header__nav--pull.is-active .header__pullmenu--body {
    display: block;
  }
  .header__pullmenu--inner {
    display: block;
  }
  .header__pullmenu--innersp {
    display: block;
  }
  .header__pullmenu--title {
    padding-right: 25px;
    padding-left: 25px;
    border-bottom: 1px solid #6588be;
  }
  .header__pullmenu--title > h3 {
    font-size: 1em;
  }
  .header__pullmenu--title > h3 > a {
    color: #2356a7;
    padding-top: 15px;
    padding-bottom: 15px;
    display: block;
    opacity: 1;
  }
  .header__pullmenu--title > h3 > a::after {
    content: "";
    border: #2356a7 1px solid;
    width: 0.5em;
    height: 0.5em;
    display: inline-block;
    vertical-align: top;
    margin: 0.6em 0 0 1.4em;
    transform: rotate(-45deg);
    border-left: none;
    border-top: none;
  }
  .header__pullmenu--body .header__pullmenu--title > h3 > a::after {
    transform: rotate(-45deg);
    right: 0;
  }
  .header__pullmenu--title > h3 > a:hover {
    background: none;
  }
  .header__pullmenu--title a {
    color: #2356a7;
  }
  .header__pullmenu--close {
    display: none;
  }
  .header__pullmenu--list02 {
    padding: 0 25px 25px 25px;
  }
  .header__pullmenu--list02 > ul {
    justify-content: space-between;
  }
  .header__pullmenu--list02 li {
    margin: 0;
    border-bottom: none;
    width: calc( 50% - 12px);
  }
  .header__pullmenu--list02 li:first-child, .header__pullmenu--list02 li:nth-child(2), .header__pullmenu--list02 li:nth-child(3), .header__pullmenu--list02 li:nth-child(4) {
    margin: 0;
  }
  .header__pullmenu--list02 li:nth-child(4n) {
    margin-right: 0;
  }
  .header__pullmenu--list02 li:nth-child(n+3) {
    margin-top: 25px;
  }
  .header__pullmenu--list02 li > a {
    font-weight: normal;
    padding: 0;
    color: #2356a7;
    border-bottom: none;
  }
  .header__pullmenu--list02 li > a::after {
    display: none;
  }
  .header__pullmenu--list02 li > a > p::after {
    content: "";
    border: 1px #2356a7 solid;
    width: 0.5em;
    height: 0.5em;
    display: inline-block;
    vertical-align: top;
    margin: -0.2em 0 0px 1.4em;
    border-left: none;
    border-top: none;
    transform: rotate(-45deg);
    position: absolute;
    right: 0.3em;
    top: 50%;
  }
  .header__pullmenu--list02 li > a:hover {
    background: none;
  }
  .header__pullmenu--list02 li div {
    margin-bottom: 10px;
  }
}
/*============================
Common - Landscape
============================*/
@media screen and (max-width: 768px) {
  .landscape header {
    padding-bottom: 0;
  }
  .landscape header .nttpc {
    max-width: 100px;
    line-height: 1;
  }
  .landscape header .ctsLeft {
    margin: 0 0 0 2%;
    padding: 10px 0;
  }
  .landscape header .ctsRight .close {
    width: 26px;
    top: 10px;
  }
  .landscape header .ctsRight .close img {
    transform: scale(0.7);
  }
  .landscape header .mainMenu ul {
    margin: 0 auto;
    max-width: 480px;
    width: 44%;
    text-align: left;
    position: relative;
    top: 48%;
    transform: translateY(-50%);
  }
  .landscape header .mainMenu li {
    margin: 0;
    width: 32%;
    height: auto;
  }
  .landscape header .mainMenu li:nth-child(n+4):after {
    margin: 0 0 0 -0.25em;
    transform: scale(0.7);
  }
  .landscape header .mainMenu li:before {
    content: "";
    padding-top: 100%;
    display: block;
  }
  .landscape header .mainMenu li a {
    font-size: 0.4em;
    text-align: center;
  }
  .landscape header .mainMenu li a:before {
    content: "";
  }
  .landscape header .mainMenu div.mainMenu__block {
    top: 2.6em;
    bottom: 0;
    overflow: visible;
  }
  .landscape header .spFix {
    margin-bottom: 0;
    width: 190px;
    bottom: 10px;
  }
  .landscape header .spFix a {
    margin-left: 10px;
    width: 50px;
    height: 50px;
  }
  .landscape header .spFix .menu {
    background-position: 50% 50%;
    background-size: contain;
  }
  .landscape header .search {
    margin-top: 0%;
    margin-right: 18.4%;
    width: 20px;
    top: 5px;
  }
  .landscape .mainopen header .mainMenu {
    margin: 0;
    display: block;
  }
  .landscape .pagetop__block {
    bottom: 70px;
  }
  .landscape .pagetop__block a {
    width: 50px;
    height: 50px;
  }
}
/*============================
Common - SidePos
============================*/
#sidePos {
  position: fixed;
  z-index: 5;
  top: 0;
  right: 0;
  margin: 0 20px 0 0;
  height: 100%;
}
.mainopen #sidePos, .subopen #sidePos {
  display: none;
}
#sidePos .omission {
  background: #2356a7;
  padding: 0 5px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.5s 0s ease;
  pointer-events: none;
}
#sidePos .omission-text {
  padding: 0 5px;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
  position: relative;
  left: 100%;
  top: 0.5em;
  display: block;
  box-sizing: border-box;
  transition: left 0.5s 0s ease;
}
#sidePos ul {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#sidePos li {
  height: 30px;
  border-left: #2356a7 2px solid;
  opacity: 0.3;
  display: block;
  margin-bottom: 5px;
  position: relative;
  cursor: pointer;
}
#sidePos li:before {
  content: "";
  height: 100%;
  width: 35px;
  padding-bottom: 5px;
  margin-left: -15px;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
}
#sidePos li:hover {
  opacity: .8;
}
#sidePos li:hover .omission {
  width: auto;
  right: 100%;
  display: block;
  opacity: 1;
  pointer-events: auto;
}
.isMobileOS #sidePos li:hover .omission {
  display: none;
}
#sidePos li:hover .omission-text {
  left: 0;
}
.isMobileOS #sidePos li:hover .omission-text {
  left: 100%;
}
#sidePos li.current {
  border-left: #2356a7 4px solid;
  opacity: 1;
  margin-left: -2px;
}

@media screen and (max-width: 768px) {
  #sidePos {
    margin: 0 4.6% 0 0;
  }
  #sidePos ul {
    top: 45%;
  }
  #sidePos li {
    height: 2.2em;
    border-left: #2356a7 0.15em solid;
    margin-bottom: 0.3em;
  }
  #sidePos li:before {
    height: 100%;
    width: 1.6em;
    padding-bottom: 0.3em;
    margin-left: -0.8em;
  }
  #sidePos li:hover {
    opacity: .3;
  }
  #sidePos li:hover .omission {
    display: none;
  }
  #sidePos li:hover .omission-text {
    left: 100%;
  }
  #sidePos li.current {
    border-left: #2356a7 0.25em solid;
    margin-left: -0.1em;
    opacity: 1;
  }
}
/*============================
Common - Search Form
============================*/
#search-form input {
  position: relative;
}
#search-form input[type="text"] {
  border-width: 0;
  background: #fff;
  color: #959595;
  line-height: normal;
}
#search-form input[type="text"]::placeholder {
  opacity: 1;
}

@media screen and (min-width: 769px) {
  #search-form input[type="text"] {
    padding: 0 15px;
    width: calc(100% - 30px);
    height: 28px;
  }
  #search-form button {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2223px%22%20height%3D%2223px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20stroke-width%3D%221px%22%20stroke%3D%22rgb(35%2C%2086%2C%20167)%22%20fill%3D%22rgb(35%2C%2086%2C%20167)%22%20d%3D%22M19.376%2C18.135%20L18.473%2C19.038%20L14.550%2C15.115%20C13.443%2C16.000%2012.058%2C16.550%2010.531%2C16.550%20C6.955%2C16.550%204.056%2C13.652%204.056%2C10.076%20C4.056%2C6.500%206.955%2C3.601%2010.531%2C3.601%20C14.107%2C3.601%2017.005%2C6.500%2017.005%2C10.076%20C17.005%2C11.663%2016.412%2C13.097%2015.465%2C14.223%20L19.376%2C18.135%20ZM15.930%2C10.076%20C15.930%2C7.094%2013.513%2C4.676%2010.531%2C4.676%20C7.549%2C4.676%205.131%2C7.094%205.131%2C10.076%20C5.131%2C13.058%207.549%2C15.476%2010.531%2C15.476%20C13.513%2C15.476%2015.930%2C13.058%2015.930%2C10.076%20Z%22%2F%3E%3C%2Fsvg%3E");
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    height: 20px;
    width: 20px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    cursor: pointer;
    padding: 0 10px 0 0;
    top: 4px;
  }
  #top #search-form button {
    top: 0;
  }
}
@media screen and (max-width: 768px) {
  .menuCts.search-bar {
    margin: 0 -1.3em;
    z-index: 2;
  }

  #search-form input[type="text"] {
    padding: 8px 15px;
    width: calc(100% - 30px);
    height: auto;
    min-height: auto;
    min-height: initial;
    position: absolute;
  }
  #search-form button {
    background: #fff;
    padding-left: 5px;
    display: table-cell;
  }
  #search-form button span {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.3%2015.4%22%3E%3Cpath%20d%3D%22M15.3%2014.5l-3.9-3.9c.9-1.1%201.5-2.6%201.5-4.2%200-3.6-2.9-6.5-6.5-6.5C2.9%200%200%202.9%200%206.5%200%2010.1%202.9%2013%206.5%2013c1.5%200%202.9-.5%204-1.4l3.9%203.9.9-1zm-14.2-8c0-3%202.4-5.4%205.4-5.4s5.4%202.4%205.4%205.4c0%203-2.4%205.4-5.4%205.4S1.1%209.5%201.1%206.5z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%232356a7%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    margin-right: 0;
    width: 26px;
    height: 26px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    cursor: pointer;
  }
}
/*============================
Common - Search Box
============================*/
.mf_finder_searchBox * {
  box-sizing: content-box !important;
}

.mf_finder_searchBox_submit span, html .mf_finder_header .mf_finder_searchBox {
  margin: 0;
}

html .mf_finder_searchBox {
  background: none !important;
  margin-bottom: 0;
}

.mf_finder_searchBox_query_input {
  min-height: auto !important;
  min-height: initial !important;
}

html .mf_finder_searchBox .mf_finder_searchBox_query_input {
  background-image: none !important;
  background-size: auto !important;
  font-size: 14px !important;
}

.mf_finder_searchBox_query_wrap {
  flex-grow: 0 !important;
}

.mf_finder_searchBox_submit {
  font-size: 14px !important;
  border-radius: 0 !important;
}

.mf_finder_searchBox_submit:before {
  display: none;
}

#openMenu *.mf_finder_searchBox_suggest_items {
  position: absolute;
}

.mf_finder_logo {
  display: none;
}

.mf_finder_organic_doc:hover {
  background-color: #f0f0f0;
}

.mf_finder_organic_doc_url {
  word-break: break-all;
}

@media screen and (min-width: 769px) {
  .mf_finder_searchBox_items {
    padding: 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .mf_finder_searchBox_query_wrap {
    background-color: rgba(255, 255, 255, 0.2);
    padding: 0;
    width: 100%;
    max-width: 29.3em;
    display: inline-block;
    vertical-align: top;
  }

  #openMenu *.mf_finder_searchBox_suggest_items {
    width: calc(100% - 3px);
    top: 36px;
  }
}
@media screen and (max-width: 768px) {
  .mf_finder_searchBox {
    background: #fff;
    padding-bottom: 1px;
  }

  .mf_finder_searchBox_items {
    padding: 0 !important;
    width: 100%;
    display: flex;
    justify-content: center;
    background: #fff;
  }

  .mf_finder_searchBox_query_wrap {
    padding: 0 5px 0 0;
    width: calc(100% - 45px);
    height: 36px;
  }

  #openMenu *.mf_finder_searchBox_suggest_items {
    width: calc(100% - 3px);
    top: 36px;
  }

  .mf_finder_searchBox_suggest_items li {
    font-size: 14px;
  }
}
/*============================
Common - Footer
============================*/
footer {
  background: -webkit-linear-gradient(top, #007bc2, #0054ac);
  background: linear-gradient(to bottom, #007bc2, #0054ac);
  margin: 0 auto;
  padding-bottom: 40px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
footer:before {
  content: "";
  top: 0;
  width: 100%;
  height: 116px;
  display: block;
  background: url(/assets/img/bg_topcurve.png) no-repeat 50%;
  pointer-events: none;
  background-size: 100% 100%;
  transition: 0s;
  width: 112%;
  margin-left: -6%;
  transform: translateX(-50%);
  left: 50%;
  position: relative;
}
footer.current:before {
  transition: 3s;
  animation-name: wave2;
  animation-duration: 8s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.mainopen footer, .subopen footer {
  -webkit-filter: blur(8px);
  -moz-filter: blur(8px);
  -ms-filter: blur(8px);
  filter: blur(8px);
  opacity: 0.25;
}

.footer__inner {
  max-width: 1200px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  padding: 0 3.3%;
}
.footer__inner--bottomLink {
  position: relative;
  padding: 55px 0 51px;
}
.footer__inner--bottomLink ul {
  padding: 0;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.footer__inner--bottomLink li {
  font-size: 0.9em;
  display: inline-block;
  margin: 0 2.4em;
  letter-spacing: 0.02em;
  line-height: 3.6;
}
.footer__inner--bottomLink li:first-child {
  margin-left: 0;
}
.footer__inner--bottomLink li:last-child {
  margin-right: 0;
}
.footer__inner--bottomLink a {
  color: #fff;
}
.footer__inner--bottom {
  display: flex;
  justify-content: space-between;
}
.footer__inner--copy {
  text-align: left;
}
.footer__inner--copy li:nth-child(2) {
  margin-top: 10px;
}
.footer__inner--sns {
  margin-top: 8px;
}
.footer__inner--sns li {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
}
.footer__inner--sns li:first-child {
  margin-left: 0;
}
.footer__inner--sns li a {
  transition: all 0.2s;
}
.footer__inner--sns li a:hover {
  opacity: 0.6;
}
.footer__inner--trademark {
  font-size: 0.7em;
  white-space: nowrap;
}
.footer__inner--copyright {
  font-size: 0.7em;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 1024px) {
  footer {
    background-size: 100vw;
  }
}
@media screen and (max-width: 1024px) {
  footer {
    font-size: 12px;
  }

  .footer__inner--trademark, .footer__inner--copyright {
    float: none;
    display: block;
    text-align: left;
    line-height: 1.6;
  }
}
@media screen and (max-width: 768px) {
  footer {
    max-width: 100%;
    padding-bottom: 2rem;
    min-width: 0;
  }
  footer:before {
    background-size: 170% 2.2em;
    height: 2.2em;
    background-position: 48% top;
    margin-top: 0;
    min-width: 0;
  }

  .footer__inner {
    width: 100%;
    padding: 0 40px;
  }
  .footer__inner--bottomLink {
    padding: 15.7% 0 9.4%;
  }
  .footer__inner--bottomLink ul {
    max-width: 98%;
  }
  .footer__inner--bottomLink ul.sub {
    border-top: #fff 1px solid;
    margin: 12.2% auto 0;
    padding: 11.2% 0 0;
    text-align: left;
  }
  .footer__inner--bottomLink ul.sub li {
    width: 42.4%;
    vertical-align: top;
    font-size: 0.8em;
    line-height: 1.6;
  }
  .footer__inner--bottomLink ul.sub li a {
    display: inline-block;
    padding: 15px 0;
  }
  .footer__inner--bottomLink li {
    font-size: 0.9em;
    margin: 0;
    letter-spacing: 0.02em;
    line-height: 4;
    width: 100%;
    text-align: left;
  }
  .footer__inner--bottom {
    flex-direction: column;
    flex-flow: column-reverse nowrap;
  }
  .footer__inner--sns {
    margin-top: 0;
    margin-bottom: 50px;
  }
  .footer__inner--trademark {
    white-space: normal;
    margin-bottom: 1em;
  }
  .footer__inner--copyright {
    font-size: 0.6em;
    letter-spacing: 0.1em;
  }
}
/*============================
Top - Footer
============================*/
.footer .forsp {
  display: none;
}
.footer .footer__inner {
  max-width: 1290px;
  padding: 75px 0 0 0;
}
.footer .footer__inner + .footer__inner {
  padding-top: 0;
}
.footer .footer__inner--bdr {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 13px 0;
  margin: 30px 0;
}
.footer .footer__inner a {
  color: #fff;
  text-align: left;
}
.footer .footer__col--left {
  width: 17.0542635659%;
  float: left;
}
.footer .footer__col--right {
  width: 79.8449612403%;
  float: right;
}
.footer .footerItem {
  text-align: left;
}
.footer .footerItem__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer .footerItem__col {
  width: 24.2718446602%;
}
.footer .footerItem__col:nth-child(n+5) {
  margin-top: 20px;
}
.footer .footerItem__wrap {
  margin-top: auto;
}
.footer .footerItem__title {
  border-bottom: 1px solid #fff;
  font-weight: 700;
  font-size: 16px;
  padding-bottom: 10px;
  margin-bottom: 22px;
  letter-spacing: 0.075em;
  line-height: 1.75;
}
.footer .footerItem__title--sub {
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.6;
}
.footer .footerItem__title--link {
  position: relative;
  padding-right: 1em;
  display: block;
}
.footer .footerItem__title--link:after {
  content: "";
  border: #fff 1px solid;
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  vertical-align: top;
  margin: -0.2em 0 0px 1.4em;
  border-left: none;
  border-top: none;
  transform: rotate(-45deg);
  position: absolute;
  right: 0.3em;
  top: 50%;
  transition: all 0.2s;
}
.footer .footerItem__title--link:hover:after {
  right: 0;
}
.footer .footerItem__list {
  text-align: left;
  font-size: 12px;
}
.footer .footerItem__list > li {
  margin-top: 10px;
  line-height: 1.3;
}
.footer .footerItem__list + .footerItem__title {
  margin-top: 50px;
}
.footer .footerItem__list + .footerItem__title--sub {
  margin-top: 30px;
}
.footer .footerItem__list .link--blank03:after {
  margin-left: 0.8em;
}

@media screen and (max-width: 768px) {
  .footer .forsp {
    display: block;
  }
  .footer .footer__inner {
    width: 100%;
    padding: 0 40px;
  }
  .footer .footer__inner--bdr {
    border: none;
    margin: 0;
    padding: 15.7% 0 9.4%;
  }
}
/*============================
Common - Section
============================*/
.section__inner {
  width: 900px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.section__inner p {
  font-size: 14px;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
.section__inner p.mainvisual__block {
  letter-spacing: 0.04em;
}
.section__inner a {
  color: #2356a7;
  text-decoration: underline;
}
.section__inner a.link--colorw {
  color: #fff;
}
.section__inner a:hover {
  color: #8cb7de;
}
.section__inner > *:first-child {
  margin-top: 0 !important;
}
.section__inner > *:last-child {
  margin-bottom: 0 !important;
}
.section__inner--block > *:first-child {
  margin-top: 0 !important;
}
.section__inner--block > *:last-child {
  margin-bottom: 0 !important;
}
.section__inner--block + .section__inner--block {
  margin-top: 30px;
}
.section__inner--block .title__small, .section__inner--block .title__xsmall, .section__inner--block .title__xxsmall, .section__inner--block .title__xxxsmall, .section__inner--block p {
  text-align: left;
}
.section__inner--block p + p {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .section__inner {
    width: 76.267%;
  }
  .section__inner p {
    letter-spacing: 0.02em;
  }
  .section__inner--block p + p {
    margin-top: 20px;
  }
}
/*============================
Common - Width
============================*/
.wp5 {
  width: 5%;
}
.wp10 {
  width: 10%;
}
.wp15 {
  width: 15%;
}
.wp20 {
  width: 20%;
}
.wp25 {
  width: 25%;
}
.wp30 {
  width: 30%;
}
.wp35 {
  width: 35%;
}
.wp40 {
  width: 40%;
}
.wp45 {
  width: 45%;
}
.wp50 {
  width: 50%;
}
.wp55 {
  width: 55%;
}
.wp60 {
  width: 60%;
}
.wp65 {
  width: 65%;
}
.wp70 {
  width: 70%;
}
.wp75 {
  width: 75%;
}
.wp80 {
  width: 80%;
}
.wp85 {
  width: 85%;
}
.wp90 {
  width: 90%;
}
.wp95 {
  width: 95%;
}
.wp100 {
  width: 100%;
}

/*============================
Common - Title
============================*/
.title__main {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  letter-spacing: 0;
}
#solution .title__main, #technology .title__main {
  line-height: 1.6;
}
.title__lead {
  margin-bottom: 30px;
  font-size: 32px;
  text-align: left;
  line-height: 1.37;
}
.title__medium {
  margin: 70px 0 40px;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1.37;
}
.title__medium + .section__inner--feature, .title__medium + .section__inner--function {
  margin-top: 65px !important;
}
.title__small {
  margin: 30px 0 20px;
  font-size: 24px;
  display: flex;
  align-items: center;
}
.title__small:before, .title__small:after {
  border-top: 1px solid #2356a7;
  content: "";
  flex-grow: 1;
  width: 2em;
}
.title__small:before {
  margin-right: 25px;
}
.title__small:after {
  margin-left: 25px;
}
.title__small.text--colorw:before, .title__small.text--colorw:after, .text--colorw .title__small:before, .text--colorw .title__small:after, .section__feature .title__small:before, .section__feature .title__small:after {
  border-top-color: #fff;
}
.title__small.feature__title {
  font-size: 24px;
}
.title__small--noline:before, .title__small--noline:after {
  border: none;
  width: 0;
  margin-right: 0;
  margin-left: 0;
}
.title__xsmall {
  margin: 30px 0 15px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  position: relative;
  padding-bottom: 10px;
}
.title__xsmall:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: 2;
  content: "";
  width: 20px;
  height: 4px;
  background-color: #2356a7;
}
.title__xsmall.text--colorw:after, .text--colorw .title__xsmall:after, .section__feature .title__xsmall:after {
  background-color: #fff;
}
.title__xxsmall {
  margin: 15px 0;
  font-size: 16px;
}
.title__xxsmall--noline {
  padding-left: 0;
}
.title__xxsmall--noline:before {
  display: none;
}
.title__xxxsmall {
  margin: 20px 0 10px;
  font-size: 1em;
}

@media screen and (max-width: 768px) {
  .title__main {
    font-size: 27px;
    white-space: normal;
    text-align: left;
    letter-spacing: 0.02em;
  }
  .title__lead {
    margin-bottom: 20px;
    font-size: 23px;
  }
  .title__medium {
    font-size: 23px;
  }
  .title__small {
    margin: 40px 0 20px;
    font-size: 16px;
  }
  .title__small:before {
    margin-right: 10px;
  }
  .title__small:after {
    margin-left: 10px;
  }
  .title__small.feature__title {
    font-size: 1.214em;
  }
  .title__xsmall {
    font-size: 15px;
  }
  .title__xxsmall {
    font-size: 14px;
  }
  .title__xxsmall--noline {
    padding-left: 0;
  }
  .title__xxsmall--noline:before {
    display: none;
  }
  .title__xxxsmall {
    font-size: 14px;
  }
}
/*============================
Common - Text
============================*/
.text--mt00 {
  margin-top: 0 !important;
}
.text--mt20 {
  margin-top: 20px !important;
}
.text--small {
  font-size: 12px !important;
}
.text--smaller {
  font-size: 10px !important;
}
.text--large {
  font-size: 16px !important;
}
.text--larger {
  font-size: 18px !important;
}
.text--colorb {
  color: #2356a7 !important;
}
.text--colorw {
  color: #fff !important;
}
.text--colorblack {
  color: #333 !important;
}
.text--colorr {
  color: #f00 !important;
}
.text--colorg {
  color: #4e4e4e !important;
}
.text--colorgreen {
  color: #43aeb4 !important;
}
.text--left {
  text-align: left !important;
}
.text--center {
  text-align: center !important;
}
.text--right {
  text-align: right !important;
}
.text--breakword {
  word-break: break-all;
}
.text--keepall {
  word-break: keep-all;
}
.text--em {
  color: #43aeb4;
  font-weight: 700;
}
.text--indent {
  padding-left: 1em;
}
.text--indentblock {
  padding-left: 1em;
}
.section__inner--block p > .text--indentblock {
  display: inline-block;
}
.text--indentblock02 {
  padding-left: 2em;
}
.text--notice {
  margin-bottom: 30px;
  padding: 15px;
  border: 1px solid #f00;
}

.text-blue--box01 {
  text-align: center !important;
  border: #2356a7 1px solid;
  padding: 20px 10px;
}

.text-note {
  margin-bottom: 40px;
  font-size: 16px !important;
  border: 1px solid red;
  padding: 20px;
  color: red;
  font-weight: bold;
}
.text-note a {
  color: red;
}
.text-note a:hover {
  color: red;
  text-decoration: none;
}

.list-note {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-flow: nowrap;
  margin-top: 15px;
}
.list-note .list-note--container01,
.list-note .list-note--container02 {
  width: 48%;
}
.list-note .list-note--container01 .list__table > li,
.list-note .list-note--container02 .list__table > li {
  font-size: 12px;
  color: red;
}
.list-note .list-note--container01 .list__table > li a,
.list-note .list-note--container02 .list__table > li a {
  color: red;
}
.list-note .list-note--container01 .list__table > li a:hover,
.list-note .list-note--container02 .list__table > li a:hover {
  color: red;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .text--large {
    font-size: 14px !important;
  }
  .text--larger {
    font-size: 15px !important;
  }
  .text--notice {
    margin-bottom: 15px;
  }

  .text-blue--box01 {
    text-align: left !important;
    font-size: 12px !important;
  }

  .text-note {
    font-size: 14px !important;
    text-align: justify;
  }

  .list-note {
    display: block;
  }
  .list-note .list-note--container01,
  .list-note .list-note--container02 {
    width: 100%;
  }
  .list-note .list-note--container01 {
    margin-bottom: 10px;
  }
}
strong {
  font-weight: bold;
}

/*============================
Common - Figure
============================*/
.figure__img {
  margin: 20px 0;
  line-height: 0;
  text-align: center;
  position: relative;
}
.figure__img--nomt {
  margin-top: 0;
}
.figure__img--left {
  margin: 0 20px 20px 0;
  float: left;
}
.figure__img--right {
  margin: 0 0 20px 20px;
  float: right;
}
.figure__img--left .figure__img, .figure__img--right .figure__img {
  margin-top: 0;
}
.figure__img--left .figure__cap + .figure__img, .figure__img--right .figure__cap + .figure__img {
  margin-top: 10px;
}
.figure__img--cut {
  overflow: hidden;
  border-radius: 50%;
  display: inline-block;
}
.figure__title {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.6;
}
.figure__title + figure {
  margin-top: 20px;
}
.figure__cap {
  font-size: 1em;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
.figure__img + .figure__cap {
  margin-top: 10px;
}
.figure__text--left, .figure__text--right {
  float: left;
}
.figure__text--left > *, .figure__text--right > * {
  line-height: 1.6;
}
.figure__text--left > *:first-child, .figure__text--right > *:first-child {
  margin-top: 0 !important;
}
.figure__text--left > *:last-child, .figure__text--right > *:last-child {
  margin-bottom: 0 !important;
}
.figure__bnr {
  margin-top: 50px;
}
.figure__bnr > p, .figure__bnr > figure {
  text-align: center;
}
.figure__bnr > p + .figure__img {
  margin: 10px 0 0;
}
.figure__column02 {
  margin: 50px auto 0;
  display: inline-block;
}
.figure__column02--img {
  float: left;
}
.figure__column02--img + .figure__column02--img {
  margin-left: 20px;
}
.figure__column03 {
  margin: 50px auto 0;
  display: inline-block;
}
.figure__column03--img {
  margin-right: 2%;
  width: 32%;
  float: left;
}
.figure__column03--img:last-child {
  margin-right: 0;
  float: right;
}
a:hover .figure__link {
  opacity: 0.6;
}

figure.figure__img--left, figure.figure__img--right {
  line-height: 0;
}

@media screen and (max-width: 768px) {
  .figure__img {
    margin: 10px 0;
  }
  .figure__img--nomt {
    margin-top: 0;
  }
  .figure__img--left, .figure__img--right {
    margin: 0 0 10px;
    text-align: center;
    float: none;
    clear: both;
  }
  .figure__img--left > .figure__img, .figure__img--right > .figure__img {
    margin: 0;
  }
  .figure__text--left, .figure__text--right {
    float: none;
  }
  .figure__bnr {
    margin-top: 25px;
  }
  .figure__column02 {
    margin: 25px 0 0;
    display: block;
  }
  .figure__column02--img {
    float: none;
  }
  .figure__column02--img + .figure__column02--img {
    margin-top: 20px;
    margin-left: 0;
  }
  .figure__column03 {
    margin: 25px 0 0;
    display: block;
  }
  .figure__column03--img {
    margin-right: 0;
    width: 100%;
    float: none;
  }
  .figure__column03--img + .figure__column03--img {
    margin-top: 20px;
  }
  .figure__column03--img:last-child {
    float: none;
  }
}
/*============================
Common - Imgcut
============================*/
.imgcut01, .imgcut02, .imgcut03 {
  border-radius: 0px !important;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
}
.imgcut01 {
  mask-image: url(/assets/img/bg_maskcircle01.png);
  -webkit-mask-image: url(/assets/img/bg_maskcircle01.png);
}
.imgcut02 {
  mask-image: url(/assets/img/bg_maskcircle02.png);
  -webkit-mask-image: url(/assets/img/bg_maskcircle02.png);
}
.imgcut03 {
  mask-image: url(/assets/img/bg_maskcircle03.png);
  -webkit-mask-image: url(/assets/img/bg_maskcircle03.png);
}

/*============================
Common - Products List Table
============================*/
table.productInfo {
  border-collapse: collapse;
  width: 100%;
  line-height: 1.5;
}
table.productInfo th, table.productInfo td {
  padding: 10px;
  font-size: 14px;
  text-align: left;
  border: 1px solid #ccc;
}
table.productInfo th.tb_bg, table.productInfo td.tb_bg {
  background: #dae7f1;
  color: #333;
}
table.productInfo th.nowrap, table.productInfo td.nowrap {
  white-space: nowrap;
}
table.productInfo td {
  vertical-align: middle;
}
table.productInfo td > *:first-child {
  margin-top: 0;
}
table.productInfo td > *:last-child {
  margin-bottom: 0;
}
table.productInfo th.tb_bg {
  font-weight: 700;
}
table.productInfo tr.headCell th, table.productInfo tr.headCell td {
  background: #dae7f1;
  text-align: center;
  font-weight: 700;
  color: #333;
}
table.planInfo {
  margin-bottom: 15px;
  width: 100%;
  border: 1px #accbe7 solid;
  border-spacing: 0;
  border-collapse: collapse;
}
table.planInfo th, table.planInfo td {
  padding: 10px;
  font-size: 14px;
  text-align: left;
  border: 1px #accbe7 solid;
}
table.planInfo th.planInfo--subth, table.planInfo td.planInfo--subth {
  padding: 15px 10px 5px;
}
table.planInfo th.nowrap, table.planInfo td.nowrap {
  white-space: nowrap;
}
table.planInfo th.planInfo__title, table.planInfo td.planInfo__title {
  background: #dae7f1;
}
table.planInfo th {
  color: #2356a7;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
table.planInfo td > *:first-child {
  margin-top: 0;
}
table.planInfo td > *:last-child {
  margin-bottom: 0;
}
table.planInfo tr.planInfo__title th, table.planInfo tr.planInfo__title td {
  background: #dae7f1;
}
table.planInfo .planInfo--subth {
  font-weight: 700;
  text-align: center;
}
table.noborder th, table.noborder td {
  padding: 5px 10px;
  text-align: left;
  border: none;
}
table.noborder th:first-child, table.noborder td:first-child {
  padding: 5px 0;
}
table th.bdr__none--top, table td.bdr__none--top {
  border-top: none !important;
}
table th.bdr__none--right, table td.bdr__none--right {
  border-right: none !important;
}
table th.bdr__none--bottom, table td.bdr__none--bottom {
  border-bottom: none !important;
}
table th.bdr__none--left, table td.bdr__none--left {
  border-left: none !important;
}

.white-space--pc {
  white-space: break-spaces !important;
}

.table-fx--pc {
  table-layout: fixed;
}

@media screen and (max-width: 768px) {
  .white-space--pc {
    white-space: nowrap !important;
  }

  .table-fx--pc {
    table-layout: auto;
  }
}
/*============================
Common - Link
============================*/
.link-basic01:hover {
  opacity: 0.8;
}

.linkList {
  margin: 40px auto;
  width: 500px;
  text-align: left;
}
.linkList__item {
  font-size: 1.143em;
}
.linkList__item + .linkList__item {
  margin-top: .5em;
}
.link--blank:after {
  content: "";
  background: url(/assets/img/bg_blank.png) 0 0 no-repeat;
  background-size: cover;
  margin: 0 .3em;
  width: 15px;
  height: 15px;
  display: inline-block;
}
.link--blank02:after, .link--blank03:after {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 .3em;
  width: 15px;
  height: 15px;
  display: inline-block;
}
.link--blank02:after {
  background-image: url(/assets/img/bg_blank01.png);
}
.link--blank03:after {
  background-image: url(/assets/img/bg_blank02.png);
}

@media screen and (max-width: 768px) {
  img.link-basic01 {
    width: 80%;
    margin-top: 8%;
  }

  .linkList {
    margin: 2em auto;
    width: auto;
  }
  .link--blank:after {
    width: 1em;
    height: 1em;
  }
  .link--blank02:after, .link--blank03:after {
    width: 1em;
    height: 1em;
  }
}
/*============================
Common - Btn
============================*/
.boxBtn01, .boxBtn02, .boxBtn03, .boxBtn04, .boxBtn05 {
  margin-top: 40px;
  text-align: center;
}
.boxBtn01 > a, .boxBtn02 > a, .boxBtn03 > a, .boxBtn04 > a, .boxBtn05 > a {
  padding: 0.57em 0;
  width: 500px;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transition: all 0.2s;
}
.boxBtn01 > a:hover, .boxBtn02 > a:hover, .boxBtn03 > a:hover, .boxBtn04 > a:hover, .boxBtn05 > a:hover {
  text-decoration: none;
}
.boxBtn01 > a:after, .boxBtn02 > a:after, .boxBtn03 > a:after, .boxBtn04 > a:after, .boxBtn05 > a:after {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -4px;
  width: 23px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 20px;
}
.boxBtn__text {
  margin-bottom: 1em;
}
.boxBtn01 > a {
  background: #fff;
  border: #2356a7 2px solid;
  color: #2356a7;
}
.boxBtn01 > a:hover {
  background: #2356a7;
  color: #fff;
}
.boxBtn01 > a:after {
  background-image: url(/assets/img/bg_lineup-arrow02.png);
}
.boxBtn01 > a:hover:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.boxBtn01.boxBtn--blank > a:after {
  background-image: url(/assets/img/bg_blank01.png);
}
.boxBtn01.boxBtn--blank > a:hover:after {
  background-image: url(/assets/img/bg_blank02.png);
}
.boxBtn02 > a {
  border: #fff 2px solid;
  color: #fff;
}
.boxBtn02 > a:hover {
  background: #2356a7;
  color: #fff;
  border-color: #2356a7;
}
.boxBtn02 > a:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.boxBtn02 > a:hover:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.boxBtn02.boxBtn--blank > a:after {
  background-image: url(/assets/img/bg_blank02.png);
}
.boxBtn03 > a {
  background: #2356a7;
  border: #2356a7 2px solid;
  color: #fff;
}
.boxBtn03 > a:hover {
  background: #66a2d5;
  color: #fff;
}
.boxBtn03 > a:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.boxBtn03 > a:hover:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.boxBtn03.boxBtn--blank > a:after {
  background-image: url(/assets/img/bg_blank02.png);
}
.boxBtn04 > a {
  border: #fff 2px solid;
  color: #fff;
}
.boxBtn04 > a:hover {
  background: #fff;
  border-color: #fff;
  color: #2356a7;
}
.boxBtn04 > a:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.boxBtn04 > a:hover:after {
  background-image: url(/assets/img/bg_lineup-arrow02.png);
}
.boxBtn04.boxBtn--blank > a:after {
  background-image: url(/assets/img/bg_blank02.png);
}
.boxBtn04.boxBtn--blank > a:hover:after {
  background-image: url(/assets/img/bg_blank01.png);
}
.boxBtn05 > a {
  background: #fff;
  border: #3e3e3e 2px solid;
  color: #3e3e3e;
}
.boxBtn05 > a:hover {
  background: #3e3e3e;
  border-color: #3e3e3e;
  color: #fff;
}
.boxBtn05 > a:after {
  background-image: url(/assets/img/bg_lineup-arrow03.png);
}
.boxBtn05 > a:hover:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.boxBtn05.boxBtn--blank > a:after {
  background-image: url(/assets/img/bg_blank.png);
}
.boxBtn05.boxBtn--blank > a:hover:after {
  background-image: url(/assets/img/bg_blank02.png);
}
.boxBtn > a {
  position: relative;
}
.boxBtn > a:after {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -7.5px;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 20px;
}
.boxBtn--blank > a {
  position: relative;
}
.boxBtn--blank > a:after {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -7.5px;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 20px;
}

@media screen and (max-width: 768px) {
  .boxBtn01, .boxBtn02, .boxBtn03, .boxBtn04, .boxBtn05 {
    margin-top: 20px;
  }
  .boxBtn01 > a, .boxBtn02 > a, .boxBtn03 > a, .boxBtn04 > a, .boxBtn05 > a {
    width: 100%;
    padding: 1em 1.2em;
    font-size: 14px;
  }
  .boxBtn01 > a:after, .boxBtn02 > a:after, .boxBtn03 > a:after, .boxBtn04 > a:after, .boxBtn05 > a:after {
    right: 10px;
  }
  .boxBtn--blank > a:after {
    right: 4px;
    width: 11px;
    height: 11px;
  }
}
/*============================
Common - Tabmenu
============================*/
.tabnavi--top {
  position: absolute;
  bottom: 0;
  width: 100%;
  font-size: 0;
}
.ie .tabnavi--top {
  overflow: hidden;
  z-index: 2;
}
.tabnavi--top a, .tabnavi--top div {
  display: inline-block;
  font-size: 16px;
  letter-spacing: 0.03em;
  vertical-align: bottom;
}
.tabnavi--top a {
  padding: 8.5% 0 5.5%;
  color: #fff;
  font-weight: 700;
  width: 100%;
  transition: color .2s;
}
.section__inner .tabnavi--top a {
  text-decoration: none;
}
.tabnavi--top div {
  transition: background 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  line-height: 1;
  overflow: hidden;
}
.tabnavi--top div:hover a, .tabnavi--top div.current a {
  color: #2356a7;
}
.tabnavi--btm {
  margin-bottom: 133px;
  width: 100%;
  font-size: 0;
  position: relative;
}
.tabnavi--btm:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 16px;
  display: block;
  background: url(/assets/img/bg_tab_bottom.png) no-repeat center;
  bottom: 0;
  pointer-events: none;
}
.tabnavi--btm a, .tabnavi--btm div {
  display: inline-block;
  font-size: 16px;
  letter-spacing: 0.03em;
}
.tabnavi--btm a {
  color: #2356a7;
  font-weight: 700;
  width: 100%;
}
.section__inner .tabnavi--btm a {
  text-decoration: none;
}
.tabnavi--btm div {
  line-height: 1;
  overflow: hidden;
  opacity: 0.5;
  transition: background 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s;
}
.tabnavi--btm div:hover {
  opacity: 1;
}
.tabnavi--btm div:hover a {
  color: #fff;
}
.tabnavi--btm div.current {
  opacity: 1;
}
.tabnavi--btm div.current a {
  background: none;
  color: #fff;
}
.tabnavi__column02 div {
  width: 49.4%;
}
.tabnavi__column02--left {
  background: url(/assets/img/bg_navi_left.png) no-repeat 0 64px;
}
.tabnavi--btm .tabnavi__column02--left {
  background: url(/assets/img/bg_navi_left_b.png) no-repeat 0 58px;
}
.tabnavi__column02--left:hover, .tabnavi__column02--left.current {
  background-position: 0 10px;
}
.tabnavi__column02--left a {
  padding: 9.5% 0 5.5%;
}
.tabnavi--btm .tabnavi__column02--left a {
  padding: 9% 0 5%;
}
.tabnavi__column02--right {
  background: url(/assets/img/bg_navi_right.png) no-repeat 0 64px;
  margin-left: 1.2%;
}
.tabnavi--btm .tabnavi__column02--right {
  background: url(/assets/img/bg_navi_right_b.png) no-repeat 0 63px;
}
.tabnavi__column02--right:hover, .tabnavi__column02--right.current {
  background-position: 0 10px;
}
.tabnavi--btm .tabnavi__column02--right:hover, .tabnavi--btm .tabnavi__column02--right.current {
  background-position: 0 15px;
}
.tabnavi__column02--right a {
  padding: 9.5% 0 5.5%;
}
.tabnavi--btm .tabnavi__column02--right a {
  padding: 10.5% 0 5%;
}
.tabbtn {
  margin: 0 auto 50px;
  letter-spacing: -.4em;
}
.tabbtn > div {
  letter-spacing: normal;
  vertical-align: top;
  display: inline-block;
}
.tabbtn > div > a {
  padding: 0.57em 0;
  width: 100%;
  font-size: 1em;
  color: #2356a7;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-decoration: none;
  border: #2356a7 1px solid;
  display: inline-block;
  transition: all 0.2s;
}
.tabbtn > div > a:hover {
  background: #2356a7;
  color: #fff;
  text-decoration: none;
}
.tabbtn > div.current > a {
  background: #2356a7;
  color: #fff;
}
.tabbtn--02 > div {
  width: 48%;
  margin: 0 2% 0 0;
}
.tabbtn--02 > div:last-of-type {
  margin: 0;
}
.tabbtn--03 > div {
  width: 23.5%;
  margin: 0 2% 0 0;
}
.tabbtn--03 > div:last-of-type {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .tabnavi--top {
    font-size: 1.6em;
    line-height: 0;
    white-space: nowrap;
  }
  .tabnavi--top a, .tabnavi--top div {
    letter-spacing: 0.03em;
    font-size: 0.7em;
  }
  .tabnavi--top a {
    padding: 20.5% 0 13%;
  }
  .tabnavi--top div {
    line-height: 1;
  }
  .tabnavi--top div.current a {
    font-size: 0.7em;
  }
  .tabnavi--btm {
    margin-bottom: 34%;
  }
  .tabnavi--btm:after {
    height: 16px;
    background-size: 144% 100%;
  }
  .tabnavi--btm a, .tabnavi--btm div {
    letter-spacing: 0.03em;
  }
  .tabnavi--btm a {
    padding: 15% 0 13.7%;
    font-size: 0.7rem;
  }
  .tabnavi--btm div {
    background-size: 130% 100%;
    width: 49%;
  }
  .tabnavi__column02--left {
    background-position: 100% 2.2em;
    background-size: 150% 112%;
  }
  .tabnavi--btm .tabnavi__column02--left {
    background-position: 0 2.65em;
    background-size: 130% 100%;
  }
  .tabnavi__column02--left:hover, .tabnavi__column02--left.current {
    background-position: 100% 0;
    background-size: 150% 112%;
    font-size: 0.7rm;
  }
  .tabnavi--btm .tabnavi__column02--left:hover, .tabnavi--btm .tabnavi__column02--left.current {
    background-position: 0;
    background-size: 130% 100%;
  }
  .tabnavi__column02--left.current {
    opacity: 1;
  }
  .tabnavi__column02--left a {
    padding: 28px 0 15px;
  }
  .tabnavi--btm .tabnavi__column02--left a {
    padding: 15% 0 13.7%;
  }
  .tabnavi__column02--left.current a {
    padding: 28px 0 15px;
  }
  .tabnavi--btm .tabnavi__column02--left.current a {
    padding: 15% 0 13.7%;
  }
  .tabnavi__column02--right {
    background-position: 0 2.6em;
    background-size: 100% 96%;
    margin-left: 0.1%;
  }
  .tabnavi--btm .tabnavi__column02--right {
    background-position: 0 2.25em;
    background-size: 130% 100%;
    margin-left: 1.9%;
  }
  .tabnavi__column02--right:hover, .tabnavi__column02--right.current {
    background-position: 100% 0.4em;
    background-size: 150% 112%;
  }
  .tabnavi--btm .tabnavi__column02--right:hover, .tabnavi--btm .tabnavi__column02--right.current {
    background-position: 0 -0.1em;
    background-size: 130% 100%;
  }
  .tabnavi__column02--right.current {
    opacity: 1;
  }
  .tabnavi__column02--right a {
    padding: 33px 0 15px;
  }
  .tabnavi--btm .tabnavi__column02--right a {
    padding: 15% 0 13.7%;
  }
  .tabnavi__column02--right.current a {
    padding: 33px 0 15px;
  }
  .tabnavi--btm .tabnavi__column02--right.current a {
    padding: 15% 0 13.7%;
  }
  .tabbtn {
    width: 100%;
  }
  .tabbtn > div > a {
    width: 100%;
    font-size: 0.85em;
    display: table;
  }
  .tabbtn > div > a > span {
    vertical-align: middle;
    display: table-cell;
  }
  .tabbtn--02 > div {
    width: 48%;
    margin: 0 2% 0 0;
  }
  .tabbtn--02 > div:last-of-type {
    margin: 0;
  }
  .tabbtn--03 > div {
    width: 32%;
    margin: 0 2% 0 0;
  }
  .tabbtn--03 > div:last-of-type {
    margin: 0;
  }
}
/*============================
Common - Local Menu
============================*/
.localmenu {
  letter-spacing: -.4em;
}
.localmenu > li {
  width: 23.5%;
  margin: 0 2% 0 0;
  letter-spacing: normal;
  vertical-align: top;
  display: inline-block;
}
.localmenu > li:last-of-type {
  margin: 0;
}
.localmenu > li.boxBtn01, .localmenu > li.boxBtn03 {
  margin-top: 0;
}
.localmenu > li.boxBtn01 > a, .localmenu > li.boxBtn03 > a {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .localmenu > li.boxBtn01 > a:after, .localmenu > li.boxBtn03 > a:after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .localmenu {
    letter-spacing: -.4em;
  }
  .localmenu > li {
    width: 100%;
    margin: 0;
    display: block;
  }
  .localmenu > li:last-of-type {
    margin: 0;
  }
  .localmenu > li.boxBtn01, .localmenu > li.boxBtn03 {
    margin-top: 0;
  }
  .localmenu > li.boxBtn01 + li.boxBtn01, .localmenu > li.boxBtn01 + li.boxBtn03, .localmenu > li.boxBtn03 + li.boxBtn01, .localmenu > li.boxBtn03 + li.boxBtn03 {
    margin-top: 20px;
  }
  .localmenu > li.boxBtn01 > a, .localmenu > li.boxBtn03 > a {
    width: 100%;
  }
  .localmenu > li.boxBtn01 > a:after, .localmenu > li.boxBtn03 > a:after {
    display: none;
  }
}
/*============================
Common - Subnavi
============================*/
.subNavi, .subNavi--link {
  margin: 0 auto 60px;
  width: 62.3%;
  height: 63px;
  overflow: hidden;
  cursor: pointer;
  left: 169px;
}
.subNavi.open, .subNavi--link.open {
  height: auto;
  box-sizing: content-box;
  border-width: 0;
}
.subNavi:hover:not(.open) li:first-child, .subNavi--link:hover:not(.open) li:first-child {
  background: #e3f1ff;
}
.subNavi li, .subNavi--link li {
  font-size: 18px;
  letter-spacing: 0.1em;
  color: #2356a7;
  font-weight: 700;
  line-height: 1;
  transition: background .2s;
  background: #fff;
  border-bottom: #2356a7 1px solid;
}
.subNavi li:not(.opencts), .subNavi--link li:not(.opencts) {
  border-bottom: 1px solid rgba(0, 114, 189, 0.2);
}
.subNavi li a, .subNavi--link li a {
  color: #2356a7;
  display: block;
  width: 100%;
  padding: 22px 0 22px;
  text-decoration: none;
}
.subNavi li a:hover, .subNavi--link li a:hover {
  color: #2356a7;
}
.subNavi li:not(.opencts), .subNavi--link li:not(.opencts) {
  font-weight: 400;
}
.subNavi li:hover, .subNavi--link li:hover {
  background: #cde0f1;
}
.subNavi .opencts, .subNavi--link .opencts {
  position: relative;
}
.subNavi .opencts:after, .subNavi--link .opencts:after {
  content: "";
  margin: 1.3em 0.4em 0 0;
  width: 0.6em;
  height: 0.6em;
  display: inline-block;
  vertical-align: top;
  transform: rotate(45deg);
  border: #2356a7 1px solid;
  border-left: none;
  border-top: none;
  position: absolute;
  right: 0;
  top: -0.3em;
  transition: all 0.2s;
}
.subNavi:hover .opencts:after, .subNavi--link:hover .opencts:after {
  margin-top: 1.45em;
}
.subNavi.open .opencts:after, .subNavi--link.open .opencts:after {
  transform: rotate(225deg);
  margin-top: 1.9em;
}
.subNavi.open:hover .opencts:after, .subNavi--link.open:hover .opencts:after {
  margin-top: 1.7em;
}

.subNavi--link.subNavi--lineup {
  width: 100%;
  border-bottom: 0;
  margin: 0 auto;
  cursor: auto;
}
.subNavi--link.subNavi--lineup li:not(.opencts) {
  border-bottom: 2px solid #2356a7;
}
.subNavi--link.subNavi--lineup li:not(.opencts) {
  font-weight: 700;
}
.subNavi--link.subNavi--lineup .opencts {
  width: 62.3%;
  margin: 0 auto;
  font-size: 1.1em;
  letter-spacing: 0.1em;
  color: #2356a7;
  font-weight: 700;
  line-height: 1;
  transition: background .2s;
  background: #fff;
  border-bottom: #2356a7 1px solid;
}
.subNavi--link.subNavi--lineup .opencts:not(.opencts) {
  border-bottom: 1px solid rgba(0, 114, 189, 0.2);
}
.subNavi--link.subNavi--lineup .opencts > a {
  color: #2356a7;
  display: block;
  width: 100%;
  padding: 22px 0 22px;
  text-decoration: none;
}
.subNavi--link.subNavi--lineup .opencts > a:hover {
  color: #2356a7;
}
.subNavi--link.subNavi--lineup .opencts:not(.opencts) {
  font-weight: 400;
}
.subNavi--link.subNavi--lineup .opencts:hover {
  background: #cde0f1;
}

@media screen and (max-width: 768px) {
  .subNavi, .subNavi--link {
    margin: 0 0 40px;
    width: 100%;
    height: 61px;
    left: 0;
    z-index: 2;
  }
  .subNavi:after, .subNavi--link:after {
    margin: 1.1em 0.7em 0 0;
    width: 0.6em;
    height: 0.6em;
    z-index: 3;
  }
  .subNavi li, .subNavi--link li {
    width: 100%;
    height: 59px;
    letter-spacing: 0.1em;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-align: left;
    display: table;
  }
  .subNavi:hover:not(.open) li:first-child, .subNavi--link:hover:not(.open) li:first-child {
    background: #fff;
  }
  .subNavi li a, .subNavi--link li a {
    padding: 0 1.5em 0 0;
    height: 60px;
    display: table-cell;
    vertical-align: middle;
  }
  .subNavi .opencts:after, .subNavi--link .opencts:after {
    margin: 1.7em 0.4em 0 0;
  }
  .subNavi:hover .opencts:after, .subNavi--link:hover .opencts:after {
    margin-top: 1.85em;
  }
  .subNavi.open .opencts:after, .subNavi--link.open .opencts:after {
    margin-top: 1.85em;
  }
  .subNavi.open:hover .opencts:after, .subNavi--link.open:hover .opencts:after {
    margin-top: 1.7em;
  }

  .subNavi--link.subNavi--lineup {
    width: 100%;
    border-bottom: 0;
    min-height: 40px;
  }
  .subNavi--link.subNavi--lineup .opencts {
    width: 100%;
  }
  .subNavi--link.subNavi--lineup .opencts > a {
    padding: 11px 0 11px;
    font-size: 1em;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
  .subNavi--link.subNavi--lineup .spec__outline {
    margin-top: 30px;
  }
}
/*============================
Common - List
============================*/
.list__disc {
  margin-left: 1.5em;
  list-style: disc;
}
.list__disc--next {
  margin-top: 20px;
}
.list__disc > li {
  font-size: 14px;
  text-align: left;
  line-height: 1.6;
}
.list__decimal {
  margin-left: 1.5em;
  list-style: decimal;
}
.list__decimal > li {
  font-size: 14px;
  text-align: left;
  line-height: 1.6;
}
.list__table--next {
  margin-top: 20px;
}
.list__table--center > li {
  margin: auto;
}
.list__table--center > li > div {
  margin: auto;
}
.list__table > li {
  font-size: 14px;
  text-align: left;
  display: table;
  line-height: 1.6;
}
.list__table > li > div {
  white-space: nowrap;
  vertical-align: top;
  display: table-cell;
}
.list__table > li > div + div {
  padding-left: 0.5em;
  white-space: normal;
}

/*============================
Press - Info
============================*/
.press__info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: 1.2;
}
.section__inner--block .press__info + p {
  margin: 0;
}
.section__inner .press__info {
  line-height: 1.2;
  margin-bottom: 5px;
}
.press__info > span {
  margin-bottom: 5px;
}
.press__info--date {
  padding-right: 1em;
}
.press__info--category {
  font-size: 0.83em;
  background: #2356a7;
  padding: 3px 5px;
  color: #fff;
  line-height: 1.2;
  display: inline-block;
  width: 130px;
  text-align: center;
  margin-right: 1.3em;
}
.press__info--category01 {
  background-color: #43aeb4;
}
.press__info--category02 {
  background-color: #2356a7;
}
.press__info--category03 {
  background-color: #241c84;
}
.press__info--category04 {
  background-color: #f8b551;
}
.press__info--category05 {
  background-color: #fe0000;
}
.press__info--icon {
  font-size: 0.83em;
  padding: 0.2em 0.6em;
  color: #ff0000;
  line-height: 1.2;
  border: 1px solid #ff0000;
  background: #fff;
  font-weight: 700;
  border-radius: 2px;
  vertical-align: middle;
}
.press__info + p > a {
  text-decoration: none;
  color: #333;
}
.press__info + p > a:hover {
  color: #333;
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .press__info--icon {
    padding: 0.1em 0.5em;
    letter-spacing: 0em;
  }
  .press__info--category {
    font-size: 10px;
  }
}
/*============================
Common - Lineup
============================*/
.lineup__title {
  margin-bottom: 1em;
  font-size: 20px;
  text-align: left;
}
.lineup__list + .lineup__list {
  margin-top: 30px;
}
.lineup__list > li {
  margin-top: 30px;
  width: 48.3333333333%;
}
.lineup__list > li:first-child, .lineup__list > li:nth-child(2) {
  margin-top: 0;
}
.lineup__list > li:nth-child(2n+1) {
  float: left;
}
.lineup__list > li:nth-child(2n) {
  float: right;
}
.lineup__list--title {
  width: 100%;
  display: table;
}
.lineup__list--title > a {
  font-size: 18px;
  padding: 14px 41px 14px 19px;
  width: calc(100% - 64px);
  color: #fff;
  text-align: left;
  vertical-align: middle;
  text-decoration: none;
  border: 2px #fff solid;
  position: relative;
  display: table-cell;
  transition: all 0.2s;
}
#service .section__lineup .lineup__list--title > a {
  background: #fff;
  color: #2356a7;
  border-color: #2356a7;
}
#partner .section__themelist .lineup__list--title > a {
  background: #fff;
  color: #2356a7;
  border-color: #2356a7;
}
.lineup__list--title > a div {
  vertical-align: middle;
  display: table-cell;
}
.lineup__list--title > a div > span {
  font-size: 0.857em;
}
.lineup__list--title > a::after {
  content: "";
  background: url(/assets/img/bg_lineup-arrow.png) 0 0 no-repeat;
  background-size: cover;
  margin-top: -4px;
  width: 23px;
  height: 8px;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transition: all 0.2s;
}
#service .section__lineup .lineup__list--title > a::after {
  background-image: url(/assets/img/bg_lineup-arrow02.png);
}
#partner .section__themelist .lineup__list--title > a::after {
  background-image: url(/assets/img/bg_lineup-arrow02.png);
}
.lineup__list--title > a:hover {
  background: #2356a7;
  border-color: #2356a7;
}
.section__inner .lineup__list--title > a:hover, #service .section__lineup .lineup__list--title > a:hover, #partner .section__themelist .lineup__list--title > a:hover {
  color: #fff;
}
#service .section__lineup .lineup__list--title > a:hover, #partner .section__themelist .lineup__list--title > a:hover {
  background: #2356a7;
}
.section__inner .lineup__list--title > a:hover {
  text-decoration: none;
}
.lineup__list--title > a:hover::after {
  right: 12px;
}
#service .section__lineup .lineup__list--title > a:hover::after, #partner .section__themelist .lineup__list--title > a:hover::after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
}
.lineup__list--title > a.link--blank03::after {
  background-image: url(/assets/img/bg_blank02.png);
  margin-top: -7.5px;
  width: 15px;
  height: 15px;
}
#service .section__lineup .lineup__list--title > a.link--blank03::after {
  background-image: url(/assets/img/bg_blank01.png);
}
.lineup__list--title > a.link--blank03:hover::after {
  right: 20px;
}
#service .section__lineup .lineup__list--title > a.link--blank03:hover::after {
  background-image: url(/assets/img/bg_blank02.png);
}
.lineup__list--title > span {
  font-size: 1.286em;
  padding: 15px 42px 15px 20px;
  width: calc(100% - 64px);
  color: #fff;
  text-align: left;
  vertical-align: middle;
  text-decoration: none;
  border: 1px #fff solid;
  position: relative;
  display: table-cell;
}
.lineup__list--title > span div {
  vertical-align: middle;
  display: table-cell;
}
.lineup__list--text {
  margin-top: 15px;
  color: #fff;
}
#service .section__lineup .lineup__list--text, #partner .section__themelist .lineup__list--text {
  color: #333;
}
.lineup__list02 + .lineup__list02 {
  margin-top: 30px;
}
.lineup__list02 > li {
  margin-top: 30px;
  width: 48.3333333333%;
}
.lineup__list02 > li:first-child, .lineup__list02 > li:nth-child(2) {
  margin-top: 0;
}
.lineup__list02 > li:nth-child(2n+1) {
  float: left;
}
.lineup__list02 > li:nth-child(2n) {
  float: right;
}
.lineup__list02--title {
  width: 100%;
  display: table;
}
.lineup__list02--title a {
  font-size: 18px;
  line-height: 1.4;
  padding: 15px 42px 15px 20px;
  width: calc(100% - 64px);
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
  text-decoration: none;
  border: 2px #2356a7 solid;
  display: table-cell;
  transition: all 0.2s;
}
.lineup__list02--title a span {
  width: 100%;
  display: block;
  position: relative;
}
.lineup__list02--title a span::after {
  content: "";
  background: url(/assets/img/bg_lineup-arrow02.png) 0 0 no-repeat;
  background-size: cover;
  margin-top: -4px;
  width: 23px;
  height: 8px;
  display: block;
  position: absolute;
  top: 50%;
  right: -23px;
  transition: all 0.2s;
}
.lineup__list02--title a:hover {
  background: #2356a7;
}
.section__inner .lineup__list02--title a:hover {
  color: #fff;
  text-decoration: none;
}
.lineup__list02--title a:hover span::after {
  right: -31px;
  background: url(/assets/img/bg_lineup-arrow.png) 0 0 no-repeat;
}
.lineup__list02--title a.lineup__list--active {
  background: #2356a7;
}
.section__inner .lineup__list02--title a.lineup__list--active {
  color: #fff;
  text-decoration: none;
}
.lineup__list02--title a.lineup__list--active span::after {
  background: url(/assets/img/bg_lineup-arrow.png) 0 0 no-repeat;
}
.lineup__list02--title a.lineup__list--active:hover span::after {
  right: -23px;
}
.lineup__list02--title a.link--blank02::after {
  display: none;
}
.lineup__list02--title a.link--blank02 span::after {
  background-image: url(/assets/img/bg_blank01.png);
  margin-top: -7.5px;
  width: 15px;
  height: 15px;
}
.lineup__list02--title a.link--blank02:hover span::after {
  right: -23px;
  background: url(/assets/img/bg_blank02.png) 0 0 no-repeat;
  background-size: cover;
}
.lineup__list02--title a.link--blank02.lineup__list--active span::after {
  background: url(/assets/img/bg_blank02.png) 0 0 no-repeat;
}
.lineup__list02--text {
  margin-top: 15px;
}
.section__inner--block p + .lineup__list02--text {
  margin-top: 15px;
}
.lineup__list02--01 > li {
  width: 100%;
}
.lineup__list02--01 > li:nth-child(2n+1) {
  float: none;
}
.lineup__list02--01 > li:nth-child(2n) {
  float: none;
}
.lineup__list02--03 > li {
  width: 31.333%;
  margin-top: 20px;
  margin-right: 3%;
}
.lineup__list02--03 > li:first-child, .lineup__list02--03 > li:nth-child(3) {
  margin-top: 0;
}
.lineup__list02--03 > li:nth-child(2n+1) {
  float: left;
}
.lineup__list02--03 > li:nth-child(2n) {
  float: left;
}
.lineup__list02--03 > li:nth-child(3n) {
  margin-right: 0;
}
.lineup__list03 {
  margin: 0 auto;
  width: 83.3333333333%;
}
.lineup__list03 + .lineup__list03 {
  margin-top: 100px;
}
.lineup__list03 > li {
  margin-top: 100px;
  width: 46.6666666667%;
  float: left;
}
.lineup__list03 > li:nth-child(2n) {
  float: right;
}
.lineup__list03 > li:first-child, .lineup__list03 > li:nth-child(2) {
  margin-top: 0;
}
.lineup__list03--title a, .lineup__list03--text a {
  color: #fff;
  display: inline-block;
}
.lineup__list03--title a::after, .lineup__list03--text a::after {
  content: "";
  background-image: url(/assets/img/bg_lineup-arrow.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  width: 23px;
  height: 8px;
  display: inline-block;
  transition: all 0.2s;
}
.lineup__list03--title {
  margin-bottom: 20px;
  font-size: 20px;
  text-align: left;
}
.lineup__list03--title a {
  padding-bottom: 25px;
  position: relative;
}
.lineup__list03--title a::after {
  position: absolute;
  bottom: 0;
  left: 0;
}
.lineup__list03--title a:hover:after {
  left: 16px;
}
.lineup__list03--text a::after {
  margin-left: 8px;
}
.lineup__list03--text a:hover:after {
  margin-left: 16px;
}
.lineup__list03--indent {
  padding-left: 0.75em;
  font-size: 0.857em;
  text-indent: -0.75em;
  display: inline-block;
}
.lineup__list03 + .list__table {
  margin-top: 30px;
}
.lineup__list04--02 > li {
  width: 48.8888888889%;
}
.lineup__list04--02 > li:first-child, .lineup__list04--02 > li:nth-child(2) {
  margin-top: 0;
}
.lineup__list04--02 > li:nth-child(2n+1) {
  float: left;
}
.lineup__list04--02 > li:nth-child(2n) {
  float: right;
}
.lineup__list04--03 > li {
  width: 32%;
  float: left;
  margin-right: 2%;
}
.lineup__list04--03 > li:nth-child(3n) {
  margin-right: 0;
}
.lineup__list04--04 > li {
  width: 23.5%;
  float: left;
  margin-right: 2%;
}
.lineup__list04--04 > li:nth-child(4n) {
  margin-right: 0;
}
.lineup__list04--title {
  width: 100%;
  display: table;
}
.lineup__list04--title a {
  font-size: 14px;
  padding: 15px 42px 15px 20px;
  width: calc(100% - 64px);
  text-align: left;
  vertical-align: middle;
  text-decoration: none;
  border-bottom: 1px #e1e1e1 solid;
  display: table-cell;
  transition: all 0.2s;
}
.lineup__list04--title a > span {
  width: 100%;
  display: block;
  position: relative;
}
.lineup__list04--title a > span::after {
  content: "";
  background: url(/assets/img/bg_lineup-arrow02.png) 0 0 no-repeat;
  background-size: cover;
  margin-top: -4px;
  width: 23px;
  height: 8px;
  display: block;
  position: absolute;
  top: 50%;
  right: -23px;
  transition: all 0.2s;
}
.section__inner .lineup__list04--title a:hover {
  text-decoration: none;
}
.lineup__list04--title a:hover > span::after {
  right: -31px;
}
.lineup__list04--title a.link--blank02::after {
  display: none;
}
.lineup__list04--title a.link--blank02 > span::after {
  background-image: url(/assets/img/bg_blank01.png);
  margin-top: -7.5px;
  width: 15px;
  height: 15px;
}
.lineup__list04--title a.link--blank02:hover > span::after {
  right: -23px;
}
.lineup__list04--text {
  margin-top: 15px;
  color: #2356a7;
}

@media screen and (max-width: 768px) {
  .lineup__list + .lineup__list {
    margin-top: 20px;
  }
  .lineup__list > li {
    margin-top: 20px;
    width: 100%;
  }
  .lineup__list > li:nth-child(2n+1), .lineup__list > li:nth-child(2n) {
    float: none;
  }
  .lineup__list > li:first-child {
    margin-top: 0;
  }
  .lineup__list > li:nth-child(2) {
    margin-top: 20px;
  }
  .lineup__list--title a {
    padding: 7.5px 21px 7.5px 10px;
    width: calc(100% - 32px);
    font-size: 14px;
  }
  .lineup__list--title a span {
    font-size: 0.857em;
  }
  .lineup__list--title a::after {
    right: 10px;
  }
  .lineup__list--title a:hover::after {
    right: 6px;
  }
  .lineup__list--text {
    margin-top: 7.5px;
  }
  .lineup__list02 + .lineup__list02 {
    margin-top: 15px;
  }
  .lineup__list02 > li {
    margin-top: 20px;
    width: 100%;
  }
  .lineup__list02 > li:nth-child(2n+1), .lineup__list02 > li:nth-child(2n) {
    float: none;
  }
  .lineup__list02 > li:first-child {
    margin-top: 0;
  }
  .lineup__list02 > li:nth-child(2) {
    margin-top: 20px;
  }
  .lineup__list02--title a {
    padding: 7.5px 32px 7.5px 10px;
    width: calc(100% - 32px);
    font-size: 15px;
  }
  .lineup__list02--title a span::after {
    right: -24px;
  }
  .lineup__list02--title a:hover span::after {
    right: -28px;
  }
  .lineup__list02--text {
    margin-top: 7.5px;
  }
  .lineup__list02--03 > li {
    width: 100%;
    margin-top: 20px;
    margin-right: 0;
  }
  .lineup__list02--03 > li:nth-child(3n) {
    margin-top: 22.5px;
  }
  .lineup__list03 + .lineup__list03 {
    margin-top: 15px;
  }
  .lineup__list03 > li {
    width: 100%;
    float: none;
  }
  .lineup__list03 > li + li {
    margin-top: 40px;
    float: none;
  }
  .lineup__list03 + .list__table {
    margin-top: 15px;
  }
  .lineup__list03--title a, .lineup__list03--text a {
    display: block;
  }
  .lineup__list04 > li {
    width: 100%;
    float: none;
  }
  .lineup__list04--title a {
    padding: 7.5px 32px 7.5px 10px;
    width: calc(100% - 32px);
    font-size: 15px;
  }
  .lineup__list04--title a span::after {
    right: -24px;
  }
  .lineup__list04--title a:hover span::after {
    right: -28px;
  }
  .lineup__list04--title a.link--blank02 span::after {
    right: -28px;
  }
  .lineup__list04--title a.link--blank02:hover span::after {
    right: -28px;
  }
}
/*============================
Common - Scroll
============================*/
.sp-scroll {
  margin: 20px 0;
}
.section__base .title__medium + .sp-scroll {
  margin: 40px 0 20px;
}

@media screen and (max-width: 768px) {
  .sp-scroll {
    margin: 20px 0;
    overflow: auto;
    white-space: nowrap;
  }
  .sp-scroll::-webkit-scrollbar {
    height: 5px;
  }
  .sp-scroll::-webkit-scrollbar-track {
    background: #99c1e4;
  }
  .sp-scroll::-webkit-scrollbar-thumb {
    background: #3383c8;
  }
  .sp-scroll table {
    margin-bottom: 5px;
  }
  .section__base .title__medium + .sp-scroll {
    margin: 20px 0 10px;
  }
}
/*============================
Common - Download
============================*/
.download01, .download02 {
  margin: 40px auto;
  width: 62.3%;
}
.download01 + .title__medium {
  margin-top: 140px;
}
.download01__title:before {
  content: "";
  display: inline-block;
  background: url(/assets/img/bg_download01.png) 0 0 no-repeat;
  background-size: cover;
  width: 65px;
  height: 59px;
  line-height: 0;
  vertical-align: middle;
  margin-right: 20px;
}
.download01__name {
  margin-bottom: 25px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.download01__name--figure {
  background: url(/assets/img/bg_download.png) 0 0 no-repeat;
  background-size: cover;
  width: 168px;
  height: 153px;
  line-height: 0;
}
.download01__name--figure img {
  width: 100%;
  height: auto;
}
.download01__name--text {
  padding-top: 20px;
  width: calc(100% - 198px);
}
.download01__name--text li {
  font-size: 1.286em;
  text-align: left;
}
.download01__name--text strong {
  padding-right: 1em;
  font-weight: 700;
}
.download01__text {
  font-size: 1.143em;
  line-height: 1.5;
}
.download02__list {
  margin: 0;
  display: table;
}
.download02__list + .download02__list {
  margin: 1em 0 0;
}
.download02__list > dt, .download02__list > dd {
  vertical-align: middle;
  display: table-cell;
}
.download02__list > dt {
  width: 38px;
  line-height: 0;
}
.download02__list > dt img {
  width: 100%;
  height: auto;
}
.download02__list > dd {
  padding-left: 15px;
}
.download02__list > dd a {
  font-size: 14px;
}
.download02__list > dd a[target="_blank"]:after {
  content: "";
  background: url(/assets/img/bg_blank01.png) 0 0 no-repeat;
  background-size: cover;
  margin-left: 10px;
  width: 15px;
  height: 15px;
  display: inline-block;
}
.download02__list > dd a.link--colorw[target="_blank"]:after {
  background-image: url(/assets/img/bg_blank02.png);
}
.download02__list strong {
  font-weight: 700;
}
.download02__text {
  margin-top: 20px;
}
.section__inner .download02__text {
  font-size: 10px;
}
.section__inner .download02__text a {
  color: #333;
}
.download02__text a strong {
  font-weight: 700;
}
.section__inner .download02__text a:hover {
  color: #333;
}

.section__inner--block p.download01__text {
  text-align: center;
}
.section__inner--block p.download01__text + .boxBtn03 {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .download01, .download02 {
    margin: 20px 0;
    width: 100%;
  }
  .download01 + .title__medium {
    margin-top: 70px;
  }
  .download01__title:before {
    width: 45px;
    height: 41px;
    margin-right: 10px;
  }
  .download01__name {
    margin-bottom: 12.5px;
    display: block;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: inline-axis;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .download01__name--figure {
    margin: 0 auto 15px;
    width: 33.6%;
    height: auto;
  }
  .download01__name--text {
    padding-top: 0;
    width: 100%;
  }
  .download01__name--text li {
    font-size: 1.071em;
    text-align: center;
  }
  .download01__text {
    font-size: 1em;
  }
  .download02__list > dt, .download02__list > dd {
    text-align: left;
  }
  .download02__list > dt {
    width: 25px;
  }
  .download02__list > dt img {
    max-width: 54px;
  }
  .download02__list > dd {
    padding-left: 2.56%;
  }
  .download02__list > dd a:after {
    width: 11px;
    height: 11px;
  }
}
/*============================
Common - Border Box
============================*/
.borderbox01__inner > *:first-child, .borderbox02__inner > *:first-child, .borderbox03__inner > *:first-child {
  margin-top: 0;
}
.borderbox01__inner > *:last-child, .borderbox02__inner > *:last-child, .borderbox03__inner > *:last-child {
  margin-bottom: 0;
}
.borderbox01, .borderbox02 {
  margin: 2em 0;
}
.borderbox02, .borderbox03 {
  border-width: 1px;
  border-style: solid;
  overflow: hidden;
}
.borderbox02__inner, .borderbox03__inner {
  position: relative;
}
.borderbox01 {
  background: url(/assets/img/bg_checkers.png) 0 0 repeat;
  padding: 8px;
}
.borderbox01__inner {
  background: #fff;
  padding: 20px;
}
.borderbox02 {
  padding: 20px;
  border-color: #ccc;
}
.borderbox03 {
  margin-top: 60px;
  padding: 40px;
  border-color: #408bcb;
}
.borderbox03 .title__medium {
  margin-bottom: 20px;
}
.borderbox03 p {
  text-align: left;
}
.borderbox03 p + p, .borderbox03 p + ul {
  margin-top: 1em;
}

@media screen and (max-width: 768px) {
  .borderbox01 {
    padding: 4px;
  }
  .borderbox01__inner {
    padding: 10px;
  }
  .borderbox02 {
    padding: 10px;
  }
  .borderbox03 {
    margin-top: 30px;
    padding: 20px;
  }
  .borderbox03 .title__medium {
    margin-bottom: 10px;
  }
}
/*============================
Common - Pre code
============================*/
.pre {
  background: #ddd;
  margin: 5px 0;
  padding: 10px;
  overflow: auto;
}

@media screen and (max-width: 768px) {
  .pre::-webkit-scrollbar {
    height: 5px;
  }
  .pre::-webkit-scrollbar-track {
    background: #99c1e4;
  }
  .pre::-webkit-scrollbar-thumb {
    background: #3383c8;
  }
}
/*============================
Common - Column
============================*/
.column__inner {
  position: relative;
  text-align: left;
}
.column__inner--lead {
  margin-bottom: 50px;
  text-align: left;
}
.column__inner--block + .column__inner--block {
  margin-top: 80px;
}
.column__inner .title__small {
  padding-top: 76px;
  display: table;
}
.section__base .column__inner .title__small {
  margin-bottom: 30px;
}
.column__inner .title__small > span {
  vertical-align: top;
  display: table-cell;
}
.column__inner .title__xsmall {
  margin: 0 0 10px;
}
.column__inner .title__xsmall + .title__xxsmall, .column__inner .title__xsmall + .title__xxxsmall {
  margin: 0 0 10px;
}
.column__inner .title__xxsmall {
  margin: 20px 0 10px;
}
.column__inner .title__xxsmall + .title__xxxsmall {
  margin: 0 0 10px;
}
.column__inner02 + .column__inner02 {
  margin-top: 20px;
}
.column__inner02--type01 {
  width: 47.1111111111%;
  float: left;
}
.column__inner02--type01 + .column__inner02--type01 {
  float: right;
}
.column__inner02--type02 {
  display: flex;
}
.column__inner02--type02 + .column__inner02--type02 {
  margin-top: 2em;
}
.column__inner02--type02img {
  width: 50px;
  margin-right: 30px;
}
.column__inner02--type02text {
  flex: 1;
}
.column__inner02--type03 + .column__inner02--type03 {
  margin-top: 2em;
}
.column__inner02--type03img {
  width: 160px;
  float: right;
}
.column__inner02--type03text {
  width: 720px;
  float: left;
}
.column__inner03 {
  width: 110%;
  margin-left: -5%;
}
.column__inner03--type01 {
  width: 30%;
  display: inline-block;
  text-align: center;
  vertical-align: top;
  margin: 0 13px;
}
.column__inner03 .title__xsmall {
  margin-top: 20px;
  text-align: center;
}
.column__inner03 p {
  width: 100%;
}
.column__main--fig {
  overflow: hidden;
  display: inline-block;
  position: absolute;
  right: 50px;
  top: 0;
  border-radius: 50%;
}
.column__sub--fig {
  overflow: hidden;
  display: inline-block;
  border-radius: 50%;
}
.column__sub--fig img {
  width: 100%;
  max-width: auto;
  max-width: initial;
}

@media screen and (max-width: 768px) {
  .column__inner--lead {
    margin-bottom: 25px;
  }
  .column__inner--block + .column__inner--block {
    margin-top: 40px;
  }
  .column__inner .title__small {
    padding-top: 0;
  }
  .section__base .column__inner .title__small {
    margin-bottom: 15px;
  }
  .column__inner .title__xxsmall {
    margin: 20px 0 10px;
  }
  .column__inner02 + .column__inner02 {
    margin-top: 10px;
  }
  .column__inner02--type01 {
    width: 100%;
    float: none;
  }
  .column__inner02--type01 + .column__inner02--type01 {
    margin-top: 5%;
    float: none;
  }
  .column__inner02--type02img {
    width: 10%;
    margin-right: 15px;
  }
  .column__inner02--type03img {
    margin-bottom: 10px;
    width: 100%;
    float: none;
  }
  .column__inner02--type03text {
    width: 100%;
    float: none;
  }
  .column__inner03 {
    width: 100%;
    margin-left: 0;
  }
  .column__inner03--type01 {
    width: 100%;
    margin: 0;
  }
  .column__inner03--type01 + .column__inner03--type01 {
    margin-top: 12%;
  }
  .column__inner03 .title__xsmall {
    margin-top: 4.7% 0 0.6%;
  }
  .column__main--fig {
    margin: 0 auto 5.8%;
    width: 98%;
    position: relative;
    right: 0;
    top: 0;
  }
  .column__main--fig img {
    max-width: unset;
    width: 100%;
  }
  .column__sub--fig {
    width: 100%;
  }
  .column__sub--fig img {
    width: 100%;
  }
}
/*============================
Common - Index List
============================*/
.indexlist ul {
  margin-top: 40px;
  white-space: normal;
}
.indexlist ul + .title__medium {
  margin-top: 80px;
}
.indexlist ul > li {
  width: 45%;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  float: left;
  border-bottom: rgba(255, 255, 255, 0.3) 1px solid;
  position: relative;
}
.indexlist ul > li:nth-child(2n) {
  float: right;
}
.indexlist ul > li a {
  padding: 1.33em 1em 1.33em 0;
  white-space: initial;
  display: block;
}
.indexlist ul > li a:after {
  content: "";
  margin: -0.3em 0 0px 1.4em;
  width: 0.5em;
  height: 0.5em;
  vertical-align: top;
  border: #2356a7 1px solid;
  border-left: none;
  border-top: none;
  display: inline-block;
  transform: rotate(-45deg);
  position: absolute;
  right: 0.3em;
  top: 50%;
}
.indexlist ul > li:hover a:after {
  -webkit-animation-name: link_arrow_hover;
  -webkit-animation-duration: 0.4s;
  -webkit-animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
  animation-name: link_arrow_hover;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0, 0.95, 0.27, 0.96);
}
.indexlist--service ul {
  margin-top: 40px;
  white-space: normal;
}
.indexlist--service ul + .title__medium {
  margin-top: 80px;
}

@media screen and (max-width: 768px) {
  .indexlist * {
    position: relative;
  }
  .indexlist ul {
    margin-top: 20px;
  }
  .indexlist ul + .title__medium {
    margin-top: 40px;
  }
  .indexlist ul > li {
    border-bottom-color: rgba(255, 255, 255, 0.3);
    width: 100%;
    height: 3.4em;
    float: none;
  }
  .indexlist ul > li:nth-child(2n) {
    float: none;
  }
  .indexlist ul > li a {
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8em;
    line-height: 1.3;
    left: 0.5em;
  }
  .indexlist ul > li a:after {
    right: 0.9em;
    top: 50%;
    margin-top: -0.2em;
  }
  .indexlist ul > li a br.forsp {
    display: none;
  }
  .indexlist ul > li:hover a:after {
    right: 0.8em;
  }
  .indexlist--service ul {
    margin-top: 20px;
  }
  .indexlist--service ul + .title__medium {
    margin-top: 40px;
  }
}
/*============================
Common - Carousel
============================*/
.mainvisual__block .carousel {
  margin-top: 50px;
}
.carousel--hidden {
  overflow: hidden;
}
.carousel > p {
  margin-bottom: 50px;
}
.carousel nav {
  margin: 40px 0 0;
  font-size: 0;
}
.technology .mainvisual .carousel nav {
  margin: 52px 0 0;
}
.carousel nav .prev, .carousel nav .next {
  margin: 0 80px 0 0;
  width: 60px;
  height: 0;
  border-top: #2356a7 1px solid;
  display: inline-block;
  transition: all 0.2s;
  position: relative;
  left: 0;
  cursor: pointer;
}
.technology .mainvisual .carousel nav .prev, .technology .mainvisual .carousel nav .next {
  border-top-color: #fff;
}
.carousel nav .prev:hover, .carousel nav .next:hover {
  opacity: 0.6;
}
.carousel nav .prev:before, .carousel nav .next:before {
  content: "";
  margin: -20px 0 0 -30%;
  width: 160%;
  height: 40px;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  opacity: 0.2;
}
.carousel nav .prev:after, .carousel nav .next:after {
  border: #2356a7 1px solid;
  content: "";
  width: 21px;
  height: 21px;
  display: block;
  transform-origin: -1px 0;
  transform: rotate(-45deg);
  border-right: 0;
  border-bottom: 0;
}
.technology .mainvisual .carousel nav .prev:after, .technology .mainvisual .carousel nav .next:after {
  border-color: #fff;
}
.carousel nav .prev:hover {
  left: -8px;
}
.carousel nav .next {
  transform: scaleX(-1);
  transform-origin: 100% 0;
}
.carousel nav .next:hover {
  left: 8px;
}
.carousel nav .position {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.carousel nav .position span {
  display: inline-block;
  width: 51px;
  height: 2px;
  margin: 0 2px;
  background: #2356a7;
  opacity: 0.5;
  position: relative;
}
.carousel nav .position span.current {
  opacity: 1;
  height: 3px;
}
.technology .mainvisual .carousel nav .position span {
  background: #fff;
}
.carousel nav .position span:before {
  content: "";
  height: 40px;
  width: 100%;
  margin-top: -20px;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  opacity: 0.2;
}
.carousel nav .position span:hover {
  opacity: 1;
}
.carousel.noActive nav {
  margin: 0;
}
.carousel.noActive nav .next, .carousel.noActive nav .prev, .carousel.noActive nav .position {
  top: -99999px;
  position: absolute;
}
.carousel .counter {
  color: #2356a7;
  font-size: 1.3em;
  position: relative;
  top: calc(-102px - 0.75em);
  display: inline-block;
}
.carousel .counter__current {
  padding-right: 1em;
}
.carousel .counter__total {
  padding-left: 1em;
}
.carousel--mv {
  margin-top: 50px;
}
.carousel--mv a {
  color: #fff;
}
.carousel--mv--hidden {
  overflow: hidden;
}
.carousel--mv .counter {
  font-size: 1.3em;
  color: #0072bd;
  position: relative;
  top: calc(-102px - 0.75em);
  display: inline-block;
}
.carousel--mv .counter__current {
  padding-right: 1em;
}
.carousel--mv .counter__total {
  padding-left: 1em;
}
.carousel--mv nav {
  margin: 102px 0;
  font-size: 0;
}
.mainvisual .carousel--mv nav {
  position: relative;
  margin: 52px 0 0;
}
.carousel--mv nav .slick-dots button {
  display: none;
}
.carousel--mv nav .slick-dots li.slick-active {
  opacity: 1;
}
.carousel--mv nav .slick-dots .counter {
  margin: -1em 0 0 -1.5em;
  font-size: 14px;
  color: #fff;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
}
.carousel--mv nav .prev, .carousel--mv nav .next {
  margin: 0 80px 0 0;
  width: 60px;
  height: 0;
  border-top: #fff 1px solid;
  display: inline-block;
  transition: all 0.2s;
  position: relative;
  left: 0;
  cursor: pointer;
}
.carousel--mv nav .prev:hover, .carousel--mv nav .next:hover {
  opacity: 0.6;
}
.carousel--mv nav .prev:before, .carousel--mv nav .next:before {
  content: "";
  margin: -20px 0 0 -30%;
  width: 160%;
  height: 40px;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  opacity: 0.2;
}
.carousel--mv nav .prev:after, .carousel--mv nav .next:after {
  border: #fff 1px solid;
  content: "";
  width: 21px;
  height: 21px;
  display: block;
  transform-origin: -1px 0;
  transform: rotate(-45deg);
  border-right: 0;
  border-bottom: 0;
}
.carousel--mv nav .prev:hover {
  left: -8px;
}
.carousel--mv nav .next {
  transform: scaleX(-1);
  transform-origin: 100% 0;
}
.carousel--mv nav .next:hover {
  left: 8px;
}
.carousel--mv nav .position {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.carousel--mv nav .position li {
  display: inline-block;
  width: 51px;
  height: 2px;
  margin: 0 2px;
  background: #fff;
  opacity: 0.5;
  position: relative;
}
.carousel--mv nav .position li.current {
  opacity: 1;
  height: 3px;
}
.carousel--mv nav .position li:before {
  content: "";
  height: 40px;
  width: 100%;
  margin-top: -20px;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  opacity: 0.2;
}
.carousel--mv nav .position li:hover {
  opacity: 1;
}
.carousel--mv nav.noActive nav {
  margin: 0;
}
.carousel--mv nav.noActive nav .next, .carousel--mv nav.noActive nav .prev, .carousel--mv nav.noActive nav .position {
  top: -99999px;
  position: absolute;
}
.carousel--mv .slick-slide {
  opacity: 0.6;
  transition: opacity 0.5s ease 0s;
  transition-delay: 0.1s;
}
.carousel--mv .slick-slide.slide-active {
  opacity: 1;
}
.carousel--overlay {
  background: #333;
  width: 100%;
  height: 100%;
  position: absolute;
  opacity: 0.7;
  transition: opacity 0.5s ease 0s;
}
.carousel--overlay.blind {
  opacity: 1;
}
.bx-viewport {
  overflow: visible !important;
}
.cases {
  margin: 0;
  width: 100%;
  white-space: nowrap;
}
.cases li {
  position: relative;
  display: inline-block;
  vertical-align: top;
  color: #fff;
  border-radius: 50%;
  white-space: normal;
  min-height: 235px;
}
.cases li * {
  position: relative;
}
.cases li:before {
  content: "";
  background: url(/assets/img/bg_recommend01.png) no-repeat;
  background-size: 100% 100% !important;
  margin-left: 20px;
  width: 258px;
  height: 235px;
  position: absolute;
  display: block;
}
.cases li:nth-child(3n-1):before {
  background: url(/assets/img/bg_recommend02.png) no-repeat;
}
.cases li:nth-child(3n):before {
  background: url(/assets/img/bg_recommend03.png) no-repeat;
}
.cases li img {
  display: none;
}
.cases p {
  margin: 8px auto 0;
  width: 65%;
}
.cases__title {
  padding-top: 54px;
  font-size: 24px;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 769px) {
  .carousel li {
    width: 310px !important;
  }
  .carousel .scroll {
    padding-left: 3%;
    margin-left: -3%;
    width: 112%;
    overflow: hidden;
  }
  .carousel.noActive .scroll {
    padding-left: 0;
    margin-left: -6%;
  }
  .carousel--mv .scroll {
    padding-left: 6%;
    margin-left: -6%;
    width: 112%;
    overflow: hidden;
  }
  .carousel--mv.noActive .scroll {
    padding-left: 0;
    margin-left: -6%;
  }
}
@media screen and (max-width: 768px) {
  .mainvisual__block .carousel {
    margin-top: 25px;
  }
  .carousel--hidden {
    overflow: visible;
  }
  .carousel nav {
    font-size: 0;
    width: 100%;
  }
  .technology .mainvisual .carousel nav {
    margin: 26px 0 0;
  }
  .carousel nav .prev, .carousel nav .next {
    width: 13%;
    margin: 0 92% -0.7% 0;
  }
  .carousel nav .prev:after, .carousel nav .next:after {
    width: 3.5vw;
    height: 3.5vw;
    transform-origin: -1px 0;
  }
  .carousel nav .next {
    transform-origin: 117% 0;
    margin: -0.2% 0 0 51.7%;
  }
  .carousel nav .position {
    width: 100%;
  }
  .carousel nav .position span {
    width: 11.3%;
    height: 1.5px;
    margin: 0 2px;
  }
  .carousel .counter {
    top: calc(-51px - 0.75em);
  }
  .mainvisual__block .carousel--mv {
    margin-top: 25px;
  }
  .carousel--mv--hidden {
    overflow: visible;
  }
  .carousel--mv nav {
    margin: 26px auto !important;
    width: 76.267%;
    position: relative;
  }
  .carousel--mv nav .prev, .carousel--mv nav .next {
    margin: 0 92% -0.7% 0;
    width: 13%;
  }
  .carousel--mv nav .prev:after, .carousel--mv nav .next:after {
    width: 3.5vw;
    height: 3.5vw;
    transform-origin: -1px 0;
  }
  .carousel--mv nav .next {
    transform-origin: 117% 0;
    margin: -0.2% 0 0 51.7%;
  }
  .carousel--mv nav .position {
    width: 100%;
  }
  .carousel--mv nav .position li {
    margin: 0 2px;
    width: 11.3%;
    height: 1.5px;
  }
  .carousel--mv nav .counter {
    top: calc(-51px - 0.75em);
  }

  .cases {
    margin: 0;
    width: 100%;
    white-space: normal;
  }
  .cases li {
    border-radius: 0;
    white-space: normal;
    min-height: auto;
    margin: 0;
    width: 100%;
  }
  .cases li + li {
    margin-left: 0;
  }
  .cases li:nth-child(2) {
    margin-top: 0%;
  }
  .cases li * {
    position: static;
  }
  .cases li *.cases__bg {
    position: relative;
  }
  .cases li *.cases__data {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 12.2727272727%;
    left: 0;
  }
  .cases li:before {
    display: none;
  }
  .cases li img {
    display: inline;
  }
  .cases p {
    margin: 8px auto 0;
    width: 85%;
  }
  .cases__bg {
    margin: 0 auto;
    width: 85%;
    overflow: hidden;
  }
  .cases__bg > img {
    width: 100%;
  }
  .cases__title {
    padding-top: 0;
    font-size: 24px;
    letter-spacing: 0.1em;
  }
}
/*============================
Common - Mainvisual
============================*/
.mainvisual {
  color: #fff;
  position: relative;
}
.mainvisual:after {
  content: "";
  position: absolute;
  width: 100%;
  min-width: 1920px;
  height: 60px;
  display: block;
  transform: translateX(-50%);
  left: 50%;
  background: url(/assets/img/bg_bottom03.png) no-repeat center;
  background-size: 100% 60px;
  bottom: -1px;
  pointer-events: none;
}
.mainvisual__mask {
  min-width: 100%;
  width: 100%;
  display: block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
}
.mainvisual--mv .mainvisual__mask {
  transform: none;
  left: 0;
}
.mainvisual__mask--table {
  width: 100%;
  display: table;
  box-sizing: border-box;
}
.mainvisual--mv .mainvisual__mask--table {
  height: auto;
  display: block;
}
.mainvisual__mask--table .title__main + p strong {
  font-size: 32px;
  display: block;
}
.mainvisual__mask--table .title__main + p strong + span {
  margin-top: 20px;
}
.mainvisual__mask--table .title__main + p span {
  font-size: 16px;
  display: block;
}
.mainvisual__block {
  vertical-align: middle;
  display: table-cell;
}
.mainvisual--mv .mainvisual__block {
  margin: 0 auto;
  position: relative;
  display: block;
}
.mainvisual--mv .section__inner {
  height: 900px;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1920px) {
  .mainvisual__mask {
    background-size: 100vw;
    background-position: 50%;
  }
}
@media screen and (max-width: 768px) {
  .mainvisual:after {
    background-image: url(/assets/img/bg_bottom03_sp.png);
    background-position: 50% 100%;
    background-size: 100% 23px;
    min-width: 0;
    width: 100%;
    height: 23px;
    transform: none;
    left: 0;
    bottom: 0;
  }
  .mainvisual__mask {
    background-position: 38.7% -0.2%;
    background-size: cover;
    min-width: 100%;
    margin-left: 0;
    transform: translateX(0);
    width: 100%;
    left: 0;
  }
  .mainvisual__mask--table .title__main + p strong {
    font-size: 28px;
  }
  .mainvisual__mask--table .title__main + p strong + span {
    margin-top: 10px;
  }
  .mainvisual__mask--table .title__main + p span {
    font-size: 12px;
  }
  .mainvisual__mask--table .title__main + p span br {
    display: none;
  }
  .mainvisual .section__inner {
    height: auto;
  }
  .mainvisual__block {
    padding-top: 10vw;
  }
  .mainvisual__block > .title__main, .mainvisual__block > p {
    text-align: left;
  }
  .mainvisual--mv .section__inner {
    width: 100%;
    height: 213vw;
  }
}
/*============================
Common - Mainvisual Carousel
============================*/
.visual__list {
  margin-left: -5%;
  width: 110%;
}
.mainvisual--mv .visual__list {
  margin-left: -10%;
}
.visual__list--block {
  margin: 0 13px;
  width: 30%;
  vertical-align: top;
  display: inline-block;
  position: relative;
  outline: none;
}
#visual .visual__list--block:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
}
#visual .visual__list--block.slide-active:before {
  display: none;
}
.mainvisual--mv .visual__list--block {
  margin: 0;
  width: auto;
  display: block;
}

@media screen and (max-width: 768px) {
  .visual__list {
    margin-left: 0;
    width: 100%;
  }
  .mainvisual--mv .visual__list {
    margin-left: 0;
  }
  .visual__list--block {
    margin: 0;
    width: 100%;
  }
}
/*============================
Common - Item List(Lineup)
============================*/
.feature__title {
  margin-bottom: 20px;
  font-size: 24px;
  letter-spacing: 0.055em;
}
.feature__list--link > dd > .feature__title {
  margin-bottom: 0;
  min-height: auto;
  min-height: initial;
  border-bottom: 1px #2356a7 solid;
  position: relative;
  cursor: pointer;
}
.section__function .feature__title {
  margin: 40px 0 20px;
  font-size: 24px;
  display: flex;
  align-items: center;
}
.section__function .feature__title:before {
  content: "";
  margin-right: 25px;
  width: 2em;
  border-top: 1px solid #fff;
  flex-grow: 1;
}
.feature__list--link > dd > .feature__title:after {
  content: "";
  border: #2356a7 1px solid;
  width: 0.6em;
  height: 0.6em;
  display: inline-block;
  vertical-align: top;
  position: absolute;
  right: 0;
  top: 50%;
  margin: -0.3em 0.4em 0 0;
  transform: rotate(45deg);
  border-left: none;
  border-top: none;
  transition: all 0.2s;
}
.section__function .feature__title:after {
  content: "";
  margin-left: 25px;
  width: 2em;
  border-top: 1px solid #fff;
  flex-grow: 1;
}
.feature__list--link > dd > .feature__title.close:after {
  transform: rotate(225deg);
}
.feature__list > dt, .feature__list02 > dt, .feature__list03 > dt, .feature__list04 > dt {
  background-repeat: no-repeat;
  background-size: contain;
  margin: -25px 24px 0 -12px;
  padding: 29px 0;
  width: 90px;
  height: 90px;
  display: inline-block;
  vertical-align: top;
  font-size: 1.3em;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.feature__list > dd, .feature__list02 > dd, .feature__list03 > dd, .feature__list04 > dd {
  margin-bottom: 59px;
  width: 780px;
  display: inline-block;
  vertical-align: top;
  text-align: left;
}
.feature__list--link .feature__list > dd, .feature__list--link .feature__list02 > dd, .feature__list--link .feature__list03 > dd, .feature__list--link .feature__list04 > dd {
  margin-bottom: 90px;
}
.feature__list > dd:last-child, .feature__list02 > dd:last-child, .feature__list03 > dd:last-child, .feature__list04 > dd:last-child {
  margin-bottom: 0;
}
.feature__list > dd > *:last-child, .feature__list02 > dd > *:last-child, .feature__list03 > dd > *:last-child, .feature__list04 > dd > *:last-child {
  margin-bottom: 0 !important;
}
.feature__list p + p.nomarge, .feature__list02 p + p.nomarge, .feature__list03 p + p.nomarge, .feature__list04 p + p.nomarge {
  margin-top: 0;
}
.feature__list p + .list__disc, .feature__list p + .list__decimal, .feature__list p + .list__table, .feature__list02 p + .list__disc, .feature__list02 p + .list__decimal, .feature__list02 p + .list__table, .feature__list03 p + .list__disc, .feature__list03 p + .list__decimal, .feature__list03 p + .list__table, .feature__list04 p + .list__disc, .feature__list04 p + .list__decimal, .feature__list04 p + .list__table {
  margin-top: 20px;
}
.feature__list > dt {
  background-image: url(/assets/img/bg_dt.png);
  color: #2356a7;
}
.feature__list--2rows > dt {
  padding: 18px 0;
  font-size: 1.2em;
  letter-spacing: 0;
}
.feature__list--fade {
  padding-top: 20px;
  display: none;
}
.feature__list--table {
  display: table;
}
.feature__list--table > dt, .feature__list--table > dd {
  margin: 0;
  vertical-align: top;
  display: table-cell;
}
.feature__list--table > dd {
  padding-left: 24px;
}
.feature__list--table .list__disc > li + li, .feature__list--table .list__decimal > li + li, .feature__list--table .list__table > li + li {
  margin-top: 0;
}
.feature__list02 > dt {
  background-image: url(/assets/img/bg_dt02.png);
  color: #fff;
}
.feature__list02 .feature__title {
  margin-bottom: 10px;
}
.feature__list02--arrow > dt, .feature__list02--arrow > dd {
  position: relative;
}
.feature__list02--arrow > dt {
  z-index: 2;
}
.feature__list02--arrow > dd:before, .feature__list02--arrow > dd:after {
  content: " ";
  position: absolute;
  left: -10%;
  display: block;
  z-index: 1;
}
.feature__list02--arrow > dd:before {
  background: #195fa9;
  margin-left: 2px;
  width: 10px;
  height: calc(100% + 20px);
  top: 0;
}
.feature__list02--arrow > dd:after {
  margin-left: -7px;
  width: 0;
  height: 0;
  top: calc(100% + 17px);
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 14px solid #195fa9;
}
.feature__list02--arrow > dd:last-of-type:before, .feature__list02--arrow > dd:last-of-type:after {
  display: none;
}
.feature__list03 > dt {
  background-image: url(/assets/img/bg_dt03.png);
  color: #fff;
}
.feature__list03 .feature__title {
  margin-bottom: 10px;
}
.feature__list04 > dt {
  background-image: url(/assets/img/bg_dt04.png);
  color: #2356a7;
}
.feature__list04 .feature__title {
  margin-bottom: 10px;
}
.feature__solution {
  padding: 12px 12px 0 12px;
  border: 3px #1f72b2 solid;
}
* + .feature__solution {
  margin-top: 2em;
}
.feature__solution ul {
  overflow: hidden;
}
.feature__solution ul > li {
  background: url(/assets/img/ico_solution_list_plus.png) 0 50% no-repeat;
  margin: 0 0 12px 8px;
  padding-left: 20px;
  float: left;
}
.feature__solution ul > li:first-child {
  background: none;
  padding-left: 0;
}
.feature__solution dl {
  overflow: hidden;
}
.feature__solution dt {
  margin: 0 6px 12px 0;
  float: left;
}
.feature__solution dt > span {
  background: #1f72b2;
  padding: 3px 7px;
  font-size: 0.857em;
  color: #fff;
  font-weight: 700;
  display: block;
}
.feature__solution dd {
  overflow: hidden;
}
.feature__solution dd a {
  background: #f1f1f1;
  padding: 3px 7px;
  font-size: 0.857em;
  color: #333;
  font-weight: 700;
  white-space: nowrap;
  display: block;
}
.feature__solution dd a:hover {
  background: #1f72b2;
  color: #fff;
  text-decoration: none;
}
.feature__solution dd span {
  background: #f1f1f1;
  padding: 3px 7px;
  font-size: 0.857em;
  color: #333;
  font-weight: 700;
  white-space: nowrap;
  display: block;
}

@media screen and (max-width: 768px) {
  .feature__title {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: left;
  }
  .feature__list--link .feature__title {
    margin: 3.7% 0 10%;
    padding-right: 0.8em;
    width: auto;
    float: none;
  }
  .section__function .feature__title {
    font-size: 16px;
  }
  .feature__list, .feature__list02, .feature__list03, .feature__list04 {
    display: block;
    min-height: 1%;
    position: relative;
  }
  .feature__list:after, .feature__list02:after, .feature__list03:after, .feature__list04:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
  }
  .feature__list > dt, .feature__list02 > dt, .feature__list03 > dt, .feature__list04 > dt {
    margin: -1% 0 0 -4.8%;
    padding: 1.65em 0;
    width: 5em;
    height: 5em;
    font-size: 15px;
    letter-spacing: 0.05em;
    float: left;
  }
  .feature__list--link .feature__list > dt, .feature__list--link .feature__list02 > dt, .feature__list--link .feature__list03 > dt, .feature__list--link .feature__list04 > dt {
    clear: both;
  }
  .feature__list > dd, .feature__list02 > dd, .feature__list03 > dd, .feature__list04 > dd {
    margin-bottom: 40px;
    width: 100%;
    display: block;
  }
  .feature__list > dd *, .feature__list02 > dd *, .feature__list03 > dd *, .feature__list04 > dd * {
    position: relative;
    z-index: 1;
  }
  .feature__list > dd:nth-of-type(2), .feature__list02 > dd:nth-of-type(2), .feature__list03 > dd:nth-of-type(2), .feature__list04 > dd:nth-of-type(2) {
    position: relative;
  }
  .feature__list > dd:last-child, .feature__list02 > dd:last-child, .feature__list03 > dd:last-child, .feature__list04 > dd:last-child {
    margin-bottom: 0;
  }
  .feature__list > dd > .feature__title, .feature__list02 > dd > .feature__title, .feature__list03 > dd > .feature__title, .feature__list04 > dd > .feature__title {
    width: calc(100% - 5.1em);
    min-height: 4.2em;
    float: right;
  }
  .feature__list .feature__title + *, .feature__list02 .feature__title + *, .feature__list03 .feature__title + *, .feature__list04 .feature__title + * {
    clear: both;
  }
  .feature__list p + *, .feature__list02 p + *, .feature__list03 p + *, .feature__list04 p + * {
    margin-top: 10px;
  }
  .feature__list--2rows > dt {
    padding: 1.05em 0;
    font-size: 1.0em;
  }
  .feature__list--fade {
    padding-top: 0;
    clear: both;
  }
  .feature__list--table {
    display: block;
  }
  .feature__list--table > dt {
    display: inline-block;
  }
  .feature__list--table > dd {
    display: block;
  }
  .feature__list--table > dd {
    padding-left: 0;
  }
  .feature__list02--arrow > dd > .feature__title {
    margin: 3.7% 0 0;
    min-height: 3.4em;
  }
  .feature__list02--arrow > dd p {
    margin-left: 28.9%;
  }
  .feature__list02--arrow > dd:before, .feature__list02--arrow > dd:after {
    left: 6.95%;
  }
  .feature__list02--arrow > dd:before {
    margin-left: 1px;
    width: 8px;
    height: calc(100% + 12px);
  }
  .feature__list02--arrow > dd:after {
    margin-left: -5px;
    top: calc(100% + 9px);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #195fa9;
  }
  .feature__solution ul {
    overflow: inherit;
  }
  .feature__solution ul > li {
    float: none;
  }
  .feature__solution dt {
    float: none;
  }
  .feature__solution dd {
    overflow: inherit;
  }
}
/*============================
Common - Casestudy
============================*/
.casestudy__list {
  width: 110%;
  margin-left: -5%;
}
.casestudy__list--block {
  width: 30%;
  display: inline-block;
  vertical-align: top;
  margin: 0 13px;
}
.casestudy__list--link {
  color: #fff;
  display: block;
  transition: all 0.2s;
}
.section__inner .casestudy__list--link {
  text-decoration: none;
}
.casestudy__list--link .casestudy__list--title, .casestudy__list--link .casestudy__partner--title, .casestudy__list--link .casestudy__list--text, .casestudy__list--link .casestudy__partner--text {
  color: #fff;
}
.casestudy__list--link:hover {
  color: #fff;
}
.section__inner .casestudy__list--link:hover {
  text-decoration: none;
  opacity: 0.6;
}
.casestudy__list--link:hover .casestudy__list--title, .casestudy__list--link:hover .casestudy__partner--title, .casestudy__list--link:hover .casestudy__list--text, .casestudy__list--link:hover .casestudy__partner--text {
  color: #fff;
}
.casestudy__list--title, .casestudy__partner--title {
  width: 83.7%;
  margin: 20px auto 4px;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-align: left;
}
.casestudy__list--text, .casestudy__partner--text {
  width: 83.7%;
  margin: 0 auto;
  text-align: left;
  letter-spacing: 0.04em;
}
.casestudy__list--fig, .casestudy__partner--fig {
  overflow: hidden;
  border-radius: 50%;
  display: inline-block;
}
.casestudy__list--fig img, .casestudy__partner--fig img {
  margin: 0;
}
.casestudy__partner {
  margin-top: 30px;
  text-align: center;
}
.casestudy__partner > .title__medium, .casestudy__partner > .title__small {
  text-align: center;
}
.casestudy__partner--list {
  margin: 0 auto;
  width: 310px;
}
.casestudy__partner--block {
  width: 100%;
  display: inline-block;
  vertical-align: top;
}
.casestudy__partner--link {
  color: #333 !important;
  display: block;
  transition: all 0.2s;
}
.casestudy__partner--link .casestudy__list--title, .casestudy__partner--link .casestudy__partner--title, .casestudy__partner--link .casestudy__list--text, .casestudy__partner--link .casestudy__partner--text {
  color: #333;
}
.casestudy__partner--link:hover {
  text-decoration: underline;
}
.casestudy__partner--link:hover .casestudy__list--title, .casestudy__partner--link:hover .casestudy__partner--title, .casestudy__partner--link:hover .casestudy__list--text, .casestudy__partner--link:hover .casestudy__partner--text {
  color: #333;
}

@media screen and (max-width: 768px) {
  .casestudy__list {
    width: 100%;
    margin-left: 0;
    white-space: nowrap;
  }
  .casestudy__list--block {
    width: 100%;
    margin: 0;
    white-space: normal;
  }
  .casestudy__list--title, .casestudy__partner--title {
    width: 83.7%;
    margin: 10px auto 4px;
    font-size: 14px;
    letter-spacing: 0.04em;
  }
  .casestudy__list--text, .casestudy__partner--text {
    width: 83.7%;
    letter-spacing: 0.04em;
  }
  .casestudy__list--fig, .casestudy__partner--fig {
    width: 85%;
  }
  .casestudy__list--fig img, .casestudy__partner--fig img {
    width: 100%;
  }
  .casestudy__partner {
    margin-top: 20px;
  }
  .casestudy__partner--list {
    margin: 0;
    width: 100%;
    white-space: nowrap;
  }
  .casestudy__partner--block {
    white-space: normal;
  }
}
/*============================
Common - Topics
============================*/
.topics__list {
  margin-left: -5%;
  width: 110%;
}
.topics__list--block {
  width: 30%;
  display: inline-block;
  vertical-align: top;
  margin: 0 13px;
}
.topics__list--link {
  display: block;
  transition: all 0.2s;
}
.section__inner .topics__list--link {
  color: #333;
  text-decoration: none;
}
.section__inner .topics__list--link:hover {
  color: #333;
  text-decoration: none;
  opacity: 0.6;
}
.topics__list--link:hover .topics__list--title {
  text-decoration: none;
}
.topics__list--title {
  margin: 7px auto 4px;
  width: 83.7%;
  font-size: 16px;
  letter-spacing: 0.04em;
  white-space: pre-line;
  text-align: left;
  line-height: 1.75;
}
.topics__list--fig {
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 50%;
  display: inline-block;
}
.topics__list--fig img {
  margin: 0;
}
.topics__list--data {
  margin: 0 auto;
  width: 83.7%;
}
.topics__list--date {
  margin-right: 1em;
  display: inline-block;
  letter-spacing: 0.09em;
  text-align: left;
  float: left;
}
.topics__list--category {
  padding: 0.1em 0.2em;
  display: inline-block;
  text-align: center;
  background: #2356a7;
  color: #fff;
  line-height: 1.75;
  font-size: 0.9em;
  letter-spacing: 0.04em;
  float: right;
}
.topics__list--category01 {
  background-color: #43aeb4;
}
.topics__list--category02 {
  background-color: #2356a7;
}
.topics__list--category03 {
  background-color: #cbc385;
}
.topics__list--category04 {
  background-color: #ecd22f;
}
.topics__list--category05 {
  background-color: #fe0000;
}
.topics__list--icon {
  font-size: 0.83em;
  padding: 0.05em 0.6em;
  color: #ff0000;
  line-height: 1.2;
  border: 1px solid #ff0000;
  font-weight: 700;
  border-radius: 2px;
  vertical-align: middle;
}
.topics__list--hide {
  margin-top: 20px;
  display: none;
}
.topics__list--more {
  width: 62.3%;
  margin: 40px auto 0;
  font-size: 1.1em;
  letter-spacing: 0.1em;
  color: #2356a7;
  font-weight: 700;
  line-height: 1;
  transition: background .2s;
  background: #fff;
  border-bottom: #2356a7 1px solid;
  position: relative;
}
.topics__list--more.open {
  height: auto;
  box-sizing: content-box;
}
.topics__list--more.open:after {
  transform: rotate(225deg);
  margin-top: 1.9em;
}
.topics__list--more:after {
  content: "";
  margin: 1.3em 0.4em 0 0;
  width: 0.6em;
  height: 0.6em;
  display: inline-block;
  vertical-align: top;
  transform: rotate(45deg);
  border: #2356a7 1px solid;
  border-left: none;
  border-top: none;
  position: absolute;
  right: 0;
  top: -0.3em;
  transition: all 0.2s;
}
.topics__list--more:hover:after {
  margin-top: 1.45em;
}
.topics__list--more > a {
  color: #2356a7;
  display: block;
  width: 100%;
  padding: 22px 0 22px;
  text-decoration: none;
}
.topics__list--more > a:hover {
  color: #2356a7;
}
.topics__list02 li {
  padding-bottom: 15px;
  border-bottom: 1px #2356a7 solid;
}
.topics__list02 li + li {
  margin-top: 20px;
}
.topics__items {
  margin-top: 45px;
}
.topics__items > li {
  width: 47.7777777778%;
  border: 1px solid #2256a9;
  padding: 40px;
}
.topics__item--ico {
  margin-bottom: 25px;
}
.topics__item--sub {
  margin-bottom: 10px;
  color: #6bc5e8;
  font-weight: 700;
}
.topics__item--title {
  margin-bottom: 15px;
}
.section__topics--news .topics__item .boxBtn01 {
  margin-top: 40px;
}
.section__topics--news .topics__item .boxBtn01 a {
  width: 80%;
  padding: 0.35em 0;
}

@media screen and (max-width: 768px) {
  .topics__list {
    width: 100%;
    margin-left: 0;
    white-space: nowrap;
  }
  .topics__list--block {
    width: 100%;
    margin: 0;
    white-space: normal;
  }
  .topics__list--title {
    width: 87.7%;
    margin: 2% auto 0;
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1.75;
  }
  .topics__list--fig {
    margin-bottom: 10px;
    width: 85%;
    border-radius: 50%;
  }
  .topics__list--fig img {
    margin: 0;
    width: 100%;
  }
  .topics__list--date {
    margin-left: -2%;
  }
  .topics__list--icon {
    padding: 0.1em 0.5em;
    letter-spacing: 0em;
  }
  .topics__items {
    margin-top: 22.5px;
  }
  .topics__items > li {
    width: 100%;
    padding: 20px;
  }
  .topics__item--ico {
    width: 30%;
    margin-right: auto;
    margin-bottom: 12.5px;
    margin-left: auto;
  }
  .topics__item--sub {
    margin-bottom: 5px;
  }
  .topics__item--title {
    margin-bottom: 7.5px;
  }
  .section__topics--news .topics__item .boxBtn01 {
    margin-top: 20px;
  }
  .section__topics--news .topics__item .boxBtn01 a {
    padding: 7.5px 21px 7.5px 10px;
  }
}
/*============================
Common - Solution
============================*/
.solution__list {
  width: 110%;
  margin-left: -5%;
}
.solution__list--block {
  position: relative;
  width: 30%;
  display: inline-block;
  text-align: center;
  vertical-align: top;
  margin: 0 13px;
}
.solution__list--link {
  display: block;
  transition: all 0.2s;
}
.solution__list--link:hover {
  opacity: 0.6;
}
.solution__list--date {
  margin: 0 auto 0 -125px;
  letter-spacing: 0.04em;
  position: absolute;
  width: 250px;
  text-align: center;
  color: #fff;
  font-weight: 700;
  top: 50%;
  left: 50%;
  font-size: 1.3em;
  transform: translateY(-50%);
}
.section__inner .solution__list--date {
  font-size: 19px;
}
.solution__list--fig {
  overflow: hidden;
  border-radius: 50%;
  display: inline-block;
}
.solution__date > span + span {
  padding-left: 1em;
}

@media screen and (max-width: 768px) {
  .solution__list {
    width: 100%;
    margin-left: 0%;
  }
  .solution__list--block {
    width: 100%;
    margin: 0;
  }
  .solution__list--date {
    margin: 0 auto;
    width: 100%;
    top: 48.3%;
    left: 0;
  }
  .section__inner .solution__list--date {
    font-size: 16px;
  }
  .solution__list--fig {
    border-radius: 50%;
    width: 98%;
  }
  .solution__list--fig img {
    width: 100%;
  }
}
/*============================
Common - Bluebox
============================*/
.bluebox {
  margin-top: 90px;
  padding: 55px 3.3407572383%;
  text-align: left;
  border-top: 1px #2356a7 solid;
  border-bottom: 1px #2356a7 solid;
}
.bluebox__inner--left {
  width: 64.4391408115%;
  float: left;
}
.bluebox__inner--right {
  width: 27.8042959427%;
  float: right;
}
.bluebox__name dt {
  margin-top: 15px;
}
.bluebox__name dt > strong {
  font-size: 20px;
  font-weight: 700;
}
.bluebox__fig {
  overflow: hidden;
  display: inline-block;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .bluebox {
    padding: 37.5px 0;
  }
  .bluebox__inner--left {
    width: 100%;
    float: none;
  }
  .bluebox__inner--right {
    width: 100%;
    float: none;
  }
  .bluebox__name {
    margin-top: 20px;
    width: 100%;
    display: table;
  }
  .bluebox__name dt, .bluebox__name dd {
    vertical-align: middle;
    display: table-cell;
  }
  .bluebox__name dt {
    margin-top: 0;
    padding-left: 10.5263157895%;
  }
  .bluebox__name dd {
    width: 46.8421052632%;
  }
  .bluebox__fig {
    width: 100%;
  }
  .bluebox__fig img {
    width: 100%;
  }
}
/*============================
Common - Page Top
============================*/
.pagetop__block {
  position: fixed;
  right: 30px;
  bottom: 100px;
  z-index: 100;
}
.pagetop__block a {
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2054%2054%22%20style%3D%22enable-background%3Anew%200%200%2054%2054%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bopacity%3A0.5%3Bstroke%3A%23FFFFFF%3Bstroke-opacity%3A0.3%3B%7D%20.st1%7Bfill%3Anone%3B%7D%20.st2%7Bfill%3Anone%3Bstroke%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E5%8C%96_889%22%20transform%3D%22translate(-1203%20-7389)%22%3E%20%3Cg%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_10%22%20transform%3D%22translate(1203%207389)%22%3E%20%3Ccircle%20class%3D%22st0%22%20cx%3D%2227%22%20cy%3D%2227%22%20r%3D%2227%22%2F%3E%20%3Ccircle%20class%3D%22st1%22%20cx%3D%2227%22%20cy%3D%2227%22%20r%3D%2226.5%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_302%22%20class%3D%22st2%22%20d%3D%22M1218.5%2C7419.5l12-12l12%2C12%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: cover;
  width: 59.5px;
  height: 59.5px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  transition: all 0.2s;
}
.pagetop__block a:hover {
  opacity: 0.6;
}

#pagetop {
  display: none;
}
.mainopen #pagetop, .subopen #pagetop {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pagetop__block {
    position: fixed;
    right: 10px;
    bottom: 20vw;
  }
  .pagetop__block a {
    width: 11.8vw;
    height: 11.8vw;
  }
  .js-navi-open .pagetop__block {
    z-index: 0;
  }
}
/*============================
Common - Icon
============================*/
.icon--new {
  font-size: 12px;
  padding: 2px 5px;
  color: #ff0000;
  line-height: 1.2;
  border: 1px solid #ff0000;
  background: #fff;
  font-weight: 700;
  border-radius: 2px;
  vertical-align: middle;
  display: inline-block;
}
.lineup__list02--title .icon--new {
  vertical-align: top;
  margin-top: 3px;
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  .icon--new {
    letter-spacing: 0em;
  }
  .lineup__list02--title .icon--new {
    padding: 0 5px;
  }
}
/*============================
Service - Contactbox
============================*/
.contactbox {
  background: linear-gradient(#2355a6, #193c75);
  margin-top: 80px;
}
.contactbox__inner {
  padding: 40px;
}
.contactbox__inner--text {
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.section__inner .contactbox__inner--text {
  font-size: 24px;
}
.contactbox__inner--text + .boxBtn01 {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .contactbox__inner {
    padding: 20px;
  }
  .section__inner .contactbox__inner--text {
    font-size: 16px;
  }
  .contactbox__inner--text + .boxBtn01 {
    margin-top: 15px;
  }
}
/*============================
Section - Section
============================*/
.section__outline, .section__price, .section__support, .section__feature, .section__base, .section__function, .section__lineup, .section__themelist, .section__casestudy, .section__partner, .section__topics, .section__topics--news, .section__contact, .section__solution, .section__pointsofview, .section__blueblock01, .section__blueblock02, .section__links, .section__voice {
  margin: 0 auto;
  max-width: 1920px;
  position: relative;
}
.section__outline {
  padding: 60px 0 90px;
}
.section__outline + .section__base, .section__outline + .section__topics, .section__outline + .section__topics--news, .section__outline + .section__solution {
  padding: 0 0 90px;
}
.section__base {
  padding: 70px 0 90px;
}
.section__base + .section__base, .section__base + .section__topics, .section__base + .section__topics--news, .section__base + .section__solution {
  padding: 0 0 90px;
}
.section__base + .section__links {
  padding: 0;
}
.section__base + .none-value + .section__base, .section__base + .none-value + .section__topics, .section__base + .none-value + .section__topics--news, .section__base + .none-value + .section__solution {
  padding: 0 0 90px;
}
.section__base + .none-value + .section__links {
  padding: 0;
}
.section__base + .none-value + .section__base.section__servicenews {
  padding-top: 70px;
}
.section__base#contents--choose {
  padding: 150px 0;
}
.section__topics, .section__topics--news {
  padding: 70px 0 90px;
}
.section__topics.none-value + .section__links, .section__topics--news.none-value + .section__links {
  padding: 70px 0 0;
}
.section__solution {
  padding: 70px 0 90px;
}
.section__solution + .section__base, .section__solution + .section__topics, .section__solution + .section__topics--news {
  padding: 0 0 90px;
}
.section__solution + .section__links {
  padding: 0;
}
.section__solution.none-value + .section__links {
  padding: 70px 0 0;
}
.section__casestudy {
  padding: 70px 0 130px;
}
.section__casestudy + .section__links {
  padding: 0;
}
.section__casestudy.none-value + .section__links {
  padding: 0;
}
.section__price, .section__support {
  padding: 60px 0 90px;
}
.section__price + .section__base, .section__price + .section__topics, .section__price + .section__topics--news, .section__price + .section__solution, .section__support + .section__base, .section__support + .section__topics, .section__support + .section__topics--news, .section__support + .section__solution {
  padding: 0 0 90px;
}
.section__voice {
  padding: 70px 0 90px;
}
.section__links {
  padding: 70px 0 0;
}
.section__base::before, .section__topics::before, .section__topics--news::before, .section__solution::before, .section__links::before {
  content: "";
  background-image: url(/assets/img/bg_bottom03.png);
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 60px;
  display: block;
  position: absolute;
  top: -59px;
  left: 0;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .section__outline {
    padding: 30px 0 90px;
  }
  .section__base + .section__links, .section__solution + .section__links {
    padding: 0;
  }
  .section__base + .none-value + .section__links, .section__solution + .none-value + .section__links {
    padding: 0;
  }
  .section__base#contents--choose {
    padding: 0 0 4em;
  }
  .section__casestudy {
    padding: 70px 0 93px;
  }
  .section__price, .section__support {
    padding: 30px 0 90px;
  }
  .section__base::before, .section__topics::before, .section__topics--news::before, .section__solution::before, .section__links::before {
    background-image: url(/assets/img/bg_bottom03_sp.png);
    height: 23px;
    top: -23px;
  }
}
/*============================
Section - Outline
============================*/
/*============================
Section - Feature
============================*/
.section__feature {
  background: #122b54 url(/assets/img/bg_feature.png) no-repeat 50% -60px;
  color: #fff;
  padding: 70px 0 130px;
}
.section__feature:before {
  content: "";
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: url(/assets/img/bg_feature.png) no-repeat 50% 0;
}
.section__feature .title__medium {
  margin-bottom: 69px;
}

@media screen and (max-width: 768px) {
  .section__feature {
    background: #122b54 url(/assets/img/bg_feature_sp.png) no-repeat 50% -23px;
    background-size: 100% auto;
    padding: 70px 0 93px;
  }
  .section__feature:before {
    background-image: url(/assets/img/bg_feature_sp.png);
    height: 23px;
    top: -23px;
  }
  .section__feature .title__medium {
    margin-bottom: 40px;
  }
}
/*============================
Service - Function
============================*/
.section__function {
  background: #122b54 url(/assets/img/bg_feature.png) no-repeat 50% -60px;
  color: #fff;
  padding: 70px 0 130px;
}
.section__function:before {
  content: "";
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: url(/assets/img/bg_feature.png) no-repeat 50% 0;
}
.section__function .information__link--w {
  text-align: left;
  margin-top: .5em;
}
.section__function .information__link--w a {
  position: relative;
  padding-right: 18px;
  font-weight: 700;
}
.section__function .information__link--w a:after {
  content: "";
  background: url(/assets/img/bg_link-arrow02.png) 0 0 no-repeat;
  background-size: cover;
  width: 12px;
  height: 4px;
  display: block;
  position: absolute;
  top: 45%;
  right: 0;
}

@media screen and (max-width: 768px) {
  .section__function {
    background: #122b54 url(/assets/img/bg_feature_sp.png) no-repeat 50% -23px;
    background-size: 100% auto;
    padding: 70px 0 93px;
  }
  .section__function:before {
    background-image: url(/assets/img/bg_feature_sp.png);
    height: 23px;
    top: -23px;
  }
}
/*============================
Section - Topics
============================*/
.section__topics--news {
  display: none;
}
.section__topics .title__medium + *, .section__topics--news .title__medium + * {
  margin-top: 40px;
}
.section__topics .carousel.noActive nav, .section__topics--news .carousel.noActive nav {
  margin: 0;
}
.section__topics .section__inner + .section__inner, .section__topics--news .section__inner + .section__inner {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .section__topics .title__medium + *, .section__topics--news .title__medium + * {
    margin-bottom: 9.1%;
  }
}
/*============================
Section - Casestudy
============================*/
.section__casestudy {
  background: #071e33 url(/assets/img/bg_casestudy.png) no-repeat 50% -60px;
  color: #fff;
}
.section__casestudy:before {
  content: "";
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: url(/assets/img/bg_casestudy.png) no-repeat 50% 0;
}
.section__casestudy .carousel nav .prev, .section__casestudy .carousel nav .next {
  border-top: #fff 1px solid;
}
.section__casestudy .carousel nav .prev:after, .section__casestudy .carousel nav .next:after {
  border: #fff 1px solid;
  border-right: 0;
  border-bottom: 0;
}
.section__casestudy .carousel nav .position span {
  background: #fff;
}
.section__casestudy .carousel.noActive nav {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .section__casestudy {
    background: #071e33 url(/assets/img/bg_casestudy_sp.png) no-repeat 50% -23px;
    background-size: 100% auto;
  }
  .section__casestudy:before {
    background: url(/assets/img/bg_casestudy_sp.png) no-repeat 50% 0;
    height: 23px;
    top: -23px;
  }
  .section__casestudy .carousel nav {
    margin: 40px 0 0;
  }
}
/*============================
Section - Lineup
============================*/
.section__lineup {
  background: #122b54 url(/assets/img/bg_feature.png) 50% -60px no-repeat;
  padding: 70px 0 130px;
  color: #fff;
}
#service .section__lineup {
  background-color: #dae7f1;
  background-image: url(/assets/img/bg_lineup.png);
}
.section__lineup::before {
  content: "";
  background: url(/assets/img/bg_feature.png) no-repeat 50% 0;
  width: 100%;
  height: 60px;
  position: absolute;
  top: -60px;
  left: 0;
  display: block;
}
#service .section__lineup::before {
  background-image: url(/assets/img/bg_lineup.png);
}
.section__themelist {
  background: #122b54 url(/assets/img/bg_feature.png) no-repeat 50% -60px;
  padding: 70px 0 130px;
  color: #fff;
}
#partner .section__themelist {
  color: #333;
  background-color: #dae7f1;
  background-image: url(/assets/img/bg_lineup.png);
}
.section__themelist::before {
  content: "";
  background: url(/assets/img/bg_feature.png) no-repeat 50% 0;
  width: 100%;
  height: 60px;
  position: absolute;
  top: -60px;
  left: 0;
  display: block;
}
#partner .section__themelist::before {
  background-image: url(/assets/img/bg_lineup.png);
}

@media screen and (max-width: 768px) {
  .section__lineup {
    background: #122b54 url(/assets/img/bg_feature_sp.png) no-repeat 50% -23px;
    background-size: 100% auto;
    padding: 70px 0 93px;
  }
  #service .section__lineup {
    background-color: #dae7f1;
    background-image: url(/assets/img/bg_lineup_sp.png);
  }
  .section__lineup::before {
    background-image: url(/assets/img/bg_feature_sp.png);
    height: 23px;
    top: -23px;
  }
  #service .section__lineup::before {
    background-image: url(/assets/img/bg_lineup_sp.png);
  }
  .section__themelist {
    background: #122b54 url(/assets/img/bg_feature_sp.png) no-repeat 50% -23px;
    background-size: 100% auto;
    padding: 70px 0 93px;
  }
  #partner .section__themelist {
    background-color: #dae7f1;
    background-image: url(/assets/img/bg_lineup_sp.png);
  }
  .section__themelist::before {
    background-image: url(/assets/img/bg_feature_sp.png);
    height: 23px;
    top: -23px;
  }
  #partner .section__themelist::before {
    background-image: url(/assets/img/bg_lineup_sp.png);
  }
}
/*============================
Section - Contact
============================*/
.section__contact {
  background: #184489 url(/assets/img/bg_contact.png) no-repeat 50% -60px;
  padding: 70px 0 80px;
}
.section__contact:before {
  content: "";
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: url(/assets/img/bg_contact.png) no-repeat 50% 0;
}
.section__contact .section__inner {
  height: 230px;
  display: table;
}
.section__contact .section__inner--block {
  height: 230px;
  vertical-align: middle;
  display: table-cell;
}
.section__contact p {
  margin-bottom: 25px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
}
.section__contact .boxBtn02 {
  margin-top: 0;
}
.section__contact .boxBtn02 > a:before, .section__contact .boxBtn02 > a:after {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
}
.section__contact .boxBtn02 > a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232.8%22%20height%3D%2222.5%22%3E%3Cpath%20d%3D%22M0%200v22.5h32.8V0H0zm30.9%201L16.4%2011.8%201.8%201h29.1zM1%2021.5V1.7l15.4%2011.4L31.8%201.6v19.9H1z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
  margin-top: -12px;
  width: 35px;
  height: 24px;
  left: 25px;
}
.section__contact .boxBtn02 > a:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
  margin-top: -4px;
  width: 23px;
  height: 8px;
  display: block;
  right: 20px;
  transition: all 0.2s;
}
.section__contact .boxBtn02 > a:hover:after {
  right: 12px;
}
.section__contact .boxBtn02 + .boxBtn02 {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .section__contact {
    background: #184489 url(/assets/img/bg_contact_sp.png) no-repeat 50% -23px;
    background-size: 100% auto;
  }
  .section__contact:before {
    background: url(/assets/img/bg_contact_sp.png) no-repeat 50% 0;
    height: 23px;
    top: -23px;
  }
  .section__contact .section__inner {
    height: auto;
    display: block;
  }
  .section__contact .section__inner--block {
    height: auto;
    display: block;
  }
  .section__contact p {
    font-size: 16px;
    line-height: 1.6;
  }
  .section__contact p + * {
    margin-top: 15px;
  }
  .section__contact .boxBtn02 > a:before {
    margin-top: -10px;
    width: 29px;
    height: 20px;
    left: 10px;
  }
  .section__contact .boxBtn02 > a:after {
    right: 10px;
  }
  .section__contact .boxBtn02 > a:hover:after {
    right: 6px;
  }
  .section__contact .boxBtn02 + .boxBtn02 {
    margin-top: 20px;
  }
}
/*============================
Section - Solution
============================*/
.section__solution .title__medium + * {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .section__solution .title__medium + * {
    margin-top: 9.1%;
  }
}
/*============================
Section - Points of View
============================*/
.section__pointsofview {
  position: relative;
  background: #071e33 url(/assets/img/bg_pointsofview.png) no-repeat 50% -60px;
  padding: 70px 0 80px;
}
.section__pointsofview:before {
  content: "";
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: url(/assets/img/bg_pointsofview.png) no-repeat 50% 0;
}
.section__pointsofview .section__inner {
  height: 230px;
  display: table;
}
.section__pointsofview .section__inner--block {
  height: 230px;
  vertical-align: middle;
  display: table-cell;
}
.section__pointsofview p {
  margin-bottom: 25px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
}
.section__pointsofview .boxBtn02 {
  margin-top: 0;
}
.section__pointsofview .boxBtn02 > a:after {
  content: "";
  background: url(/assets/img/bg_lineup-arrow.png) 0 0 no-repeat;
  background-size: cover;
  margin-top: -4px;
  width: 23px;
  height: 8px;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transition: all 0.2s;
}
.section__pointsofview .boxBtn02 > a:hover:after {
  right: 12px;
}

@media screen and (max-width: 768px) {
  .section__pointsofview {
    background: #071e33 url(/assets/img/bg_pointsofview_sp.png) no-repeat 50% -23px;
  }
  .section__pointsofview:before {
    background: url(/assets/img/bg_pointsofview_sp.png) no-repeat 50% 0;
    background-size: 100% auto;
    height: 23px;
    top: -23px;
  }
  .section__pointsofview .section__inner {
    height: auto;
    display: block;
  }
  .section__pointsofview .section__inner--block {
    height: auto;
    display: block;
  }
  .section__pointsofview p {
    font-size: 16px;
    line-height: 1.6;
  }
  .section__pointsofview .boxBtn02 > a:after {
    right: 10px;
  }
  .section__pointsofview .boxBtn02 > a:hover:after {
    right: 6px;
  }
}
/*============================
Section - Links
============================*/
.section__links--tags + * {
  margin-top: 120px;
}
.section__links--tags li {
  display: inline-block;
  margin: 0 30px;
  font-size: 1.05em;
}
.section__links--tags a {
  color: #2356a7;
  border-bottom: #2356a7 1px solid;
  padding-bottom: 2px;
  text-decoration: none;
}
.section__links--tags a:hover {
  text-decoration: none;
}
.section__inner .section__links--trademark {
  font-size: 10px;
}
.section__links--breadcrumbs {
  font-size: 12px;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.section__links--trademark + .section__links--breadcrumbs {
  margin-top: 20px;
}
.section__links--breadcrumbs li {
  display: inline-block;
}
.section__links--breadcrumbs li:after {
  content: "＞";
  margin: 0 3px 0 5px;
  color: #2356a7;
  font-size: 0.8em;
}
.section__links--breadcrumbs li:last-child:after {
  display: none;
}
.section__links--breadcrumbs a {
  color: #2356a7;
  border-bottom: #2356a7 1px solid;
  padding-bottom: 2px;
  text-decoration: none;
}
.section__links--breadcrumbs a:hover {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .section__links--tags + * {
    margin-top: 22%;
  }
  .section__links--tags li {
    margin: 0 1% 0 9%;
    font-size: 0.9em;
    width: 38.3%;
    text-align: left;
    padding-bottom: 6.3%;
  }
  .section__links--breadcrumbs {
    margin-bottom: 4.5%;
    letter-spacing: 0.05em;
  }
  .section__links--trademark + .section__links--breadcrumbs {
    margin-top: 3%;
  }
  .section__links--breadcrumbs li:after {
    margin: 0 3px 0 5px;
    font-size: 0.8em;
  }
  .section__links--breadcrumbs a {
    border-bottom: #2356a7 1px solid;
    padding-bottom: 2px;
  }
}
/*============================
Section - Partner
============================*/
.section__partner {
  background: #006581 url(/assets/img/bg_partner.png) no-repeat 50% -60px;
  padding: 70px 0 140px;
}
.section__partner:before {
  content: "";
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: url(/assets/img/bg_partner.png) no-repeat 50% 0;
}
.section__partner .section__inner {
  height: 230px;
  display: table;
}
.section__partner .section__inner--block {
  height: 230px;
  vertical-align: middle;
  display: table-cell;
}
.section__partner p {
  margin-bottom: 25px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
}
.section__partner .boxBtn02 {
  margin-top: 0;
}
.section__partner .boxBtn02 + .boxBtn02 {
  margin-top: 30px;
}
.section__partner .boxBtn02 > a:before, .section__partner .boxBtn02 > a:after {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
}
.section__partner .boxBtn02 > a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236.3%22%20height%3D%2229.8%22%3E%3Cpath%20d%3D%22M19.9%2011.3c2.3-.8%203.9-2.9%203.9-5.5C23.8%202.6%2021.2%200%2018%200s-5.8%202.6-5.8%205.8c0%202.5%201.6%204.7%203.9%205.5-4.4%201-7.7%205.2-7.7%2010.2v5.2c0%20.9.5%201.6%201.4%201.9%202.7.8%205.4%201.2%208.1%201.2%202.7%200%205.5-.4%208.2-1.2.8-.3%201.4-1%201.4-1.9v-5.2c.1-5.1-3.2-9.3-7.6-10.2zm-6.6-5.5c0-2.6%202.1-4.8%204.8-4.8%202.6%200%204.8%202.1%204.8%204.8%200%202.6-2.1%204.8-4.8%204.8-2.7%200-4.8-2.2-4.8-4.8zm13.3%2020.9c0%20.4-.3.8-.7.9-5.1%201.6-10.6%201.6-15.7%200-.4-.1-.7-.5-.7-1v-5.2c0-5.2%203.8-9.4%208.5-9.4s8.5%204.2%208.5%209.4v5.3h.1zm4-14.1c1.6-.7%202.7-2.3%202.7-4.2%200-2.5-2-4.5-4.5-4.5s-4.5%202-4.5%204.5c0%201.9%201.1%203.5%202.7%204.2-.7.2-1.4.5-2%20.9l.6.8c1-.7%202.1-1%203.3-1%203.5%200%206.4%203.2%206.4%207.1v4c0%20.3-.2.5-.4.6-1.9.6-3.9.9-5.9.9h-.8v1h.8c2.1%200%204.2-.3%206.2-.9.7-.2%201.1-.9%201.1-1.6v-4c-.1-3.8-2.5-6.9-5.7-7.8zm-5.3-4.2c0-1.9%201.6-3.5%203.5-3.5s3.5%201.6%203.5%203.5-1.6%203.5-3.5%203.5c-1.9.1-3.5-1.5-3.5-3.5zm-18%2017.5c-2%200-4-.3-5.9-.9-.3-.1-.4-.3-.4-.6v-4c0-3.9%202.9-7.1%206.4-7.1%201.2%200%202.3.4%203.3%201l.6-.8c-.6-.4-1.3-.7-2.1-.9%201.6-.7%202.7-2.3%202.7-4.2%200-2.5-2-4.5-4.5-4.5s-4.5%202-4.5%204.5c0%201.9%201.1%203.5%202.7%204.2-3.2.9-5.6%204-5.6%207.8v4c0%20.7.4%201.4%201.1%201.6%202%20.6%204.1.9%206.2.9h.8v-1h-.8zM3.7%208.4c0-1.9%201.6-3.5%203.5-3.5s3.5%201.6%203.5%203.5-1.6%203.5-3.5%203.5c-1.9.1-3.5-1.5-3.5-3.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
  margin-top: -16.5px;
  width: 40px;
  height: 33px;
  left: 25px;
}
.section__partner .boxBtn02 > a:after {
  background-image: url(/assets/img/bg_lineup-arrow.png);
  margin-top: -4px;
  width: 23px;
  height: 8px;
  display: block;
  right: 20px;
  transition: all 0.2s;
}
.section__partner .boxBtn02 > a:hover:after {
  right: 12px;
}

@media screen and (max-width: 768px) {
  .section__partner {
    background: #006581 url(/assets/img/bg_partner_sp.png) no-repeat 50% -23px;
    background-size: 100% auto;
    padding: 70px 0 103px;
  }
  .section__partner:before {
    background: url(/assets/img/bg_partner_sp.png) no-repeat 50% 0;
    height: 23px;
    top: -23px;
  }
  .section__partner .section__inner {
    height: auto;
    display: block;
  }
  .section__partner .section__inner--block {
    height: auto;
    display: block;
  }
  .section__partner p {
    font-size: 16px;
    line-height: 1.6;
  }
  .section__partner .boxBtn02 + .boxBtn02 {
    margin-top: 20px;
  }
  .section__partner .boxBtn02 > a:before {
    margin-top: -10px;
    width: 24px;
    height: 20px;
    left: 10px;
  }
  .section__partner .boxBtn02 > a:after {
    right: 10px;
  }
  .section__partner .boxBtn02 > a:hover:after {
    right: 6px;
  }
}
/*============================
Press - Section
============================*/
.section__press > .section__inner + .section__inner {
  margin-top: 100px;
}
.section__press ul li {
  text-align: left;
}
.section__press .title__lead {
  margin-bottom: 30px;
  letter-spacing: 0.01em;
}
.section__press h2 {
  margin: 40px 0 20px;
  font-size: 24px;
  letter-spacing: 0.02em;
  line-height: 1.37;
  color: #2356a7;
  text-align: left;
}
.section__press h2:first-of-type {
  margin-top: 60px;
}
.section__press h3 {
  margin: 40px 0 20px;
  font-size: 24px;
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.section__press h3:before, .section__press h3:after {
  border-top: 1px solid #0064B9;
  content: "";
  flex-grow: 1;
  width: 2em;
}
.section__press h3:before {
  margin-right: 25px;
}
.section__press h3:after {
  margin-left: 25px;
}
.section__press h4 {
  margin: 40px 0 20px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  position: relative;
  padding-bottom: 10px;
  text-align: left;
}
.section__press h4:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: 2;
  content: "";
  width: 20px;
  height: 4px;
  background-color: #0064B9;
}
.section__press h5 {
  margin: 20px 0;
  font-size: 14px;
  text-align: left;
}
.section__press .section__inner--block > p {
  word-break: break-all;
}
.section__press .section__inner--block > p + p, .section__press .section__inner--block > p + ul, .section__press .section__inner--block > p + ol {
  margin-top: 20px;
}
.section__press .section__inner--block > .figure__img {
  margin-top: 20px;
}
.section__press .section__inner--block hr {
  margin: 20px 0;
}
.section__press .section__inner--block ul + p,
.section__press .section__inner--block table + p,
.section__press .section__inner--block dl + p,
.section__press .section__inner--block dl + dl,
.section__press .section__inner--block dd + dt {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .section__press > .section__inner + .section__inner {
    margin-top: 3em;
  }
  .section__press .title__lead {
    margin-bottom: 20px;
  }
  .section__press h2 {
    font-size: 20px;
  }
  .section__press h2:first-of-type {
    margin-top: 30px;
  }
  .section__press h3 {
    font-size: 14px;
  }
  .section__press h4 {
    font-size: 12px;
  }
  .section__press h5 {
    font-size: 10px;
  }
}
/*============================
Section - Blue block
============================*/
.section__blueblock01, .section__blueblock02 {
  position: relative;
}
.section__blueblock01:before, .section__blueblock02:before {
  content: "";
  background-position: 50% 0;
  background-repeat: no-repeat;
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
}
.section__blueblock01 .title__medium, .section__blueblock02 .title__medium {
  margin-bottom: 65px;
}
.section__blueblock01 {
  background: url(/assets/img/bg_blueblock01.png) no-repeat 50% -158px;
  padding: 60px 0 130px;
}
.section__blueblock01:before {
  background-image: url(/assets/img/bg_blueblock01.png);
  height: 158px;
  top: -158px;
}
.section__blueblock01 .section__inner a {
  color: #fff;
}
.section__blueblock02 {
  background: #e5f1f8;
  padding: 127px 0;
}
.section__blueblock02:before {
  background-image: url(/assets/img/bg_blueblock02.png);
  height: 127px;
  top: -127px;
}

@media screen and (max-width: 768px) {
  .section__blueblock01, .section__blueblock02 {
    padding: 3em 0;
  }
  .section__blueblock01:before, .section__blueblock02:before {
    width: 100%;
    height: 2em;
    top: -2em;
  }
  .section__blueblock01 .title__medium, .section__blueblock02 .title__medium {
    margin-bottom: 13.7%;
  }
  .section__blueblock01 {
    background: #81b7dd;
  }
  .section__blueblock01:before {
    background-image: url(/assets/img/bg_blueblock01_sp.png);
  }
  .section__blueblock02 {
    background: #e5f1f8;
  }
  .section__blueblock02:before {
    background-image: url(/assets/img/bg_blueblock02_sp.png);
  }
}
/*============================
Section - Servicenews
============================*/
.section__servicenews {
  background: #f5f5f5;
  padding: 70px 0 90px;
}
.section__servicenews .title__medium {
  margin-bottom: 20px;
}
.section__servicenews .section__inner--block + .section__inner--block {
  margin-top: 70px;
}
.section__servicenews .topics__list--more {
  background: none;
  width: 17%;
  margin-top: 0;
}
.section__servicenews .topics__list--more:after {
  top: 0;
}
.section__servicenews:before {
  content: "";
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: url(/assets/img/bg_bottom06.png) no-repeat 50% 0;
}
.section__servicenews + .section__topics--news {
  padding-top: 75px;
}

@media screen and (max-width: 768px) {
  .section__servicenews .title__medium {
    margin-bottom: 20px;
  }
  .section__servicenews .section__inner--block + .section__inner--block {
    margin-top: 35px;
  }
  .section__servicenews:before {
    background-image: url(/assets/img/bg_bottom06_sp.png);
    height: 41px;
    top: -41px;
  }
  .section__servicenews .topics__list--more {
    width: 60%;
  }
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@media print {
  * html body {
    zoom: 0.74;
  }

  .forscreen {
    display: none;
  }

  .forprint {
    display: block !important;
  }

  .ctsRight,
  .tabnavi--top {
    display: none;
  }

  .text--colorw,
  .section__inner p,
  .title__main.text--colorw,
  .section__inner a.link--color,
  .section__inner a,
  .download02__text a {
    color: #333 !important;
  }

  .header.fix {
    position: static !important;
    background: none !important;
  }

  header .mainMenu,
  #sidePos,
  .subNavi,
  .section__lineup,
  .section__casestudy,
  .section__partner,
  .section__topics,
  .section__themelist,
  .section__contact,
  .section__solution,
  .section__pointsofview,
  .section__links {
    display: none !important;
  }

  footer {
    background: none !important;
  }
  footer:before {
    background: none !important;
  }
  footer .footer__inner--bottomLink,
  footer .footer__inner--trademark {
    display: none;
  }
  footer .footer__inner--copyright {
    color: #333 !important;
  }

  .mainvisual {
    color: #333 !important;
    padding-bottom: 0;
    margin: 100px auto 30px;
  }
  .mainvisual:after {
    display: none !important;
  }
  .mainvisual__mask {
    display: inline !important;
    overflow: visible !important;
    background: none !important;
    left: 0;
    transform: none;
  }
  .mainvisual__mask--table {
    height: auto;
    display: inline !important;
  }
  .mainvisual__mask--table .title__main + p strong {
    display: block !important;
  }
  .mainvisual__mask--table .title__main + p span {
    display: block !important;
  }
  .mainvisual__block {
    display: inline !important;
    margin-top: 150px;
  }

  .feature__list > dd > .feature__title, .feature__list02 > dd > .feature__title, .feature__list03 > dd > .feature__title, .feature__list04 > dd > .feature__title {
    min-height: auto;
  }
  .feature__list--fade {
    display: block !important;
  }

  .feature__list02 > dt {
    color: #2356a7 !important;
    background: none !important;
  }

  .feature__title {
    color: #2356a7 !important;
  }

  .feature__solution dt > span {
    color: #333;
  }

  .carousel--hidden {
    overflow: visible !important;
  }

  .carousel .scroll {
    overflow: visible !important;
  }

  .cases li {
    display: block !important;
    background: #eee;
    width: 100% !important;
    color: #333 !important;
    text-align: left;
    min-height: auto !important;
    margin-bottom: 20px;
    background: none;
  }
  .cases li:before {
    background: none !important;
  }
  .cases li p {
    width: 100%;
    margin: 0;
  }
  .cases__title {
    padding-top: 0;
  }

  .section__outline .title__lead {
    margin-bottom: 15px;
  }
  .section__outline .title__medium {
    margin-top: 50px;
  }

  .section__base,
  .section__topics,
  .section__solution,
  .section__outline,
  .section__price,
  .section__support,
  .section__feature,
  .section__function {
    padding: 15px 0 15px 0 !important;
    background: none !important;
  }

  .section__feature:before,
  .section__function:before {
    display: none !important;
    background: none !important;
    height: 0 !important;
  }

  .section__function {
    color: #333 !important;
  }
  .section__function .text--colorw,
  .section__function .productInfo,
  .section__function p {
    color: #333 !important;
  }
  .section__function .title__medium.text--colorw {
    color: #2356a7 !important;
  }
  .section__function .feature__title {
    min-height: auto;
    margin-bottom: 5px;
  }

  .section__feature .text--colorw, .section__feature p {
    color: #333 !important;
  }
  .section__feature .title__medium {
    color: #2356a7 !important;
  }
  .section__feature .feature__title {
    min-height: auto;
    margin-bottom: 5px;
  }

  .feature__list > dd, .feature__list02 > dd, .feature__list03 > dd, .feature__list04 > dd {
    margin-bottom: 20px;
  }

  .section__inner--block + .section__inner--block {
    margin-top: 15px;
  }

  .boxBtn01 > a,
  .boxBtn02 > a,
  .boxBtn03 > a,
  .boxBtn04 > a {
    color: #333 !important;
    border-color: #333;
  }

  #support .section__outline .section__inner--block + .title__small {
    margin-top: 30px;
    margin-bottom: 20px;
  }

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

  .service .itemlist__list--fig {
    display: block;
    border-radius: 0px !important;
    position: relative;
  }
  .service .itemlist__list--fig img {
    display: block !important;
  }
  .service .itemlist__list--fig:before {
    background: none;
  }
  .service .itemlist__list--text {
    padding: 0 60px;
  }

  .press__info--category {
    background: none !important;
    color: #333 !important;
  }
}

/*# sourceMappingURL=common.css.map */
