@charset "utf-8";.pcnone {
  display: none
}

@media screen and (max-width: 740px) {
  .pcnone {
      display:inline-block
  }
}

.spnone {
  display: inline-block
}

@media screen and (max-width: 740px) {
  .spnone {
      display:none
  }
}

.warp {
  width: 1200px;
  min-width: 1200px;
  margin: 0 auto
}

@media screen and (max-width: 740px) {
  .warp {
      width:100%;
      min-width: 100%;
      padding: 0 20px
  }
}

.diameter {
  font-style: normal;
}

main {
  width: 100%;
  min-width: 1200px
}

@media screen and (max-width: 740px) {
  main {
      min-width:100%
  }
}

table {
  width: 100%;
  background-color: #fff
}

table th,table td {
  color: #000;
  padding: 15px;
  border: 1px solid #cecece;
  text-align: center;
  vertical-align: middle
}

@media screen and (max-width: 740px) {
  table th,table td {
      padding:6px
  }
}

#pagetop {
  position: fixed;
  right: 30px;
  bottom: 100px;
  cursor: pointer;
  display: block;
  height: 50px;
  width: 50px;
  border: #333 solid 1px;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #pagetop {
      right:10px;
      bottom: 60px
  }
}

#pagetop::after {
  position: absolute;
  content: "";
  top: 22px;
  left: 18px;
  width: 11px;
  height: 11px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

#pagetop.hover {
  border-color: #fff;
  background-color: #333;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#pagetop.hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff
}

#head {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 20px;
  z-index: 1
}

#head a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 50px;
  color: #fff;
  background-color: #2d5c8d;
  margin-right: 20px;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  border: 1px solid #fff
}

#head a:first-of-type {
  background-color: #0f255b
}

#head a.hover {
  text-decoration: none;
  color: #2d5c8d;
  background-color: #fff
}

#head a:first-of-type.hover {
  color: #0f255b
}

@media screen and (max-width: 740px) {
  #head {
      display:none;
      position: fixed;
      margin-top: 0;
      bottom: 0;
      left: 0
  }
}

#flating {
  position: fixed;
  width: 360px;
  top: 410px;
  right: 0;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  #flating {
      width:180px;
      top: initial;
      bottom: 130px
  }
}

#flating img {
  width: 100%
}

#flating a {
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#flating a.hover {
  filter: brightness(120%)
}

#flating .close {
  cursor: pointer;
  position: absolute;
  bottom: 10px;
  left: 25px;
  color: #000;
  font-size: 2.8rem;
  font-weight: 400;
  z-index: 1;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center
}

#flating .close:hover {
  color: #1455a2
}

@media screen and (max-width: 740px) {
  #flating .close {
      bottom:1px;
      left: 10px;
      font-size: 2.0rem;
      height: 30px;
      width: 30px
  }
}

#footer {
  padding: 30px 0 130px;
  background-color: #0f255b
}

@media screen and (max-width: 740px) {
  #footer {
      padding:30px 0 250px
  }
}

#footer nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px
}

#footer nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  line-height: 1;
  padding: 3px 2em;
  border-left: 1px solid #fff
}

#footer nav a:last-of-type {
  border-right: 1px solid #fff
}

@media screen and (max-width: 740px) {
  #footer nav a:first-of-type {
      margin-bottom:15px;
      border-right: 1px solid #fff
  }
}

#footer #sns {
  display: flex;
  justify-content: flex-end;
  margin-top: -56px;
  margin-bottom: 22px
}

@media screen and (max-width: 740px) {
  #footer #sns {
      justify-content:center;
      margin-top: 0
  }
}

#footer #sns li {
  width: 34px;
  margin-left: 15px
}

#footer #sns li a {
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#footer #sns li a.hover {
  filter: brightness(120%);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#footer #sns li img {
  width: 100%
}

#footer small {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.2rem
}

#inquiry {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(255,255,255,0.8);
  opacity: 0;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#inquiry.active {
  opacity: 1;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#inquiry ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 1200px;
  margin: 20px auto
}

#inquiry ul li {
  width: 590px;
  height: 60px;
  display: flex;
  justify-content: flex-end
}

#inquiry a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: #2d5c8d;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  border: 1px solid #2d5c8d
}

#inquiry ul li:first-of-type a {
  background-color: #0f255b;
  border-color: #0f255b
}

@media only screen and (max-device-width: 320px) {
  #inquiry a {
      font-size:1.2rem
  }
}

#inquiry a.hover {
  text-decoration: none;
  color: #2d5c8d;
  background-color: #fff
}

#inquiry ul li:first-of-type a.hover {
  color: #0f255b;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #inquiry ul {
      width:calc(100% - 40px);
      margin: 10px 20px
  }

  #inquiry ul li {
      width: 49%;
      height: 40px;
      display: flex;
      justify-content: flex-end
  }
}

#inquiry ul.campaignnone {
  justify-content: center
}

@media screen and (max-width: 740px) {
  #inquiry ul.campaignnone li {
      width:100%
  }
}

.btncampaign {
  width: 1200px;
  margin: 0 auto
}

.btncampaign.space {
  margin: 80px auto
}

@media screen and (max-width: 740px) {
  .btncampaign {
      width:100%;
      margin: 0 auto
  }

  .btncampaign.space {
      margin: 40px auto;
      padding: 0 20px
  }
}

.btncampaign a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: 130px;
  margin: 0 auto;
  padding: 0 70px;
  color: #fff;
  font-size: 4.2rem;
  font-weight: 400;
  border: 1px solid #eb00e2;
  border-radius: 10px;
  background: linear-gradient(90deg,#eb00e2 0,#ff9d00 100%);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  .btncampaign a {
      display:flex;
      flex-wrap: wrap;
      height: auto;
      padding: 10px;
      margin: 0;
      color: #fff;
      font-size: 2.0rem
  }

  .btncampaign a span {
      width: calc(100% - 80px);
      margin: 0 auto;
      color: #fff;
      font-size: 2.0rem;
      line-height: 1.2
  }
}

.btncampaign a img {
  margin: -25px 40px 0 0;
  -webkit-transition: all .1s ease;
  transition: all .1s ease
}

@media screen and (max-width: 740px) {
  .btncampaign a img {
      width:73px;
      margin: -23px 5px 0 -6px
  }
}

.btncampaign a.hover {
  text-decoration: none;
  color: #051d4a;
  background: #fff;
  border-color: #051d4a;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

.btncampaign a.hover img {
  filter: saturate(200%)
}

.btncampaign a.hover span {
  color: #051d4a
}

#mv {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  height: 650px;
  margin-top: -70px
}

@media screen and (max-width: 740px) {
  #mv {
      height:auto;
      margin-top: 0
  }
}

#mv div {
  width: 50%;
  height: 100%;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #mv div {
      width:100%;
      height: auto;
      background-color: #fff
  }
}

#mv .left {
  padding: 20px 0 0 20px
}

@media screen and (max-width: 740px) {
  #mv .left {
      padding:10px 20px 20px
  }
}

.logo {
  margin-bottom: 60px
}

@media screen and (max-width: 740px) {
  .logo {
      margin-bottom:30px
  }

  .logo img {
      width: 120px
  }
}

#mv .left .copy {
  width: 590px;
  height: auto;
  color: #051d4a;
  font-size: 5.0rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
  margin: 0 auto 30px
}

@media all and (-ms-high-contrast:none) {
  *::-ms-backdrop,#mv .left .copy {
      width: 595px
  }
}

#mv .left .copy ruby {
  position: relative;
  line-height: 1;
  padding-bottom: 0;
  margin-bottom: 0;
  ruby-align: center
}

#mv .left .copy ruby rt {
  font-size: 1.8rem;
  text-align: center;
  font-weight: normal;
  transform: translatey(-0.5rem);
  position: absolute;
  left: 0;
  width: 100%
}

_:lang(x) _:-webkit-full-screen-document,#mv .left .copy ruby rt {
  transform: translatey(1.1rem)
}

@-moz-document url-prefix() {
  #mv .left .copy ruby rt {
      transform: translatey(-2rem)
  }
}

@media all and (-ms-high-contrast:none) {
  *::-ms-backdrop,#mv .left .copy ruby rt {
      transform: translatey(1rem)
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width:1024px) {
  _:lang(x) _:-webkit-full-screen-document,#mv .left .copy ruby rt {
      transform:translatey(1.4rem)
  }
}

#mv .left .copy span {
  font-size: 5.0rem
}

#mv .left .copy strong {
  font-size: 10.0rem;
  position: relative;
  font-weight: 400;
}

#mv .left .copy b {
  font-size: 5.0rem
}

strong{
  font-weight: 400!important;
}
#mv .left .copy strong sup {
  font-size: 2.0rem;
  margin-top: 59px;
  margin-left: 3px;
  position: absolute
}

#mv .left .copy .caution {
  font-size: 1.5rem;
  font-weight: normal;
  text-align: left;
  margin-top: 10px
}

@media screen and (max-width: 740px) {
  #mv .left .copy {
      width:100%;
      height: auto;
      font-size: 3.2rem
  }

  #mv .left .copy ruby rt {
      font-size: 1.0rem
  }

  #mv .left .copy span {
      font-size: 2.4rem
  }

  #mv .left .copy strong {
      font-size: 5.0rem
  }

  #mv .left .copy b {
      font-size: 2.8rem
  }

  #mv .left .copy strong sup {
      font-size: 1.2rem;
      margin-top: 32px;
      margin-left: 1px
  }

  #mv .left .copy .caution {
      font-size: 1.1rem;
      margin-top: 7px
  }
}

@media only screen and (max-device-width: 320px) {
  #mv .left .copy {
      width:100%;
      font-size: 2.8rem
  }

  #mv .left .copy strong {
      font-size: 4.2rem
  }

  #mv .left .copy strong sup {
      font-size: 1.1rem;
      margin-top: 25px;
      margin-left: 1px
  }

  #mv .left .copy .caution {
      font-size: 1.0rem
  }
}

#mv .left figure {
  text-align: center
}

#mv .left figure img {
  max-width: 620px;
  width: 90%
}

#mv .right {
  background-image: url(/uploads/image/6simages/main.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 650px;
}

@media screen and (max-width: 740px) {
  #mv .right {
      height:180px
  }
}

#nav {
  width: 100%;
  height: 80px;
  position: relative;
  background-color: #455676
}

@media screen and (max-width: 740px) {
  #nav {
      position:fixed;
      top: 0;
      right: 0;
      background-color: transparent;
      z-index: 3
  }
}

#nav.fixed {
  position: fixed;
  top: 0;
  z-index: 3
}

#nav .menu {
  margin: auto;
  width: 1200px
}

@media screen and (max-width: 740px) {
  #nav .menu {
      display:none;
      opacity: 0;
      width: 100%;
      background-color: #fff;
      -webkit-transition: all .3s ease;
      transition: all .3s ease
  }

  #nav .menu.open {
      display: inherit;
      opacity: 1;
      height: 100vh;
      -webkit-transition: all .3s ease;
      transition: all .3s ease
  }
}

#nav .menu p {
  display: none
}

@media screen and (max-width: 740px) {
  #nav .menu p {
      display:block;
      padding: 10px 20px
  }

  #nav .menu p img {
      width: 120px
  }
}

#nav .menu ul {
  width: 100%;
  margin: auto;
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center
}

@media screen and (max-width: 740px) {
  #nav .menu ul {
      flex-wrap:wrap;
      margin: 30px 0 0
  }
}

#nav .menu ul li {
  position: relative;
  width: 100%;
  border-bottom: 0
}

#nav .menu ul li::before {
  position: absolute;
  content: "";
  border-left: #fff solid 1px;
  left: 0;
  top: 26px;
  height: 30px;
  z-index: 1
}

#nav .menu ul li:last-child::after {
  position: absolute;
  content: "";
  border-left: #fff solid 1px;
  right: 0;
  top: 26px;
  height: 30px;
  z-index: 1
}

#nav .menu ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 400;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  #nav .menu ul li a {
      color:#000;
      border-bottom: 1px solid #001d4a;
      margin: 0 20px;
      height: 60px
  }
}

#nav .menu ul li a.hover {
  text-decoration: none;
  background-color: transparent;
  background-color: #001d4a
}

@media screen and (max-width: 740px) {
  #nav .menu ul li a.hover {
      color:#fff
  }
}

#nav .toggle {
  display: none;
  position: fixed;
  width: 52px;
  height: 46px;
  cursor: pointer;
  z-index: 3;
  right: 15px;
  top: 15px;
  background-color: rgba(255,255,255,0.8)
}

@media screen and (max-width: 740px) {
  #nav .toggle {
      display:block
  }
}

#nav .toggle span {
  display: block;
  position: absolute;
  width: 40px;
  margin: 0 6px;
  border-bottom: solid 4px #051d4a;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out
}

#nav .toggle span:nth-child(1) {
  top: 7px
}

#nav .toggle span:nth-child(2) {
  top: 20px
}

#nav .toggle span:nth-child(3) {
  top: 34px
}

#nav .toggle.active span:nth-child(1) {
  top: 18px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

#nav .toggle.active span:nth-child(2),#nav .toggle.active span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg)
}

#campaign {
  background-color: #ebebeb;
  padding: 100px 0
}

#campaign.fixed {
  padding-top: 180px
}

@media screen and (max-width: 740px) {
  #campaign,#campaign.fixed {
      padding:50px 0
  }
}

#campaign h1 {
  font-size: 5.6rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 15px;
  color: #f44b75;
  background: -webkit-linear-gradient(0,#eb00e2 0,#ff9d00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

@media screen and (max-width: 740px) {
  #campaign h1 {
      font-size:3.0rem;
      margin-bottom: 15px
  }

  #campaign h1 br:last-of-type {
      display: none
  }
}

#campaign .campaignmatter {
  width: 1045px;
  margin: 0 auto 80px
}

@media screen and (max-width: 740px) {
  #campaign .campaignmatter {
      width:100%;
      margin: 0 auto 50px
  }
}

#campaign .campaignmatter dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 45px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  background: linear-gradient(90deg,#eb00e2 0,#ff9d00 100%)
}

@media screen and (max-width: 740px) {
  #campaign .campaignmatter dt {
      width:100%;
      height: 45px;
      font-size: 2.0rem
  }
}

#campaign .campaignmatter dd {
  position: relative;
  font-size: 1.8rem;
  font-weight: 400;
  width: 100%;
  padding: 25px;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #campaign .campaignmatter dd {
      position:relative;
      padding: 15px 20px
  }

  #campaign .campaignmatter dd br {
      display: none
  }
}

#campaign .campaignmatter dd ul {
  margin-top: 10px;
  font-size: 1.6rem;
  font-weight: normal
}

#campaign .campaignmatter dd ul li {
  text-indent: -1em;
  padding-left: 1em
}

#campaign .campaignmatter dd figure {
  position: absolute;
  left: 90px;
  top: -66px;
  width: 160px
}

@media screen and (max-width: 740px) {
  #campaign .campaignmatter dd figure {
      position:relative;
      left: inherit;
      top: inherit;
      text-align: center;
      width: 70%;
      margin: auto
  }
}

#campaign .campaignmatter dd figure img {
  width: 100%
}

#campaign .copy {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1045px;
  height: 45px;
  margin: 0 auto 25px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  background-color: #1455a2
}

@media screen and (max-width: 740px) {
  #campaign .copy {
      width:100%;
      height: 45px;
      margin: 0 auto 25px;
      color: #fff;
      font-size: 2.1rem
  }
}

#campaign .text {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px
}

@media screen and (max-width: 740px) {
  #campaign .text {
      font-size:1.6rem;
      margin-bottom: 30px
  }
}

#campaign h2 {
  color: #1455a2;
  font-size: 4.0rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 30px
}

@media screen and (max-width: 740px) {
  #campaign h2 {
      font-size:3.0rem;
      margin-bottom: 30px
  }
}

#campaign ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px
}

#campaign ol li {
  width: 580px
}

@media screen and (max-width: 740px) {
  #campaign ol li {
      width:100%
  }
}

#campaign ol li:first-of-type,#campaign ol li:nth-of-type(2) {
  margin-bottom: 30px
}

@media screen and (max-width: 740px) {
  #campaign ol li:not(:last-of-type) {
      margin-bottom:15px
  }
}

#campaign ol li img {
  width: 100%
}

#campaign .anno {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 25px auto 80px;
  text-indent: -1em;
  padding-left: 1em
}

@media screen and (max-width: 740px) {
  #campaign .anno {
      margin:10px auto 50px
  }
}

#secret {
  position: relative;
  padding: 90px 0 80px;
  color: #fff;
  font-size: 3.8rem;
  font-weight: 400;
  text-align: center;
  background-color: #5189c3
}

@media screen and (max-width: 740px) {
  #secret {
      padding:40px 0 30px;
      font-size: 1.8rem
  }
}

#secret::after {
  position: absolute;
  content: "";
  bottom: -54px;
  left: calc(50% - 36px);
  border-style: solid;
  border-width: 54px 40px 0 40px;
  border-color: #5188c3 transparent transparent transparent
}

@media screen and (max-width: 740px) {
  #secret::after {
      bottom:-30px
  }
}

#secret .copy {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  margin-bottom: 20px
}

@media screen and (max-width: 740px) {
  #secret .copy {
      position:relative;
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 1.4;
      margin-bottom: 20px
  }

  #secret .copy br {
      display: none
  }

  #secret .copy img {
      width: 10%
  }
}

#secret h2 {
  font-size: 7.2rem;
  margin-bottom: 65px
}

@media screen and (max-width: 740px) {
  #secret h2 {
      font-size:4rem;
      margin-bottom: 40px
  }
}

#secret ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between
}

#secret ul li {
  width: 233px
}

@media screen and (max-width: 740px) {
  #secret ul li {
      width:48%
  }

  #secret ul li:not(:last-of-type) {
      margin-bottom: 20px
  }
}

#secret ul li img {
  width: 100%
}

#solution {
  padding: 100px 0 80px;
  background-color: #e2ebf4
}

@media screen and (max-width: 740px) {
  #solution {
      padding:60px 0 40px
  }
}

#solution .text {
  color: #1455a2;
  font-size: 4.0rem;
  font-weight: 400;
  text-align: center
}

@media screen and (max-width: 740px) {
  #solution .text {
      font-size:2.0rem
  }
}

#solution h2 {
  color: #1455a2;
  font-size: 8rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 80px
}

@media screen and (max-width: 740px) {
  #solution h2 {
      font-size:4rem;
      margin-bottom: 30px
  }
}

#solution h2 img {
  margin-right: 10px;
  margin-bottom: 13px
}

@media screen and (max-width: 740px) {
  #solution h2 img {
      display:block;
      height: 35px;
      margin: 15px auto 3px;
      width: inherit
  }
}

#solution h2 span {
  font-size: 6.0rem
}

@media screen and (max-width: 740px) {
  #solution h2 span {
      font-size:3.6rem
  }
}

#solution h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 6rem;
  font-weight: 400;
  text-align: center;
  background-color: #1455a2;
  padding: 15px
}

@media screen and (max-width: 740px) {
  #solution h3 {
      display:block;
      font-size: 3.0rem;
      padding: 10px
  }
}

#solution h3 sup {
  font-size: 2rem;
  margin-top: -25px;
  margin-left: -12px
}

@media screen and (max-width: 740px) {
  #solution h3 sup {
      font-size:1rem;
      margin-top: 0;
      margin-left: -8px;
      top: -19px
  }
}

#solution .box {
  padding: 50px 50px 70px;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #solution .box {
      padding:20px 10px 40px
  }
}

#solution .box h4 {
  font-size: 3rem;
  font-weight: 400;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #000
}

@media screen and (max-width: 740px) {
  #solution .box h4 {
      font-size:2.4rem;
      padding-bottom: 10px;
      margin-bottom: 20px
  }
}

#solution table {
  font-size: 1.8rem;
  margin-bottom: 80px
}

@media screen and (max-width: 740px) {
  #solution table {
      font-size:1.5rem;
      margin-bottom: 60px
  }
}

#solution table th,#solution table td {
  border-left: 0;
  border-right: 0
}

#solution table th {
  border: 0;
  padding: 0 5px 15px
}

@media screen and (max-width: 740px) {
  #solution table th {
      border:0;
      padding: 0 3px 10px
  }
}

#solution table th span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #aad1ff;
  width: 100%;
  height: 80px;
  color: #1455a2;
  font-size: 2.8rem;
  border: 0;
  border-radius: 6px
}

@media screen and (max-width: 740px) {
  #solution table th span {
      height:auto;
      padding: 10px 2px;
      font-size: 1.8rem;
      line-height: 1.2
  }
}

#solution table th span::after {
  position: absolute;
  content: "";
  bottom: -14px;
  left: calc(50% - 36px);
  border-style: solid;
  border-width: 30px 27px 0 27px;
  border-color: #aad1ff transparent transparent transparent
}

@media screen and (max-width: 740px) {
  #solution table th span::after {
      bottom:-11px;
      left: calc(50% - 11px);
      border-width: 15px 12px 0 12px
  }
}

#solution table th:last-of-type span {
  color: #000;
  font-size: 2.0rem;
  background-color: #dbdbdb
}

@media screen and (max-width: 740px) {
  #solution table th:last-of-type span {
      height:auto;
      padding: 6px 2px;
      font-size: 1.2rem
  }

  #solution table th:last-of-type span.cell01 {
      height: auto;
      padding: 10px 2px;
      font-size: 1.8rem;
      line-height: 1.2
  }
}

#solution table th:last-of-type span::after {
  border-color: #dbdbdb transparent transparent transparent
}

#solution table td {
  width: 425px
}

@media screen and (max-width: 740px) {
  #solution table td {
      width:33.3%
  }
}

#solution table td:first-child {
  width: 250px;
  background-color: #ededed;
  text-align: left;
  padding-left: 30px
}

@media screen and (max-width: 740px) {
  #solution table td:first-child {
      width:33.3%;
      padding-left: 6px
  }
}

#solution table td.cell {
  color: #1455a2;
  font-weight: 400;
  border-right: 1px solid #cecece
}

#solution .reference {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between
}

#solution .reference figure {
  width: 330px
}

@media screen and (max-width: 740px) {
  #solution .reference figure {
      width:90%;
      margin: 0 auto 40px
  }
}

#solution .reference figure figcaption {
  width: 100%
}

#solution .reference figure figcaption strong {
  display: block;
  font-size: 2.2rem;
  width: 100%
}

@media screen and (max-width: 740px) {
  #solution .reference figure figcaption strong {
      display:block;
      font-size: 1.8rem;
      width: 100%
  }
}

#solution .reference figure figcaption strong.blue {
  color: #1455a2
}

#solution .reference figure img {
  width: 100%;
  max-width: 500px;
  margin-top: -75px
}

#solution .reference figure:last-of-type figcaption {
  margin-top: -30px;
  margin-bottom: 20px;
  text-align: center
}

@media screen and (max-width: 740px) {
  #solution .reference figure:last-of-type {
      margin-bottom:0
  }

  #solution .reference figure:last-of-type figcaption {
      margin-top: 0;
      margin-bottom: 0
  }
}

#solution .reference figure:last-of-type img {
  margin-top: 0;
  margin-bottom: -60px
}

@media screen and (max-width: 740px) {
  #solution .reference figure:last-of-type img {
      margin-bottom:0
  }
}

#solution .reference .aluminium {
  width: 340px;
  margin-bottom: 0
}

@media screen and (max-width: 740px) {
  #solution .reference .aluminium {
      width:100%;
      margin-bottom: 40px
  }
}

#solution .reference .aluminium img {
  width: 100%
}

#solution .reference .aluminium th,#solution .reference .aluminium td {
  padding: 10px;
  text-align: center;
  border: 0
}

#solution .reference .aluminium:first-of-type th:first-of-type {
  background-color: #aad1ff;
  color: #1455a2
}

#solution .reference .aluminium th:last-of-type {
  background-color: #dbdbdb;
  color: #000
}

#solution .reference .aluminium td {
  padding: 15px 10px 0;
  text-align: center;
  border: 0;
  background-color: #fff;
  width: 25%
}

#solution .reference .aluminium td:first-of-type {
  border-right: 1px solid #cecece
}

#solution .anno {
  color: #1455a2;
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 8px
}

#reason {
  padding: 140px 0 80px;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #reason {
      padding:80px 0 40px;
      background-color: #fff
  }
}

#reason h3 {
  color: #1455a2;
  font-size: 6.0rem;
  font-weight: 400;
  margin-bottom: 100px;
  text-align: center
}

@media screen and (max-width: 740px) {
  #reason h3 {
      font-size:3.0rem;
      margin-bottom: 40px
  }
}

#reason article {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between
}

#reason article:first-of-type {
  padding-bottom: 50px;
  margin-bottom: 100px;
  border-bottom: 1px solid #c7c7c7
}

@media screen and (max-width: 740px) {
  #reason article:first-of-type {
      padding-bottom:40px;
      margin-bottom: 30px
  }
}

#reason article div:first-of-type {
  width: 440px
}

@media screen and (max-width: 740px) {
  #reason article div:first-of-type {
      width:65%
  }
}

#reason article div h4 {
  font-size: 4.8rem;
  font-weight: 400;
  margin-bottom: 40px
}

@media screen and (max-width: 740px) {
  #reason article div h4 {
      font-size:2.4rem;
      margin-bottom: 20px
  }
}

#reason article div h4 span {
  font-size: 3.8rem
}

@media screen and (max-width: 740px) {
  #reason article div h4 span {
      font-size:2rem;
      margin-bottom: 20px
  }
}

#reason article div p {
  font-size: 1.8rem;
  line-height: 2
}

@media screen and (max-width: 740px) {
  #reason article div p {
      font-size:1.5rem;
      line-height: 1.5
  }
}

#reason article>img:first-of-type {
  margin-top: 40px
}

@media screen and (max-width: 740px) {
  #reason article>img:first-of-type {
      width:30%;
      max-width: 160px;
      margin-top: 30px
  }
}

#reason article div:last-of-type {
  width: 480px
}

@media screen and (max-width: 740px) {
  #reason article div:last-of-type {
      width:100%
  }
}

#reason article div img {
  width: 100%;
  margin-top: -40px
}

@media screen and (max-width: 740px) {
  #reason article div img {
      width:100%;
      margin-top: 30px
  }
}

#reduction {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  color: #fff;
  text-align: center;
  height: 340px;
  line-height: 1.4;
  background: linear-gradient(#051d4a 0,#1666ab 100%)
}

@media screen and (max-width: 740px) {
  #reduction {
      line-height:1.2;
      padding: 40px 0 20px;
      height: auto
  }
}

#reduction::after {
  position: absolute;
  content: "";
  top: -20px;
  left: calc(50% - 36px);
  border-style: solid;
  border-width: 54px 40px 0 40px;
  border-color: #fff transparent transparent transparent
}

@media screen and (max-width: 740px) {
  #reduction::after {
      top:-30px
  }
}

#reduction p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 6.0rem;
  font-weight: 400;
}

@media screen and (max-width: 740px) {
  #reduction p {
      display:block;
      font-size: 2.8rem;
      font-weight: 400;
  }
}

#reduction p:last-of-type {
  align-items: baseline
}

#reduction p img {
  margin-right: 15px
}

@media screen and (max-width: 740px) {
  #reduction p img {
      height:35px;
      margin-right: 0
  }
}

#reduction p strong {
  font-size: 8.0rem
}

@media screen and (max-width: 740px) {
  #reduction p strong {
      font-size:4.0rem
  }
}

#processing {
  padding: 85px 0;
  background-color: #f1f8ff
}

#processing.campaignnone {
  padding-bottom: 0
}

@media screen and (max-width: 740px) {
  #processing {
      padding:40px 0
  }
}

#processing h3 {
  font-size: 5rem;
  font-weight:400;
  text-align: center;
  margin-bottom: 60px
}

@media screen and (max-width: 740px) {
  #processing h3 {
      font-size:2.6rem;
      margin-bottom: 30px
  }
}

#processing h4 {
  position: relative;
  width: 100%;
  height: 155px;
  color: #fff;
  font-size: 6.0rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 30px;
  text-shadow: 3px 3px 0 #000;
  background: linear-gradient(90deg,#33dec4 0,#6dafe6 100%)
}

@media screen and (max-width: 740px) {
  #processing h4 {
      height:auto;
      font-size: 3.0rem;
      margin-bottom: 30px;
      padding: 10px 0
  }
}

#processing h4::after {
  position: absolute;
  content: "";
  bottom: -25px;
  left: calc(50% - 36px);
  border-style: solid;
  border-width: 54px 40px 0 40px;
  border-color: #50c6d5 transparent transparent transparent
}

@media screen and (max-width: 740px) {
  #processing h4::after {
      bottom:-18px;
      left: calc(50% - 16px);
      border-style: solid;
      border-width: 20px 17px 0 17px
  }
}

#processing h4 span {
  font-size: 10.0rem
}

@media screen and (max-width: 740px) {
  #processing h4 span {
      font-size:6.0rem
  }
}

#processing figure {
  padding: 50px 0 40px;
  margin-bottom: 80px;
  text-align: center;
  background-color: #f2f2f2
}

@media screen and (max-width: 740px) {
  #processing figure {
      padding:30px 0 20px;
      margin-bottom: 30px
  }
}

#processing figure h5 {
  font-size: 4.0rem;
  margin-bottom: 40px
}

@media screen and (max-width: 740px) {
  #processing figure h5 {
      font-size:2.8rem;
      margin-bottom: 20px
  }

  #processing figure img {
      padding: 0 3%
  }
}

#processing figure figcaption {
  text-align: left;
  padding: 10px 0 0 40px
}

@media screen and (max-width: 740px) {
  #processing figure figcaption {
      text-align:left;
      padding: 10px 3% 0
  }
}

.contact {
  width: 100%;
  padding: 75px 0;
  background-color: #b7cee5
}

.contact.processing {
  background:  no-repeat center top;
  background-size: cover
}

@media screen and (max-width: 740px) {
  .contact {
      padding:30px 0
  }
}

.contact ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 1200px;
  margin: 0 auto
}

.contact ul.campaignnone {
  justify-content: center
}

@media screen and (max-width: 740px) {
  .contact ul {
      width:100%;
      margin: 0 auto
  }
}

.contact ul li {
  width: 590px;
  height: 100px;
  display: flex;
  justify-content: flex-end
}

@media screen and (max-width: 740px) {
  .contact ul li {
      width:100%;
      height: 60px
  }

  .contact ul li:first-of-type {
      margin-bottom: 20px
  }
}

.contact ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 400;
  background-color: #0f255b;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  border: 1px solid #0f255b
}

@media screen and (max-width: 740px) {
  .contact ul li a {
      width:100%;
      height: 100%;
      font-size: 2.0rem
  }

  .contact ul li a img {
      height: 40px;
      width: auto
  }
}

.contact ul li:last-of-type a {
  background-color: #2d5c8d;
  border: 1px solid #2d5c8d
}

.contact ul li a.hover {
  text-decoration: none;
  color: #0f255b;
  background-color: #fff
}

.contact ul li:last-of-type a.hover {
  color: #2d5c8d;
  background-color: #fff
}

.contact ul li a img {
  margin-right: 10px
}

.contact ul li a.hover img {
  filter: brightness(0)
}

#support {
  padding: 70px 0 100px;
  background:  no-repeat center top;
  background-size: cover
}

@media screen and (max-width: 740px) {
  #support {
      padding:50px 15px
  }
}

#support article {
  position: relative;
  padding: 85px 150px 53px;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #support article {
      padding:40px 10px 0;
      background-color: #fff
  }
}

#support h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  text-align: center;
  color: #1455a2;
  font-size: 6.0rem;
  font-weight: 400;
  margin-bottom: 25px
}

@media screen and (max-width: 740px) {
  #support h2 {
      display:block;
      font-size: 2.8rem;
      margin-bottom: 20px
  }
}

#support h2 span {
  font-size: 8.0rem
}

@media screen and (max-width: 740px) {
  #support h2 span {
      font-size:4.0rem
  }
}

#support h2 img {
  margin-right: 15px
}

@media screen and (max-width: 740px) {
  #support h2 img {
      height:35px;
      margin-right: 0
  }
}

#support article div {
  padding: 20px;
  text-align: center;
  background-color: #f2f2f2;
  border-radius: 8px;
  margin-bottom: 40px
}

@media screen and (max-width: 740px) {
  #support article div {
      padding:15px 10px;
      margin: 0 2% 20px
  }
}

#support article div h3 {
  color: #2d5c8d;
  font-size: 3.0rem;
  font-weight: 400;
  padding-bottom: 15px
}

@media screen and (max-width: 740px) {
  #support article div h3 {
      font-size:2.6rem;
      padding-bottom: 10px
  }
}

#support article div p {
  font-size: 2.6rem
}

@media screen and (max-width: 740px) {
  #support article div p {
      font-size:2.0rem
  }
}

#support article ul {
  margin-left: 290px;
  font-size: 3.0rem;
  font-weight: 400;
  line-height: 1.4
}

@media screen and (max-width: 740px) {
  #support article ul {
      margin:0 20px;
      font-size: 2.1rem
  }
}

#support article ul li {
  padding: 10px 0 10px 60px;
  background:  no-repeat left center
}

@media screen and (max-width: 740px) {
  #support article ul li {
      padding:5px 0 5px 35px;
      background-size: 25px;
      background-position: left 10px
  }
}

#support figure {
  position: absolute;
  left: -50px;
  bottom: -100px
}

@media screen and (max-width: 740px) {
  #support figure {
      position:relative;
      left: inherit;
      bottom: inherit;
      width: 75%;
      max-width: 430px;
      margin: 20px auto 0
  }
}

#machining {
  padding: 110px 0 80px;
  background: linear-gradient(#fff 60%,#efefef 100%)
}

@media screen and (max-width: 740px) {
  #machining {
      padding:60px 0 40px
  }
}

#machining .query {
  position: relative;
  color: #fff;
  font-size: 5.0rem;
  font-weight: 400;
  text-align: center;
  padding: 65px 0 60px;
  background-color: #78c8e6;
  border-radius: 15px;
  text-shadow: 0 0 6px rgba(0,0,0,0.18)
}

@media screen and (max-width: 740px) {
  #machining .query {
      font-size:2.8rem;
      padding: 25px 10px 50px;
      border-radius: 10px;
      margin-bottom: 30px
  }
}

#machining .query:after {
  position: absolute;
  content: "";
  bottom: -25px;
  left: calc(50% - 36px);
  border-style: solid;
  border-width: 54px 40px 0 40px;
  border-color: #78c8e6 transparent transparent transparent
}

#machining .query img {
  position: absolute;
  right: 45px;
  bottom: 0
}

@media screen and (max-width: 740px) {
  #machining .query img {
      width:80px;
      right: 10px
  }
}

@media only screen and (max-device-width: 320px) {
  #machining .query img {
      width:60px;
      right: 3px
  }
}

#machining .catch {
  text-align: center;
  color: #1455a2;
  font-size: 8.0rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 70px
}

#machining .catch span {
  font-size: 6.0rem
}

#machining .catch strong {
  background:  no-repeat center bottom
}

#machining .catch b {
  position: relative;
  font-size: 14.0rem;
}

#machining .catch b sup {
  position: absolute;
  font-size: 2.0rem;
  top: 70px;
  right: -20px
}

@media screen and (max-width: 740px) {
  #machining .catch {
      font-size:4.0rem;
      margin-bottom: 50px;
      line-height: 1.4
  }

  #machining .catch br {
      display: none
  }

  #machining .catch span {
      font-size: 3.0rem
  }

  #machining .catch strong {
      line-height: 1.2;
      padding-bottom: 5px
  }

  #machining .catch b {
      position: relative;
      font-size: 8.0rem;
      line-height: 1
  }

  #machining .catch b sup {
      font-size: 1.6rem;
      top: 40px;
      right: -15px
  }
}

#machining figure {
  margin-bottom: 100px
}

@media screen and (max-width: 740px) {
  #machining figure {
      margin-bottom:40px
  }
}

#machining figure figcaption {
  font-size: 2.8rem;
  margin-bottom: 1em
}

@media screen and (max-width: 740px) {
  #machining figure figcaption {
      font-size:1.8rem;
      margin-bottom: 10px
  }
}

#machining .copy {
  text-align: center;
  color: #1455a2;
  font-size: 6.0rem;
  font-weight: 400;
  line-height: 1.35
}

#machining .copy span {
  font-size: 10.0rem;
}

#machining .copy b {
  position: relative;
  font-size: 10.0rem;
  font-weight: 400;
}

#machining .copy b sup {
  position: absolute;
  font-size: 2.0rem;
  top: 70px;
  right: -20px
}

@media screen and (max-width: 740px) {
  #machining .copy {
      font-size:4.0rem;
      margin-bottom: 50px;
      line-height: 1.4
  }

  #machining .copy br {
      display: none
  }

  #machining .copy span {
      font-size: 5.0rem
  }

  #machining .copy strong {
      line-height: 1.2;
      padding-bottom: 5px
  }

  #machining .copy b {
      position: relative;
      font-size: 8.0rem;
      line-height: 1
  }

  #machining .copy b sup {
      font-size: 1.6rem;
      top: 40px;
      right: -15px
  }
}

#machining .anno {
  color: #1455a2;
  text-indent: -1em;
  padding-left: 1em;
  margin: 20px 0 0 50px
}

#lineup {
  padding: 150px 0;
  background-color: #efefef
}

@media screen and (max-width: 740px) {
  #lineup {
      padding:50px 0
  }
}

#lineup h2 {
  color: #0f255b;
  font-size: 5.5rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 60px
}

@media screen and (max-width: 740px) {
  #lineup h2 {
      font-size:3.5rem;
      margin-bottom: 30px
  }
}

#lineup article {
  background-color: #fff;
  margin-bottom: 50px
}

#lineup article:last-of-type {
  margin-bottom: 0
}

#lineup article .box {
  padding: 80px 50px 75px;
  background-color: #fff
}

@media screen and (max-width: 740px) {
  #lineup article .box {
      padding:40px 10px 30px
  }
}

#lineup article h1 {
  color: #fff;
  font-size: 3.0rem;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  background: linear-gradient(90deg,#001d4a 0,#1455a2 100%)
}

@media screen and (max-width: 740px) {
  #lineup article h1 {
      font-size:2.4rem;
      height: 60px;
      background: linear-gradient(90deg,#001d4a 0,#1455a2 100%)
  }
}

#lineup article h2 {
  color: #1455a2;
  font-size: 2.3rem;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  border-top: 2px solid #1455a2;
  border-bottom: 2px solid #1455a2
}

@media screen and (max-width: 740px) {
  #lineup article h2 {
      font-size:1.64rem
  }
}

#lineup article figure {
  width: 475px;
  margin: 30px auto
}

@media screen and (max-width: 740px) {
  #lineup article figure {
      width:90%;
      margin: 30px auto
  }
}

#lineup article figure img {
  width: 100%
}

#lineup article ul {
  display: inline-block;
  width: 100%;
  margin-bottom: 10px
}

@media screen and (max-width: 740px) {
  #lineup article ul {
      margin-bottom:0
  }
}

#lineup article ul li {
  float: left;
  color: #124d94;
  padding: 6px 15px;
  margin-right: 10px;
  border: 1px solid #13519b;
  background-color: #fff;
  border-radius: 30px;
  line-height: 1
}

@media screen and (max-width: 740px) {
  #lineup article ul li {
      font-size:1.3rem;
      padding: 5px 8px;
      margin-bottom: 8px
  }
}

#lineup article ul li:last-of-type {
  float: right;
  color: #000;
  border: 0;
  margin-right: 0;
  padding: 12px 0 0
}

#lineup article .obverse {
  overflow-x: auto;
  width: 100%
}

#lineup article .obverse table th {
  padding: 15px 0;
  background-color: #ebebeb;
  line-height: 1.2
}

#lineup article .obverse.v02 table th {
  padding: 6px 0
}

@media screen and (max-width: 740px) {
  #lineup article .obverse table th,#lineup article .obverse.v02 table th {
      padding:6px 10px;
      white-space: nowrap
  }
}

#lineup article .obverse table td {
  padding: 12px 0;
  width: 100px
}

@media screen and (max-width: 740px) {
  #lineup article .obverse table td {
      padding:6px 10px;
      white-space: nowrap
  }
}

#lineup article .obverse table td:first-of-type {
  width: 157px
}

#lineup article .obverse table td:nth-last-of-type(2) {
  width: 138px
}

#lineup article .obverse table td:last-of-type {
  width: 114px;
  padding: 0
}

@media screen and (max-width: 740px) {
  #lineup article .obverse table td:last-of-type {
      padding:6px
  }
}

#lineup article .obverse table td a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 400;
  height: 36px;
  width: 100px;
  margin: auto;
  background-color: #0f255b;
  border: 1px solid #0f255b;
  border-radius: 6px;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  #lineup article .obverse table td a {
      height:30px;
      width: 80px
  }
}

#lineup article .obverse table td a.hover {
  text-decoration: none;
  color: #0f255b;
  background-color: #fff
}

#lineup article .obverse table td a.linknone {
  pointer-events: none;
  cursor: text;
  color: #fff;
  background-color: #c3c3c3;
  border-color: #c3c3c3
}

#lineup article .obverse table td a.linknone.hover {
  color: #fff;
  background-color: #c3c3c3
}

#lineup article .obversetext {
  margin-top: 5px
}

#lineup article .obverse.v02 table td {
  padding: 6px 0;
  width: 120px
}

@media screen and (max-width: 740px) {
  #lineup article .obverse.v02 table td {
      padding:6px 10px;
      white-space: nowrap
  }
}

#lineup article .obverse.v02 table td:first-of-type {
  width: 157px
}

#lineup article .obverse.v02 table td:nth-last-of-type(2) {
  width: 117px
}

#example {
  padding: 150px 0;
  background:  center top
}

@media screen and (max-width: 740px) {
  #example {
      padding:60px 0
  }
}

#example h2 {
  color: #1455a2;
  font-size: 6.0rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 60px
}

@media screen and (max-width: 740px) {
  #example h2 {
      font-size:4.0rem;
      margin-bottom: 30px
  }
}

#example .anker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 80px
}

@media screen and (max-width: 740px) {
  #example .anker {
      margin-bottom:40px
  }
}

#example .anker li {
  width: 390px;
  height: 70px
}

#example .anker li:first-of-type,#example .anker li:nth-of-type(2),#example .anker li:nth-of-type(3) {
  margin-bottom: 15px
}

@media screen and (max-width: 740px) {
  #example .anker li {
      width:48%;
      height: 40px
  }

  #example .anker li:first-of-type,#example .anker li:nth-of-type(2),#example .anker li:nth-of-type(3),#example .anker li:nth-of-type(4) {
      margin-bottom: 10px
  }
}

#example .anker li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 3px solid #0f255b;
  border-radius: 10px;
  height: 100%;
  widows: 100%;
  font-size: 2.0rem;
  font-weight: 400;
  color: #0f255b;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  #example .anker li a {
      border:1px solid #0f255b;
      border-radius: 8px;
      font-size: 1.8rem
  }
}

#example .anker li a::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  right: 30px;
  top: 27px;
  border-top: 2px solid #0f255b;
  border-right: 2px solid #0f255b;
  transform: rotate(135deg);
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  #example .anker li a::after {
      right:10px;
      top: 14px;
      width: 6px;
      height: 6px;
      border-top-width: 1px;
      border-right-width: 1px
  }
}

#example .anker li a.hover {
  text-decoration: none;
  background-color: #0f255b;
  color: #fff
}

#example .anker li a.hover::after {
  border-color: #fff
}

#example h3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 3.0rem;
  font-weight: 400;
  height: 100px;
  background-color: #0f255b
}

@media screen and (max-width: 740px) {
  #example h3 {
      position:relative;
      font-size: 2.0rem;
      height: 60px
  }
}

#example .kindbtn {
  cursor: pointer;
  position: absolute;
  height: 50px;
  width: 50px;
  right: 8px;
  top: 27px;
  background-color: rgba(255,255,255,0.0)
}

@media screen and (max-width: 740px) {
  #example .kindbtn {
      height:40px;
      width: 40px;
      top: 11px
  }
}

#example .kindbtn::before,#example .kindbtn::after {
  content: '';
  display: block;
  width: 24px;
  height: 4px;
  background: #fff;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translatey(-50%);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  #example .kindbtn::before,#example .kindbtn::after {
      width:20px;
      height: 2px;
      right: 10px;
      top: 50%
  }
}

#example .kindbtn::after {
  transform: translatey(-50%) rotate(90deg)
}

#example .kindbtn.open::after {
  transform: rotate(0)
}

#example .kind {
  position: relative;
  padding-bottom: 0;
  margin-bottom: 30px;
  background-color: #ebebeb;
  box-shadow: 0 0 60px rgba(0,0,0,0.2);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#example .kind.open {
  padding-bottom: 50px;
  margin-bottom: 75px
}

@media screen and (max-width: 740px) {
  #example .kind.open {
      padding-bottom:30px;
      margin-bottom: 30px
  }
}

#example .kindarea {
  display: none
}

#example .kindbox {
  margin: 2px 50px;
  padding: 50px 90px 80px;
  background-color: #fff
}

#example .kindbox:first-of-type {
  margin-top: 50px
}

#example .kind:last-of-type {
  margin-bottom: 0
}

#example .kindbox.hide {
  visibility: hidden;
  display: none
}

@media screen and (max-width: 740px) {
  #example .kindbox {
      margin:2px 15px;
      padding: 40px 15px 50px
  }

  #example .kindbox:first-of-type {
      margin-top: 30px
  }
}

#example .kindbox h4 {
  color: #0f255b;
  font-size: 4.0rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 50px
}

@media screen and (max-width: 740px) {
  #example .kindbox h4 {
      font-size:2.4rem;
      margin-bottom: 20px
  }
}

#example .kindbox .list {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px
}

@media screen and (max-width: 740px) {
  #example .kindbox .list {
      flex-wrap:wrap;
      justify-content: space-between
  }

  #example .kindbox .list.v02 li:first-of-type {
      width: 100%;
      margin-bottom: 15px
  }
}

#example .kindbox .list li:not(:last-of-type) {
  margin-right: 30px
}

@media screen and (max-width: 740px) {
  #example .kindbox .list li {
      width:48%
  }

  #example .kindbox .list li:not(:last-of-type) {
      margin-right: 0
  }

  #example .kindbox .list li:nth-of-type(3) {
      margin-top: 15px
  }
}

#example .kindbox .listbox {
  width: 100%;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 740px) {
  #example .kindbox .listbox {
      flex-wrap:wrap
  }
}

#example .kindbox .listbox div {
  width: 49%
}

@media screen and (max-width: 740px) {
  #example .kindbox .listbox div {
      width:100%
  }
}

#example .kindbox .listbox div p {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  color: #fff;
  font-size: 1.6rem;
  background-color: #1455a2;
  margin-bottom: 8px
}

#example .kindbox .listbox .list {
  width: 100%;
  justify-content: space-between
}

#example .kindbox .listbox .list li {
  width: 49%;
  justify-content: space-between
}

#example .kindbox .listbox .list li img {
  width: 100%
}

#example .kindbox .listbox .list li:not(:last-of-type) {
  margin-right: 0
}

#example .kindbox .list li span {
  display: block;
  font-size: 1.4rem;
  text-align: center;
  padding-top: 6px
}

@media screen and (max-width: 740px) {
  #example .kindbox .list li span {
      font-size:1.2rem
  }
}

#example .kindbox .feature {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px
}

@media screen and (max-width: 740px) {
  #example .kindbox .feature {
      margin-bottom:30px
  }
}

#example .kindbox .feature p {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #0f255b;
  font-size: 2.0rem;
  font-weight: 400;
  background-color: #78c8e6;
  width: 440px;
  min-height: 80px;
  height: auto;
  border-radius: 20px
}

#example .kindbox .feature p.center {
  margin: auto
}

@media screen and (max-width: 740px) {
  #example .kindbox .feature p {
      font-size:1.8rem;
      width: 100%;
      min-height: 60px;
      padding: 10px 15px;
      border-radius: 10px;
      margin-bottom: 10px
  }
}

#example .kindbox .spec {
  width: 440px;
  line-height: 1.7;
  border-top: 1px solid #cecece
}

#example .kindbox .spec.center {
  margin: auto
}

#example .kindbox .spec li {
  padding: 10px 1em;
  border-bottom: 1px solid #cecece
}

#example .kindbox .spec li.min {
  min-height: 80px;
  display: flex;
  align-items: center
}

@media screen and (max-width: 740px) {
  #example .kindbox .spec li.min {
      min-height:60px
  }
}

#example .kindbox .spec li strong {
  color: #051d4a;
  font-size: 1.8rem
}

@media screen and (max-width: 740px) {
  #example .kindbox .spec li strong {
      font-size:1.6rem
  }
}

#example .kindbox .obverse {
  overflow-x: auto;
  width: 100%
}

#example .kindbox .obverse table th {
  padding: 8px 0;
  background-color: #ebebeb;
  line-height: 1.2;
  width: 40px
}

@media screen and (max-width: 740px) {
  #example .kindbox .obverse table th {
      padding:6px 10px;
      white-space: nowrap
  }
}

#example .kindbox .obverse table th:nth-of-type(2) {
  width: 152px
}

#example .kindbox .obverse table th:nth-of-type(3) {
  width: 180px
}

#example .kindbox .obverse table th:nth-of-type(5),#example .kindbox .obverse table th:nth-of-type(6) {
  width: 90px
}

#example .kindbox .obverse table th:nth-of-type(7) {
  width: 120px
}

#example .kindbox .obverse table th:nth-of-type(8) {
  width: 90px
}

#example .kindbox .obverse table th:nth-of-type(9) {
  width: 120px
}

#example .kindbox .obverse.v02 table th:nth-of-type(4) {
  width: 70px
}

#example .kindbox .obverse.v02 table th:nth-of-type(5) {
  width: 140px
}

#example .kindbox .obverse.v02 table th:nth-of-type(6) {
  width: 129px
}

#example .kindbox .obverse.v02 table th:nth-of-type(7) {
  width: 130px
}

#example .kindbox .obverse.v02 table th:nth-of-type(8) {
  width: 80px
}

#example .kindbox .obverse.v03 table th:nth-of-type(3) {
  width: 150px
}

#example .kindbox .obverse.v03 table th:nth-of-type(4) {
  width: 100px
}

#example .kindbox .obverse.v03 table th:nth-of-type(5) {
  width: 40px
}

#example .kindbox .obverse.v03 table th:nth-of-type(6) {
  width: 90px
}

#example .kindbox .obverse.v03 table th:nth-of-type(7) {
  width: 117px
}

#example .kindbox .obverse.v03 table th:nth-of-type(8) {
  width: 133px
}

#example .kindbox .obverse.v03 table th:nth-of-type(9) {
  width: 100px
}

#example .kindbox .obverse.v04 table th:nth-of-type(3) {
  width: 201px
}

#example .kindbox .obverse.v04 table th:nth-of-type(4) {
  width: 60px
}

#example .kindbox .obverse.v04 table th:nth-of-type(5) {
  width: 110px
}

#example .kindbox .obverse.v04 table th:nth-of-type(6) {
  width: 108px
}

#example .kindbox .obverse.v04 table th:nth-of-type(7) {
  width: 120px
}

#example .kindbox .obverse.v04 table th:nth-of-type(8) {
  width: 130px
}

#example .kindbox .obverse.v05 table th:nth-of-type(2) {
  width: 252px
}

#example .kindbox .obverse.v05 table th:nth-of-type(3) {
  width: 60px
}

#example .kindbox .obverse.v05 table th:nth-of-type(4) {
  width: 101px
}

#example .kindbox .obverse.v05 table th:nth-of-type(5) {
  width: 160px
}

#example .kindbox .obverse.v05 table th:nth-of-type(6) {
  width: 158px
}

#example .kindbox .obverse.v05 table th:nth-of-type(7) {
  width: 150px
}

#example .kindbox .obverse table td {
  padding: 8px 0;
  line-height: 1.2
}

@media screen and (max-width: 740px) {
  #example .kindbox .obverse table td {
      padding:6px 10px;
      white-space: nowrap
  }
}

#example .kindbox .obverse table .last td {
  color: #051d4a;
  font-weight: 400;
}

#example .kindbox .obverse table .last td[colspan] {
  text-align: right;
  padding-right: 1em
}

#example .kindbox .example_graf {
  width: 100%;
  margin-top: 20px;
  border: 1px solid #cecece;
  padding: 20px 10px;
  text-align: center
}

#example .kindbox .example_graf img {
  width: auto;
  height: 190px
}

@media screen and (max-width: 740px) {
  #example .kindbox .example_graf {
      padding:20px 3px
  }

  #example .kindbox .example_graf img {
      width: 100%;
      height: auto
  }
}

#faq {
  padding: 150px 0
}

@media screen and (max-width: 740px) {
  #faq {
      padding:60px 0
  }
}

#faq h2 {
  color: #1455a2;
  font-size: 5.5rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px
}

@media screen and (max-width: 740px) {
  #faq h2 {
      font-size:3.5rem;
      margin-bottom: 30px
  }
}

#faq dl:not(:last-of-type) {
  margin-bottom: 40px
}

@media screen and (max-width: 740px) {
  #faq dl:not(:last-of-type) {
      margin-bottom:20px
  }
}

#faq dl dt,#faq dl dd {
  position: relative;
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 2.4rem;
  font-weight: normal;
  height: 110px;
  padding: 0 50px 0 110px
}

#faq dl dt {
  color: #0955a2;
  background-color: #c7e5ff;
  border-radius: 20px 20px 0 0
}

#faq dl dd {
  background-color: #eeeeef;
  border-radius: 0 0 20px 20px
}

#faq dl dd a {
  color: #000;
  text-decoration: underline
}

#faq dl dd a.hover {
  text-decoration: none
}

@media screen and (max-width: 740px) {
  #faq dl dt,#faq dl dd {
      text-align:left;
      display: block;
      font-size: 1.8rem;
      height: auto;
      padding: 15px 10px 15px 50px
  }
}

#faq dl dt::before,#faq dl dd::before {
  position: absolute;
  font-size: 5.0rem;
  font-weight: 400;
  left: 50px;
  top: 15px
}

#faq dl dt::before {
  content: "q"
}

#faq dl dd::before {
  content: "a"
}

@media screen and (max-width: 740px) {
  #faq dl dt::before,#faq dl dd::before {
      font-size:3.0rem;
      left: 20px;
      top: 6px
  }
}

#precautions {
  padding: 150px 0;
  background-color: #ebebeb
}

@media screen and (max-width: 740px) {
  #precautions {
      padding:60px 0
  }
}

#precautions h2 {
  color: #1455a2;
  font-size: 5.0rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px
}

@media screen and (max-width: 740px) {
  #precautions h2 {
      font-size:3.0rem;
      margin-bottom: 30px
  }
}

#precautions table th,#precautions table td {
  font-size: 1.8rem;
  font-weight: normal;
  text-align: left
}

#precautions table th {
  white-space: nowrap;
  vertical-align: top;
  background-color: #f2f2f2
}

#precautions table td li {
  text-indent: -1em;
  padding-left: 1em
}

@media screen and (max-width: 740px) {
  #precautions table th,#precautions table td {
      display:block;
      width: 100%;
      font-size: 1.6rem;
      white-space: normal
  }
}

#possible {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  color: #fff;
  text-align: center;
  height: 240px;
  line-height: 1.4;
  background: linear-gradient(#051d4a 0,#1666ab 100%)
}

@media screen and (max-width: 740px) {
  #possible {
      line-height:1.2;
      padding: 20px 0 40px;
      height: auto
  }
}

#possible::after {
  position: absolute;
  content: "";
  bottom: -20px;
  left: calc(50% - 36px);
  border-style: solid;
  border-width: 54px 40px 0 40px;
  border-color: #f1f8ff transparent transparent transparent;
  transform: rotate(180deg)
}

@media screen and (max-width: 740px) {
  #possible::after {
      bottom:-30px
  }
}

#possible p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 6.0rem;
  font-weight: 400;
}

@media screen and (max-width: 740px) {
  #possible p {
      display:block;
      font-size: 2.8rem;
      font-weight: 400;
  }
}

#possible p:last-of-type {
  align-items: baseline
}

#possible p img {
  margin-right: 15px
}

@media screen and (max-width: 740px) {
  #reduction p img {
      height:35px;
      margin-right: 0
  }
}

#possible p strong {
  font-size: 8.0rem
}

@media screen and (max-width: 740px) {
  #possible p strong {
      font-size:4.0rem
  }
}

.inquirymain {
  background: #fff;
  padding: 0 50px 50px;
  width: 1000px;
  min-width: 1000px;
  margin: 0 auto
}

@media screen and (max-width: 740px) {
  .inquirymain {
      margin:0;
      width: 100%;
      min-width: 100%;
      background: #fff;
      padding: 20px
  }
}

.inquirymain form {
  border-top: #c5c5c5 solid 1px
}

@media screen and (max-width: 740px) {
  .inquirymain form {
      border-top:0
  }
}

.inquirymain form input,.inquirymain form textarea,.inquirymain form select {
  border: #051d4a solid 2px;
  padding: 4px 6px;
  line-height: 1.3
}

.inquirymain form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-right: 0;
  padding: 4px 50px 4px 6px;
  background: #fff  no-repeat right center;
  background-size: contain;
  width: auto
}

@media all and (-ms-high-contrast:none) {
  *::-ms-backdrop,.inquirymain form select {
      padding: 2px 50px 2px 6px
  }
}

.inquirymain form select::-ms-expand {
  display: none
}

.inquirymain form select,.inquirymain form textarea,.inquirymain form input[type="button"],.inquirymain form input[type="text"],.inquirymain form input[type="email"],.inquirymain form input[type="tel"],.inquirymain form input[type="url"],.inquirymain form input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0
}

.inquirymain form textarea,.inquirymain form input[type="text"],.inquirymain form input[type="email"] {
  width: 100%
}

.inquirymain form input.aform-zipcode,.inquirymain form input.fax,.inquirymain form input[type="tel"],.inquirymain form input[type="url"] {
  width: 60%
}

.inquirymain form input.aform-zipcode {
  width: 40%
}

.inquirymain form .aform-hdln {
  float: left;
  width: 100%;
  color: #051d4a;
  font-size: 1.8rem;
  font-weight: normal;
  border-top: 1px solid #051d4a;
  border-bottom: 1px solid #051d4a;
  padding: 10px 15px;
  margin: 30px 0 0;
  background-color: #f5f6f9;
  box-sizing: border-box
}

.inquirymain form dl {
  float: left;
  display: table;
  width: 100%;
  margin: 0;
  padding: 0;
  border-bottom: #c5c5c5 solid 1px
}

.inquirymain form dl:first-child {
  border-top: #c5c5c5 solid 1px
}

.inquirymain form dl dt {
  float: none;
  display: table-cell;
  color: #051d4a;
  font-weight: normal;
  width: 210px;
  padding: 22px 20px;
  margin: 0;
  background-color: #ededed
}

.inquirymain form dl dt .required {
  position: relative;
  font-size: 1.2rem;
  color: #fff;
  padding: 4px 8px;
  margin-left: 8px;
  background-color: #051d4a;
  border-radius: 0;
  display: inline
}

.inquirymain form dl dt span.aform-validation.comment {
  display: none
}

.inquirymain form dl dd .validation-advice {
  clear: both
}

.inquirymain form dl dd {
  display: table-cell;
  width: 510px;
  background-color: #fff;
  padding: 20px 0 20px 25px;
  margin: 0
}

.inquirymain form dl dd .aform-confirm {
  font-size: 1.4rem
}

.inquirymain form dl dd .parts-99 {
  padding-bottom: 20px
}

.inquirymain form dl dd .mailmagazine {
  padding-bottom: 20px
}

.inquirymain form dl dd ul.aform-name-ul li,.inquirymain form dl dd ul.aform-kana-ul li {
  float: left
}

.inquirymain form dl dd ul.aform-name-ul li input[type="text"],.inquirymain form dl dd ul.aform-kana-ul li input[type="text"] {
  width: 110px;
  margin: 0 20px 0 10px
}

.inquirymain form dl dd ul.aform-checkbox-ul li,.inquirymain form dl dd ul.aform-radio-ul li {
  padding: 5px 0
}

.inquirymain form dl dd input[type=radio],.inquirymain form dl dd input[type=checkbox] {
  display: inline-block;
  margin-right: 8px;
  line-height: 1.3
}

.inquirymain form dl dd input[type=radio] label,.inquirymain form dl dd input[type=checkbox] label {
  position: relative;
  display: inline-block;
  margin-right: 12px;
  font-size: 14px;
  cursor: pointer;
  line-height: 1.3
}

.inquirymain form dl dd input[type=radio],.inquirymain form dl dd input[type=checkbox] {
  display: none;
  margin: 0
}

.inquirymain form dl dd input[type=radio] label,.inquirymain form dl dd input[type=checkbox] label {
  padding: 0 0 0 28px
}

.inquirymain form dl dd input[type=radio] label::before,.inquirymain form dl dd input[type=checkbox] label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  margin-top: -10px;
  background: #fff
}

.inquirymain form dl dd input[type=radio] label::before {
  border: 2px solid #051d4a;
  border-radius: 30px
}

.inquirymain form dl dd input[type=checkbox] label::before {
  border: 2px solid #051d4a
}

.inquirymain form dl dd input[type=radio]:checked label::after,.inquirymain form dl dd input[type=checkbox]:checked label::after {
  content: "";
  position: absolute;
  top: 50%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block
}

.inquirymain form dl dd input[type=radio]:checked label::after {
  left: 4px;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  background: #051d4a;
  border-radius: 11px
}

.inquirymain form dl dd input[type=checkbox]:checked label::after {
  left: 3px;
  width: 16px;
  height: 8px;
  margin-top: -8px;
  border-left: 3px solid #051d4a;
  border-bottom: 3px solid #051d4a;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.inquirymain form dl dd select.aform-calendar {
  margin: 0 10px 0 20px
}

.inquirymain form dl dd select:first-child.aform-calendar {
  margin: 0 10px 0 0
}

.inquirymain form dl dd .aform-input-example {
  clear: both;
  margin-bottom: 6px
}

.inquirymain form #aform_confirm_msg {
  float: left;
  width: 100%;
  text-align: center;
  margin: 30px 0 10px
}

.inquirymain form .aform-twice-note {
  margin-top: 10px;
  font-size: 90%;
  color: #595959
}

.inquirymain form .submit {
  clear: both;
  width: 30%;
  margin: auto;
  background-color: transparent;
  padding: 20px 0 30px
}

.inquirymain form .submit input[type="submit"] {
  width: 100%;
  border: 0;
  color: #fff;
  padding: 15px;
  background: #051d4a  no-repeat 90% center;
  background-size: 9px
}

.inquirymain form .submit input[type="button"] {
  width: 100%;
  border: 0;
  color: #fff;
  padding: 15px;
  background: #051d4a  no-repeat 10% center;
  background-size: 9px
}

.inquirymain form#aform-confirm-form .submit {
  clear: both;
  width: 70%;
  margin: auto;
  background-color: transparent;
  padding: 20px 0 30px
}

.inquirymain form#aform-confirm-form .submit input[type="submit"] {
  float: right;
  width: 48%;
  margin: 0
}

.inquirymain form#aform-confirm-form .submit input[type="button"] {
  float: left;
  width: 48%;
  margin: 0
}

.inquirymain .mktoform {
  width: 100% !important;
}

.inquirymain .mktoform .mktoerror {
  position: absolute;
  z-index: 99;
  color: #d92b00;
  bottom: -6px !important
}

.inquirymain .mktoform .mktoerror .mktoerrorarrowwrap {
  width: 15px;
  height: 9px;
  overflow: hidden;
  position: absolute;
  top: -8px;
  left: 20px;
  z-index: 100
}

.inquirymain .mktoform .mktoerror .mktoerrorarrow {
  background-color: #d92b00;
  border: 0;
  border-right: 0;
  border-bottom: 0;
  display: inline-block;
  height: 12px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  width: 12px;
  margin-top: 0;
  position: absolute;
  top: 4px
}

.inquirymain .mktoform .mktoerror .mktoerrormsg {
  font-weight: 400;
  display: block;
  margin-top: 0;
  padding: 8px 10px;
  background-color: #d92b00;
  background-image: none;
  border: 0;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  line-height: 1.2;
  max-width: none;
  text-shadow: none;
  letter-spacing: .1385090909em
}

.inquirymain .mktoform .mktobuttonrow {
  width: 100%;
  text-align: center;
  clear: both;
  margin: 20px auto 30px
}

.inquirymain .mktoform .mktobuttonrow .mktobuttonwrap {
  margin: 0 !important
}

.inquirymain .mktoform .mktobuttonrow .mktobuttonwrap .mktobutton {
  width: 30%;
  border: 0;
  color: #fff;
  padding: 15px;
  background: #051d4a  no-repeat 90% center;
  background-size: 9px;
  border-radius: 0;
  font-weight: normal;
  box-shadow: none !important;
  font-size: 1.6rem;
  height: 55px;
  display: inline-block
}

.inquirymain .mktoform .mktobuttonrow .mktobuttonwrap .mktobutton:hover {
  background-color: #00296f
}

.inquirymain .mktoform .mktoasterix {
  font-size: 20px;
  font-weight: 400;
}

.inquirymain .mktoform .mktoformrow {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0
}

.inquirymain .mktoform .mktoformcol {
  width: 100%;
  margin: 0 !important
}

.inquirymain .mktoform .mktofieldwrap {
  width: 100%;
  display: flex;
  border-bottom: #c5c5c5 solid 1px
}

.inquirymain .mktoform .mktooffset {
  width: 0 !important;
  height: 0
}

.inquirymain .mktoform .mktogutter {
  display: none
}

.inquirymain .mktoform .mktolabel {
  float: left;
  display: inline-block;
  color: #051d4a;
  font-weight: normal !important;
  width: 180px !important;
  padding: 24px 20px;
  font-size: 1.4rem;
  margin: 0;
  background-color: #ededed
}

.inquirymain .mktoform input,.inquirymain .mktoform textarea.mktofield,.inquirymain .mktoform select.mktofield {
  padding: 5px 6px 3px
}

.inquirymain .mktoform input[type=text],.inquirymain .mktoform input[type=url],.inquirymain .mktoform input[type=email],.inquirymain .mktoform input[type=tel],.inquirymain .mktoform input[type=number],.inquirymain .mktoform input[type=date],.inquirymain .mktoform textarea.mktofield {
  display: inline-block;
  font-size: 1.6rem;
  margin: 15px 0 15px 15px;
  width: calc(100% - 210px) !important
}

.inquirymain .mktoform select.mktofield {
  display: inline-block;
  font-size: 1.6rem;
  margin: 15px 0 15px 15px
}

.inquirymain .mktoform input[type=radio],.inquirymain .mktoform input[type=checkbox] {
  display: none;
  margin: 0
}

.inquirymain .mktoform input[type=radio] label,.inquirymain .mktoform input[type=checkbox] label {
  position: relative;
  display: inline-block;
  margin: 0 16px 15px 0;
  font-size: 1.4rem;
  cursor: pointer;
  padding: 0 0 0 28px
}

.inquirymain .mktoform input[type=radio] label::before,.inquirymain .mktoform input[type=checkbox] label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  margin-top: -11px;
  background: #fff;
  border: 2px solid #051d4a
}

.inquirymain .mktoform input[type=radio]:checked label::after,.inquirymain .mktoform input[type=checkbox]:checked label::after {
  content: "";
  position: absolute;
  top: 50%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block
}

.inquirymain .mktoform input[type=checkbox]:checked label::after {
  left: 3px;
  width: 16px;
  height: 8px;
  margin-top: -8px;
  border-left: 3px solid #051d4a;
  border-bottom: 3px solid #051d4a;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.inquirymain .mktoform input[type=radio] label::before {
  border: 2px solid #051d4a;
  border-radius: 30px
}

.inquirymain .mktoform input[type=radio]:checked label::after {
  left: 2px;
  width: 14px;
  height: 14px;
  margin-top: -9px;
  background: #051d4a;
  border-radius: 11px
}

.inquirymain .mktoform .mktoradiolist,.inquirymain .mktoform .mktocheckboxlist {
  width: calc(100% - 260px) !important;
  margin: 22px 0 0 25px;
  float: left
}

.inquirymain .mktoform .mktoradiolist label,.inquirymain .mktoform .mktocheckboxlist label {
  float: left
}

.inquirymain .mktoform .mktohtmltext {
  width: 100% !important
}

.inquirymain .mktoform .mktohtmltext h4 {
  float: left;
  width: 100% !important;
  color: #051d4a;
  font-size: 1.4rem;
  font-weight: normal;
  border-top: 1px solid #051d4a;
  border-bottom: 1px solid #051d4a;
  padding: 10px;
  margin: 30px 0 0;
  background-color: #f5f6f9;
  box-sizing: border-box
}

.inquirymain .mktoform .mktoformrow:first-of-type .mktohtmltext h4 {
  margin: -1px 0 0
}

.inquirymain .mktoform .mktohtmltext span {
  display: inline-block;
  padding: 10px
}

.inquirymain .mktoform .mktohtmltext h4 span {
  padding: 0
}

.inquirymain .mktoform #postalcode {
  width: 50% !important
}

.inquirymain .mktoform #lblemailclubmember,.inquirymain .mktoform #lblprivacypolicy,.inquirymain .mktoform #lblprivacypolicy02 {
  background-color: transparent;
  width: auto !important;
  white-space: nowrap;
  font-weight: 400;
  margin: auto !important;
  padding: 20px 10px
}

@media screen and (max-width: 740px) {
  .inquirymain .mktoform {
      padding:0
  }

  .inquirymain .mktoform .mktobuttonrow {
      margin: 0 auto 20px
  }

  .inquirymain .mktoform .mktobuttonrow .mktobuttonwrap .mktobutton {
      width: 100%;
      text-align: left;
      background: #051d4a  no-repeat 95% center;
      background-size: 9px;
      margin: 0
  }

  .inquirymain .mktoform .mktofieldwrap {
      display: inline-block;
      border-bottom: 0
  }

  .inquirymain .mktoform .mktolabel {
      width: 100% !important;
      padding: 10px;
      font-size: 1.5rem
  }

  .inquirymain .mktoform input[type=text],.inquirymain .mktoform input[type=url],.inquirymain .mktoform input[type=email],.inquirymain .mktoform input[type=tel],.inquirymain .mktoform input[type=number],.inquirymain .mktoform input[type=date],.inquirymain .mktoform textarea {
      font-size: 1.8rem;
      margin: 15px 0 30px;
      width: 100% !important;
      height: auto
  }

  .inquirymain .mktoform select.mktofield {
      margin: 15px 0 30px;
      width: 100% !important
  }

  .inquirymain .mktoform .mktoradiolist,.inquirymain .mktoform .mktocheckboxlist {
      width: auto !important;
      margin: 15px 0 15px 20px;
      float: left
  }

  .inquirymain .mktoform #lblfirstname,.inquirymain .mktoform #lbllastname,.inquirymain .mktoform #lblkanafirstname,.inquirymain .mktoform #lblkanalastname {
      width: calc(100% - 5px) !important
  }

  .inquirymain .mktoform #lblfirstname,.inquirymain .mktoform #lblkanafirstname {
      margin-left: 5px
  }

  .inquirymain .mktoform #lbllastname,.inquirymain .mktoform #lblkanalastname {
      margin-right: 5px
  }

  .inquirymain .mktoform #firstname,.inquirymain .mktoform #lastname,.inquirymain .mktoform #kanafirstname,.inquirymain .mktoform #kanalastname {
      width: calc(100% - 5px) !important
  }

  .inquirymain .mktoform #firstname,.inquirymain .mktoform #kanafirstname {
      margin-left: 5px
  }

  .inquirymain .mktoform #lastname,.inquirymain .mktoform #kanalastname {
      margin-right: 5px
  }

  .inquirymain .mktoform #postalcode {
      width: 100% !important
  }

  .inquirymain .mktoform #lblemailclubmember,.inquirymain .mktoform #lblprivacypolicy {
      white-space: normal;
      padding: 0;
      width: 100% !important
  }
}

.logo.inquiry {
  margin: 20px 0 60px 20px
}

@media screen and (max-width: 740px) {
  .logo.inquiry {
      margin:10px 0 0 20px
  }
}

#footer.inquiry {
  padding: 30px 0
}

@media screen and (max-width: 740px) {
  #footer.inquiry {
      padding:30px 0
  }
}

.inquiryttl {
  color: #051d4a;
  text-align: center;
  font-size: 4.2rem;
  font-weight: 400;
  margin-bottom: 60px
}

@media screen and (max-width: 740px) {
  .inquiryttl {
      font-size:2.4rem;
      line-height: 1.2;
      margin-bottom: 40px
  }
}

.inquirytext {
  font-size: 1.6rem;
  margin-bottom: 20px
}

.inquirynotes {
  width: 100%;
  padding: 25px 20px;
  line-height: 1.4;
  border: #c5c5c5 solid 1px
}

.inquirynotes li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 4px
}

.inquirynotes li:last-child {
  margin-bottom: 0
}

.inquirynotes li a {
  color: #051d4a;
  text-decoration: underline
}

.inquirynotes li a.hover {
  text-decoration: none
}

#floatingbnr {
  position: fixed;
  width: 375px;
  top: 410px;
  right: 0;
  box-shadow: 0 0 60px rgb(0 0 0 / 20%);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width: 740px) {
  #floatingbnr {
      width:204px;
      height: 110px;
      top: initial;
      bottom: 130px
  }

  #floatingbnr img {
      height: 110px;
      width: auto
  }
}

#floatingbnr li {
  position: relative;
  float: left;
  line-height: 1
}

#floatingbnr li span {
  position: absolute;
  bottom: 1px;
  left: 1px;
  color: #fff;
  font-size: 2.2rem;
  height: 46px;
  width: 46px;
  line-height: 46px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#floatingbnr li span:last-of-type {
  display: none
}

#floatingbnr li span:last-of-type::after {
  position: absolute;
  content: "";
  top: 16px;
  right: 15px;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#floatingbnr li span:hover {
  background-color: #7586a4
}

@media screen and (max-width: 740px) {
  #floatingbnr li span {
      bottom:0;
      left: 0;
      font-size: 1.8rem;
      height: 25px;
      width: 25px;
      line-height: 30px
  }

  #floatingbnr li span:last-of-type::after {
      position: absolute;
      content: "";
      top: 6px;
      right: 6px;
      width: 9px;
      height: 9px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(-135deg);
      transform: rotate(-135deg);
      -webkit-transition: all .3s ease;
      transition: all .3s ease
  }
}

#floatingbnr a {
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

#floatingbnr a.hover {
  filter: brightness(120%);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

h2,h3,h4,h5,h6 {
  font-weight: 400!important;
}