@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: rgba(0, 0, 0, 0);
  font-weight: normal;
}
body {
  line-height: 1;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
nav ul {
  list-style: none;
}
ul li {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
body {
  margin: 0px;
  padding: 0px;
}
select,
input,
textarea {
  line-height: 1.8em;
  border: 1px solid #ccc;
  padding: 5px 8px;
  font-size: 12px;
}
* {
  font-weight: normal;
  font-style: normal;
  font-size: 100%;
}
p,
pre,
address,
cite {
  margin: 0em;
  padding: 0em;
  line-height: 1.6em;
  color: #192631;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0em;
  padding: 0em;
  line-height: 1.8em;
  font-weight: normal;
  color: #192631;
}
strong {
  font-weight: bold;
  line-height: 200%;
}
ul,
ol,
dl {
  margin: 0px;
  padding-left: 0px;
}
li,
dt,
dd {
  list-style: none;
  line-height: 1.8em;
  color: #192631;
}
ol li {
  list-style: decimal inside;
  margin-left: 35px;
  text-indent: -25px;
}
dd {
  margin: 0px 0px 0px 10px;
}
textarea {
  font-size: 12px;
}
select {
  padding: 0.1em;
  font-size: 12px;
}
input:focus,
textarea:focus {
  font-size: 12px;
  background: #ffc;
}
table {
  border-collapse: separate;
  border-spacing: 0px;
  border-collapse: collapse;
}
img {
  border-style: none;
  padding: 0px;
}
body {
  display: none;
  background: #fff;
  margin: 0;
  padding: 0;
  line-height: 1.8em;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
}
a {
  color: #192631;
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a:hover {
  -moz-opacity: 0.7;
  opacity: 0.7;
  filter: alpha(opacity=70);
  text-decoration: underline;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
p {
  word-wrap: break-word;
  -ms-word-wrap: break-word;
  line-height: 1.8em;
}
dd {
  margin-left: 0;
}
a img {
  border-style: none;
}
a img:hover {
  -moz-opacity: 0.7;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
img {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}
.sp {
  display: block;
}
@media screen and (min-width: 900px) {
  .sp {
    display: none;
  }
}
.pc {
  display: none;
}
@media screen and (min-width: 900px) {
  .pc {
    display: block;
  }
}
.inner {
  width: 94%;
  margin: 0 auto;
}
@media screen and (min-width: 900px) {
  .inner {
    max-width: 1200px;
  }
}
@media screen and (min-width: 900px) {
  .inner.small {
    max-width: 960px;
  }
}
.drawer-hamburger {
  z-index: 100;
  padding: 23px 4% 0;
}
@media screen and (min-width: 900px) {
  .drawer-hamburger {
    display: none;
  }
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  height: 3px;
  border-radius: 10px;
}
.drawer-hamburger-icon:after {
  top: 8px;
}
.drawer-hamburger-icon:before {
  top: -8px;
}
.drawer-hamburger-menu {
  position: relative;
}
.drawer-hamburger-menu::after {
  content: "MENU";
  position: absolute;
  left: -17px;
  bottom: -27px;
  font-size: 12px;
}
.drawer-open .drawer-hamburger-menu::after {
  content: "CLOSE";
  left: -20px;
}
.drawer-menu {
  padding: 100px 0 60px;
  background: #184a84;
}
.drawer-menu .drawer-menu-item {
  font-size: 1.1rem;
  padding: 1rem 5%;
  color: #fff;
  font-weight: bold;
}
.drawer-menu .drawer-menu-item.parent {
  padding: 1rem 5% 0.5rem;
}
.drawer-menu .drawer-menu-item.child {
  font-size: 1rem;
  padding: 1rem 10% 0.5rem;
  font-weight: normal;
}
.drawer-menu .drawer-menu-item.child.last {
  padding: 1rem 10%;
}
.drawer-menu .btn {
  text-align: center;
  display: block;
  background: #fff;
  color: #184a84;
  font-weight: bold;
  position: relative;
  font-size: 16px;
  padding: 0 50px;
  line-height: 60px;
  margin: 5% 5% 0;
}
.drawer-menu .btn::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #184a84;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 20px;
}
.drawer-menu .btn:hover {
  text-decoration: none;
}
.drawer--top .drawer-nav {
  z-index: 98;
}
.fadeIn_up {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: 2s;
  transition: 2s;
}
.fadeIn_up.is-show {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  background: #fff;
  z-index: 99;
}
header .logo {
  display: inline-block;
  padding-left: 3%;
}
@media screen and (min-width: 900px) {
  header .logo {
    padding-left: 36px;
  }
}
header .logo a {
  display: block;
  color: #5f5f5f;
  font-weight: bold;
  font-size: 40px;
  line-height: 80px;
}
header .logo a:hover {
  text-decoration: none;
}
header .wrap {
  display: none;
}
@media screen and (min-width: 900px) {
  header .wrap {
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
header .wrap nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
header .wrap nav ul li a {
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  display: block;
  margin-right: 30px;
  font-size: 15px;
  position: relative;
  font-weight: bold;
  line-height: 80px;
}
header .wrap nav ul li a::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #184a84;
  position: absolute;
  left: 0;
  bottom: 20px;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
header .wrap nav ul li a.now {
  color: #184a84;
}
header .wrap nav ul li a.now::after {
  opacity: 1;
  bottom: 15px;
}
header .wrap nav ul li a:hover {
  text-decoration: none;
  opacity: 1;
  color: #184a84;
}
header .wrap nav ul li a:hover::after {
  opacity: 1;
  bottom: 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
header .wrap .btn a {
  display: block;
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  background: #184a84;
  color: #fff;
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  header .wrap .btn a {
    line-height: 80px;
    padding: 0 22px;
  }
}
header .wrap .btn a:hover {
  text-decoration: none;
}
.bread {
  padding-top: 90px;
  margin-bottom: 43px;
}
@media screen and (min-width: 900px) {
  .bread {
    padding-top: 90px;
    margin-bottom: 86px;
  }
}
.bread ul {
  width: 94%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (min-width: 900px) {
  .bread ul {
    max-width: 1200px;
  }
}
.bread ul li {
  font-size: 12px;
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  .bread ul li {
    font-size: 15px;
  }
}
.bread ul li a {
  text-decoration: none;
  position: relative;
  color: #184a84;
  font-weight: bold;
}
.bread ul li a::after {
  content: "＞";
  color: #191919;
  margin: 0 10px;
}
@media screen and (min-width: 900px) {
  .bread ul li a::after {
    margin: 0 20px;
  }
}
.bread ul li span {
  text-decoration: none;
  position: relative;
  color: #184a84;
  font-weight: bold;
}
.bread ul li span .current-item {
  color: #192631;
}
.aside_contact {
  background: #184a84;
  margin-top: 100px;
  padding: 25px 0;
}
@media screen and (min-width: 900px) {
  .aside_contact {
    margin-top: 180px;
  }
}
.aside_contact .inner {
  width: 90%;
  background: #fff;
  border-radius: 18px;
  text-align: center;
  padding: 20px 3%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (min-width: 900px) {
  .aside_contact .inner {
    max-width: 1200px;
    padding: 40px 0;
  }
}
.aside_contact .inner h2 {
  color: #184a84;
  font-weight: 900;
  font-size: 26px;
  line-height: 1.5em;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .aside_contact .inner h2 {
    font-size: 46px;
    margin-bottom: 0;
  }
}
.aside_contact .inner .read {
  font-size: 16px;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .aside_contact .inner .read {
    font-size: 24px;
    margin-bottom: 40px;
  }
}
.aside_contact .inner .btn {
  width: 100%;
  display: inline-block;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .aside_contact .inner .btn {
    width: auto;
    margin-bottom: 40px;
  }
}
.aside_contact .inner .btn a {
  display: block;
  background: #184a84;
  color: #fff;
  font-weight: bold;
  position: relative;
  font-size: 16px;
  line-height: 60px;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .aside_contact .inner .btn a {
    font-size: 24px;
    padding: 0 106px;
    line-height: 88px;
  }
}
.aside_contact .inner .btn a::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 20px;
}
@media screen and (min-width: 900px) {
  .aside_contact .inner .btn a::after {
    width: 18px;
    height: 18px;
    margin-top: -9px;
    right: 30px;
  }
}
.aside_contact .inner .btn a:hover {
  text-decoration: none;
}
.aside_contact .inner .link a {
  font-weight: bold;
  text-decoration: underline;
}
@media screen and (min-width: 900px) {
  .aside_contact .inner .link a {
    font-size: 18px;
  }
}
.aside_contact .inner .link a:hover {
  text-decoration: none;
}
.aside_catch {
  padding: 30px 0;
}
@media screen and (min-width: 900px) {
  .aside_catch {
    padding: 60px 0;
  }
}
.aside_catch p {
  text-align: center;
  color: rgba(95, 95, 95, 0.2);
  font-size: 20px;
  font-weight: bold;
  line-height: 2.5em;
}
@media screen and (min-width: 900px) {
  .aside_catch p {
    font-size: 40px;
  }
}
.aside_catch p span {
  font-weight: bold;
  font-size: 70px;
}
@media screen and (min-width: 900px) {
  .aside_catch p span {
    font-size: 100px;
  }
}
footer {
  background: #000;
  padding: 40px 0 10px;
  position: relative;
}
@media screen and (min-width: 900px) {
  footer {
    padding: 80px 0;
  }
}
@media screen and (min-width: 900px) {
  footer .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
footer .inner .left p {
  color: #fff;
  font-size: 13px;
}
@media screen and (min-width: 900px) {
  footer .inner .left p {
    font-size: 14px;
  }
}
footer .inner .left p.logo {
  margin-bottom: 20px;
}
footer .inner .left p.logo a {
  color: #fff;
  font-size: 40px;
  font-weight: bold;
}
footer .inner .left p.logo a:hover {
  text-decoration: none;
}
footer .inner .left p.copy {
  text-align: center;
  font-size: 10px;
  margin-top: 40px;
}
@media screen and (min-width: 900px) {
  footer .inner .left p.copy {
    text-align: left;
    font-size: 12px;
    margin-top: 5px;
  }
}
footer .inner .right {
  display: none;
}
@media screen and (min-width: 900px) {
  footer .inner .right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 900px) {
  footer .inner .right ul {
    margin-right: 100px;
  }
}
footer .inner .right ul:last-of-type {
  margin-right: 0;
}
footer .inner .right ul li {
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 14px;
  margin-bottom: 10px;
}
footer .inner .right ul li:last-child {
  margin-bottom: 0;
}
footer .inner .right ul li a {
  color: #fff;
  font-weight: bold;
}
footer .inner .right ul li a:hover {
  opacity: 1;
}
footer .inner .right ul li.child {
  margin-left: 14px;
}
.com_main_ttl {
  font-weight: 900;
  color: #184a84;
  font-size: 30px;
  margin-bottom: 50px;
  line-height: 1.3em;
}
@media screen and (min-width: 900px) {
  .com_main_ttl {
    font-size: 46px;
    margin-bottom: 100px;
  }
}
.com_main_ttl span {
  font-weight: 900;
  font-size: 14px;
}
@media screen and (min-width: 900px) {
  .com_main_ttl span {
    font-size: 20px;
  }
}
.com_gray_con {
  background: #fafafa;
  padding: 50px 0 100px;
}
@media screen and (min-width: 900px) {
  .com_gray_con {
    padding: 100px 0 180px;
  }
}
.sticky {
  position: fixed;
  right: 28px;
  bottom: 0;
  width: 262px;
  height: 86px;
  z-index: 90;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sticky.is-hidden {
  visibility: hidden;
  opacity: 0;
}
@media screen and (min-width: 900px) {
  .sticky.center {
    bottom: auto;
    top: 66%;
  }
}
.sticky a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background: #184a84;
  border-radius: 4px;
}
.sticky a span {
  font-size: 16px;
  font-weight: 500;
  padding-bottom: 7px;
}
.sticky a:hover {
  text-decoration: none;
}
.sticky img {
  content: "";
  display: block;
  width: 40px;
  position: absolute;
  top: -20px;
  right: -20px;
  z-index: 2;
  cursor: pointer;
}
.btnmore,
.download .wrap .box .btn a,
.about .wrap .box .btn a,
.spec .wrap .box .btn a,
.faq .wrap .box .btn a,
.aboutnav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  font-size: 15px;
  font-weight: 700;
  color: #184a84;
  position: relative;
}
@media screen and (min-width: 900px) {
  .btnmore,
  .download .wrap .box .btn a,
  .about .wrap .box .btn a,
  .spec .wrap .box .btn a,
  .faq .wrap .box .btn a,
  .aboutnav ul li a {
    font-size: 18px;
    width: 460px;
  }
}
.btnmore::before,
.download .wrap .box .btn a::before,
.about .wrap .box .btn a::before,
.spec .wrap .box .btn a::before,
.faq .wrap .box .btn a::before,
.aboutnav ul li a::before {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: #184a84;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 5;
}
@media screen and (min-width: 900px) {
  .btnmore::before,
  .download .wrap .box .btn a::before,
  .about .wrap .box .btn a::before,
  .spec .wrap .box .btn a::before,
  .faq .wrap .box .btn a::before,
  .aboutnav ul li a::before {
    width: 60px;
  }
}
.btnmore::after,
.download .wrap .box .btn a::after,
.about .wrap .box .btn a::after,
.spec .wrap .box .btn a::after,
.faq .wrap .box .btn a::after,
.aboutnav ul li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #184a84;
  border-right: 2px solid #184a84;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width: 900px) {
  .btnmore::after,
  .download .wrap .box .btn a::after,
  .about .wrap .box .btn a::after,
  .spec .wrap .box .btn a::after,
  .faq .wrap .box .btn a::after,
  .aboutnav ul li a::after {
    width: 10px;
    height: 10px;
  }
}
.btnmore span,
.download .wrap .box .btn a span,
.about .wrap .box .btn a span,
.spec .wrap .box .btn a span,
.faq .wrap .box .btn a span,
.aboutnav ul li a span {
  border: #184a84 2px solid;
  display: block;
  width: 94%;
  border-radius: 4px;
  background: #fff;
  position: relative;
  line-height: 50px;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 900px) {
  .btnmore span,
  .download .wrap .box .btn a span,
  .about .wrap .box .btn a span,
  .spec .wrap .box .btn a span,
  .faq .wrap .box .btn a span,
  .aboutnav ul li a span {
    width: 431px;
  }
}
.btnmore span::before,
.download .wrap .box .btn a span::before,
.about .wrap .box .btn a span::before,
.spec .wrap .box .btn a span::before,
.faq .wrap .box .btn a span::before,
.aboutnav ul li a span::before {
  content: "";
  display: block;
  width: 2px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -2px;
  background: #fff;
}
.btnmore:hover,
.download .wrap .box .btn a:hover,
.about .wrap .box .btn a:hover,
.spec .wrap .box .btn a:hover,
.faq .wrap .box .btn a:hover,
.aboutnav ul li a:hover {
  text-decoration: none;
}
.topttl {
  text-align: center;
  font-size: 18px;
  color: #5f5f5f;
  font-weight: 700;
  line-height: 1.4em;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .topttl {
    font-size: 36px;
    line-height: 1.3em;
    padding-bottom: 100px;
  }
}
.topttl span {
  display: block;
  position: relative;
  font-size: 14px;
  font-weight: 700;
  color: #184a84;
}
@media screen and (min-width: 900px) {
  .topttl span {
    font-size: 22px;
  }
}
.topttl span::before {
  content: "";
  display: block;
  width: 1px;
  height: 40px;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  background: #39b584;
  position: absolute;
  top: -7px;
  left: 50%;
  z-index: -1;
}
@media screen and (min-width: 900px) {
  .topttl span::before {
    height: 62px;
  }
}
.mv {
  width: 100%;
  height: 100vh;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 80px;
  position: fixed;
  top: 0;
  left: 0;
}
.mv img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: right center;
  object-position: right center;
}
.mv .inner {
  height: calc(100% - 80px);
  position: absolute;
  top: 80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.mv h1 {
  font-size: 50px;
  font-weight: 900;
  color: #fff;
  line-height: 1.4em;
  padding-bottom: 45px;
}
@media screen and (min-width: 900px) {
  .mv h1 {
    font-size: 90px;
    line-height: 1.3em;
  }
}
.mv h1 b {
  font-size: 100px;
  font-weight: 900;
  display: block;
}
@media screen and (min-width: 900px) {
  .mv h1 b {
    font-size: 160px;
  }
}
.mv h2 {
  font-size: 22px;
  font-weight: 900;
  color: #184a84;
}
@media screen and (min-width: 900px) {
  .mv h2 {
    font-size: 28px;
  }
}
.toplead {
  position: relative;
  padding-bottom: 150px;
  background: #fff;
  margin-top: 100vh;
  padding-top: 40px;
  z-index: 3;
}
@media screen and (min-width: 900px) {
  .toplead {
    padding-bottom: 214px;
    margin-bottom: 0;
    padding-top: 65px;
  }
}
.toplead .img {
  line-height: 0;
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
@media screen and (min-width: 900px) {
  .toplead .img {
    margin-top: 0;
    display: inherit;
  }
}
.toplead .img img {
  display: block;
  width: 90%;
}
@media screen and (min-width: 900px) {
  .toplead .img img {
    width: 63%;
    height: 560px;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 65px;
    right: 0;
    border-radius: 32px 0 0 32px;
  }
}
.toplead .inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 900px) {
  .toplead .inner {
    padding-top: 65px;
  }
}
.toplead h2 {
  font-size: 28px;
  font-weight: 900;
  color: #184a84;
  line-height: 1.4em;
  text-align: center;
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .toplead h2 {
    display: inline-block;
    font-size: 46px;
    padding-bottom: 23px;
  }
}
.toplead .box {
  background: rgba(255, 255, 255, 0.7);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .toplead .box {
    width: 616px;
    padding: 20px 20px 20px 0;
    margin-bottom: 60px;
  }
}
.toplead p {
  font-size: 15px;
  font-weight: 400;
  line-height: 2em;
}
@media screen and (min-width: 900px) {
  .toplead p {
    font-size: 20px;
  }
}
.toppoint {
  padding-bottom: 100px;
  background: #fff;
  position: relative;
}
@media screen and (min-width: 900px) {
  .toppoint {
    padding-bottom: 200px;
  }
}
.toppoint .inner {
  padding-top: 30px;
}
@media screen and (min-width: 900px) {
  .toppoint .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 50px;
  }
}
.toppoint .inner .box {
  position: relative;
  padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .toppoint .inner .box {
    width: 45.2%;
    padding-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 900px) {
  .toppoint .inner .box:nth-child(-n + 2) {
    padding-bottom: 125px;
  }
}
.toppoint .inner .no {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 100px;
  color: rgba(95, 95, 95, 0.25);
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 5;
}
@media screen and (min-width: 900px) {
  .toppoint .inner .no {
    font-size: 140px;
    left: -15px;
  }
}
.toppoint .inner img {
  display: block;
  margin-bottom: 15px;
  width: 100%;
}
@media screen and (min-width: 900px) {
  .toppoint .inner img {
    margin-bottom: 30px;
  }
}
.toppoint .inner h3 {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  padding-bottom: 15px;
  line-height: 1.5em;
  width: 100%;
}
@media screen and (min-width: 900px) {
  .toppoint .inner h3 {
    font-size: 24px;
    padding-bottom: 30px;
  }
}
.toppoint .inner p {
  font-size: 15px;
  font-weight: 400;
  line-height: 2em;
  width: 100%;
}
@media screen and (min-width: 900px) {
  .toppoint .inner p {
    font-size: 20px;
  }
}
@media screen and (min-width: 900px) {
  .toppoint .inner ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 120px;
  }
}
.toppoint .inner ul li:first-of-type {
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .toppoint .inner ul li:first-of-type {
    margin-right: 80px;
    margin-bottom: 0;
  }
}
.topnews {
  padding-bottom: 100px;
  position: relative;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .topnews {
    padding-bottom: 200px;
  }
}
.topnews ul {
  border-top: #b5b5b5 1px solid;
  padding-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .topnews ul {
    padding-bottom: 80px;
  }
}
.topnews ul li {
  list-style: none;
  padding: 10px 0;
  border-bottom: #b5b5b5 1px solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (min-width: 900px) {
  .topnews ul li {
    padding: 15px 0;
    font-size: 16px;
  }
}
.topnews ul li span {
  display: block;
  width: 30%;
  color: #b5b5b5;
  font-weight: bold;
  font-size: 16px;
}
@media screen and (min-width: 900px) {
  .topnews ul li span {
    width: 23%;
    font-size: 18px;
  }
}
.topnews ul li a {
  display: block;
  width: 70%;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 25px;
  font-weight: bold;
  font-size: 14px;
}
@media screen and (min-width: 900px) {
  .topnews ul li a {
    width: 77%;
    padding-right: 35px;
    font-size: 16px;
  }
}
.topnews ul li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #39b584;
  border-right: 2px solid #39b584;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width: 900px) {
  .topnews ul li a::after {
    width: 10px;
    height: 10px;
  }
}
.topnews .btnmore,
.topnews .download .wrap .box .btn a,
.download .wrap .box .btn .topnews a,
.topnews .about .wrap .box .btn a,
.about .wrap .box .btn .topnews a,
.topnews .spec .wrap .box .btn a,
.spec .wrap .box .btn .topnews a,
.topnews .faq .wrap .box .btn a,
.faq .wrap .box .btn .topnews a,
.topnews .aboutnav ul li a,
.aboutnav ul li .topnews a {
  margin: auto;
}
.topcontents {
  padding-bottom: 100px;
  position: relative;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .topcontents {
    padding-bottom: 200px;
  }
}
.topcontents ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.topcontents ul li {
  display: block;
  width: 50%;
}
.topcontents ul li a {
  display: block;
  width: 100%;
  position: relative;
}
.topcontents ul li a img {
  display: block;
  width: 100%;
  height: 130px;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 900px) {
  .topcontents ul li a img {
    height: auto;
  }
}
.topcontents ul li a span {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  background: rgba(95, 95, 95, 0.7);
  line-height: 40px;
  position: absolute;
  left: 0;
  bottom: 0;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .topcontents ul li a span {
    font-size: 24px;
    line-height: 48px;
  }
}
.topfor {
  position: relative;
  text-align: center;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .topfor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
.topfor .inner {
  position: relative;
  z-index: 5;
  padding-bottom: 100px;
}
@media screen and (min-width: 900px) {
  .topfor .inner {
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 0;
  }
}
.topfor h2 {
  font-size: 28px;
  font-weight: 900;
  color: #184a84;
  padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .topfor h2 {
    font-size: 46px;
    padding-bottom: 60px;
  }
}
.topfor h3 {
  font-size: 17px;
  font-weight: 900;
  line-height: 1.66em;
  padding-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .topfor h3 {
    font-size: 24px;
    padding-bottom: 80px;
  }
}
.topfor .btn {
  display: block;
  line-height: 60px;
  border-radius: 4px;
  border: #fff 2px solid;
  background: #184a84;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  position: relative;
  width: 80%;
  margin: 0 auto 20px auto;
}
@media screen and (min-width: 900px) {
  .topfor .btn {
    width: 520px;
    line-height: 88px;
    font-size: 22px;
    margin-bottom: 30px;
  }
}
.topfor .btn::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width: 900px) {
  .topfor .btn::after {
    right: 30px;
    width: 10px;
    hanging-punctuation: 10px;
  }
}
.topfor .btn:hover {
  text-decoration: none;
}
.topfor .link {
  font-size: 15px;
  font-weight: 700;
  display: inline-block;
  text-decoration: underline;
}
@media screen and (min-width: 900px) {
  .topfor .link {
    font-size: 22px;
  }
}
.topfor .link:hover {
  text-decoration: none;
}
.topfor .bg {
  display: block;
  width: min(33%, 460px);
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 900px) {
  .topfor .bg {
    position: relative;
    bottom: auto;
    right: auto;
  }
}
.topfor .logo {
  display: block;
  width: min(66%, 930px);
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 900px) {
  .aboutnav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.aboutnav ul li {
  display: block;
  padding-bottom: 15px;
}
@media screen and (min-width: 900px) {
  .aboutnav ul li {
    width: 31%;
    padding-bottom: 0;
  }
}
.aboutnav ul li:last-child {
  padding-bottom: 0;
}
.aboutnav ul li a {
  width: 100%;
  color: gray;
}
.aboutnav ul li a span {
  width: 92%;
  border: gray 2px solid;
}
.aboutnav ul li a::before {
  background: gray;
}
.aboutnav ul li a::after {
  border-top: 2px solid gray;
  border-right: 2px solid gray;
}
.aboutnav ul li a:hover {
  color: #184a84;
}
.aboutnav ul li a:hover span {
  border: #184a84 2px solid;
}
.aboutnav ul li a:hover::before {
  background: #184a84;
}
.aboutnav ul li a:hover::after {
  border-top: 2px solid #184a84;
  border-right: 2px solid #184a84;
}
.aboutnav ul li.current a {
  pointer-events: none;
  color: #184a84;
}
.aboutnav ul li.current a span {
  border: #184a84 2px solid;
}
.aboutnav ul li.current a::before {
  background: #184a84;
}
.aboutnav ul li.current a::after {
  border-top: 2px solid #184a84;
  border-right: 2px solid #184a84;
}
.about {
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .about {
    padding-bottom: 100px;
  }
}
.about .aboutmain {
  padding-top: 50px;
  padding-bottom: 60px;
  margin-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .aboutmain {
    padding-top: 100px;
    padding-bottom: 120px;
    margin-bottom: 120px;
  }
}
.about .aboutmain.abouttop {
  background: url("../images/about/bg.jpg") right top no-repeat, #d9d9d9;
  background-size: cover;
}
.about .aboutmain.how {
  background: url("../images/how/bg.jpg") right top no-repeat, #d9d9d9;
  background-size: cover;
}
.about .aboutmain.maintenance {
  background: url("../images/maintenance/bg.jpg") right top no-repeat, #d9d9d9;
  background-size: cover;
}
@media screen and (min-width: 900px) {
  .about .aboutmain.maintenance {
    background-size: auto 100%;
  }
}
.about .aboutmain .inner {
  max-width: 934px;
}
.about .aboutmain h2 {
  font-size: 28px;
  font-weight: 900;
  color: #184a84;
  text-align: center;
  line-height: 1.33em;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .about .aboutmain h2 {
    font-size: 60px;
    padding-bottom: 100px;
  }
}
.about .aboutmain h2 span {
  display: block;
  font-size: 20px;
  font-weight: 900;
}
@media screen and (min-width: 900px) {
  .about .aboutmain h2 span {
    font-size: 40px;
  }
}
.about .aboutmain p {
  font-size: 18px;
  font-weight: 700;
  line-height: 2.5em;
}
@media screen and (min-width: 900px) {
  .about .aboutmain p {
    font-size: 24px;
  }
}
.about .aboutmain p br {
  display: none;
}
@media screen and (min-width: 900px) {
  .about .aboutmain p br {
    display: block;
  }
}
.about .ash {
  margin-bottom: 60px;
  position: relative;
}
@media screen and (min-width: 900px) {
  .about .ash {
    margin-bottom: 170px;
  }
}
.about .ash img {
  display: block;
  width: 80%;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .ash img {
    width: min(43.5%, 610px);
    margin-right: min(2.85%, 40px);
    position: absolute;
    top: 0;
    left: 0;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 900px) {
  .about .ash .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-top: 50px;
  }
}
.about .ash .txt {
  width: 94%;
  margin: auto;
}
@media screen and (min-width: 900px) {
  .about .ash .txt {
    width: min(52%, 620px);
    margin: 0;
  }
}
.about .ash .txt h3 {
  font-size: 18px;
  font-weight: 700;
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .ash .txt h3 {
    font-size: 24px;
    padding-bottom: 60px;
  }
}
.about .ash .txt p {
  font-size: 15px;
  line-height: 2em;
  font-weight: 400;
}
@media screen and (min-width: 900px) {
  .about .ash .txt p {
    font-size: 20px;
  }
}
.about .ash .txt p.pb {
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .ash .txt p.pb {
    padding-bottom: 50px;
  }
}
.about .feature {
  background: url("../images/about/wave.jpg") center bottom no-repeat;
  background-size: 100% auto;
  margin-bottom: 30px;
  padding-bottom: 80px;
  position: relative;
}
@media screen and (min-width: 900px) {
  .about .feature {
    margin-bottom: 64px;
    padding-bottom: 150px;
  }
}
.about .feature h2 {
  font-size: 22px;
  font-weight: 700;
  color: #5f5f5f;
  padding-bottom: 40px;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .about .feature h2 {
    font-size: 36px;
    padding-bottom: 110px;
    text-align: left;
  }
}
.about .feature img {
  display: block;
  width: 80%;
  margin-left: 20%;
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .about .feature img {
    width: 39%;
    position: absolute;
    right: 0;
    bottom: 200px;
    margin-left: 0;
  }
}
.about .feature ul {
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .feature ul {
    width: 55.6%;
    padding-bottom: 0;
  }
}
.about .feature ul li {
  padding-left: 40px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4em;
  margin-bottom: 20px;
  position: relative;
}
@media screen and (min-width: 900px) {
  .about .feature ul li {
    padding-left: 50px;
    font-size: 24px;
    margin-bottom: 40px;
  }
}
.about .feature ul li::before {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 15/22;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  background: url("../images/about/finger.png") center top no-repeat;
  background-size: 100% auto;
}
@media screen and (min-width: 900px) {
  .about .feature ul li::before {
    width: 30px;
  }
}
.about .structure {
  padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .structure {
    padding-bottom: 120px;
  }
}
.about .structure h2 {
  font-size: 22px;
  font-weight: 700;
  color: #5f5f5f;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .about .structure h2 {
    font-size: 36px;
    padding-bottom: 110px;
  }
}
@media screen and (min-width: 900px) {
  .about .structure .flb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.about .structure img {
  display: block;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .structure img {
    width: 33.25%;
    margin-bottom: 0;
  }
}
.about .structure dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-top: #707070 1px solid;
  padding-top: 20px;
}
@media screen and (min-width: 900px) {
  .about .structure dl {
    padding-top: 0;
    border-top: 0;
    border-left: #707070 1px solid;
    padding-left: 30px;
    width: 61%;
  }
}
.about .structure dl dt,
.about .structure dl dd {
  display: block;
  font-size: 15px;
  font-weight: 400;
  line-height: 2em;
}
@media screen and (min-width: 900px) {
  .about .structure dl dt,
  .about .structure dl dd {
    font-size: 20px;
  }
}
.about .structure dl dt {
  width: 150px;
}
@media screen and (min-width: 900px) {
  .about .structure dl dt {
    width: 200px;
  }
}
.about .structure dl dd {
  width: calc(100% - 155px);
}
@media screen and (min-width: 900px) {
  .about .structure dl dd {
    width: calc(100% - 230px);
  }
}
.about .results {
  padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .results {
    padding-bottom: 120px;
  }
}
.about .results h2 {
  font-size: 22px;
  font-weight: 700;
  color: #5f5f5f;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .about .results h2 {
    font-size: 36px;
    padding-bottom: 110px;
  }
}
.about .results p {
  font-size: 15px;
  font-weight: 400;
  line-height: 2em;
  padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .about .results p {
    font-size: 20px;
    padding-bottom: 89px;
    width: 61.4%;
  }
}
@media screen and (min-width: 900px) {
  .about .results ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.about .results ul li {
  display: block;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (min-width: 900px) {
  .about .results ul li {
    font-size: 24px;
  }
}
.about .results ul li:nth-child(1) {
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .results ul li:nth-child(1) {
    margin-bottom: 0;
    width: 60%;
  }
}
@media screen and (min-width: 900px) {
  .about .results ul li:nth-child(2) {
    width: 35.5%;
  }
}
.about .results ul li img {
  display: block;
  margin-bottom: 15px;
}
@media screen and (min-width: 900px) {
  .about .results ul li img {
    margin-bottom: 35px;
  }
}
.about .list {
  padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .list {
    padding-bottom: 160px;
  }
}
.about .list h2 {
  font-size: 22px;
  font-weight: 700;
  color: #5f5f5f;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .about .list h2 {
    font-size: 36px;
    padding-bottom: 110px;
  }
}
@media screen and (min-width: 900px) {
  .about .list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.about .list ul li {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.2em;
  padding-left: 12px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
@media screen and (min-width: 900px) {
  .about .list ul li {
    font-size: 18px;
    width: 50%;
  }
}
.about .list ul li::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #192631;
  position: absolute;
  top: 13px;
  left: 0;
}
@media screen and (min-width: 900px) {
  .about .list ul li::before {
    top: 17px;
  }
}
.about .hownav {
  padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .hownav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 120px;
  }
}
.about .hownav li {
  display: block;
  font-size: 18px;
}
@media screen and (min-width: 900px) {
  .about .hownav li {
    width: 43%;
    font-size: 22px;
  }
}
.about .hownav li:first-child {
  margin-bottom: 15px;
}
@media screen and (min-width: 900px) {
  .about .hownav li:first-child {
    margin-bottom: 0;
  }
}
.about .hownav li a {
  font-weight: 700;
  display: block;
  width: 100%;
  text-align: center;
  line-height: 50px;
  color: #fff;
  background: #ebc02f;
  border-radius: 4px;
  position: relative;
}
@media screen and (min-width: 900px) {
  .about .hownav li a {
    line-height: 88px;
  }
}
.about .hownav li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
@media screen and (min-width: 900px) {
  .about .hownav li a::after {
    right: 22px;
    width: 10px;
    height: 10px;
    right: 27px;
  }
}
.about .hownav li a:hover {
  text-decoration: none;
}
.about .way {
  padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .way {
    padding-bottom: 160px;
  }
}
.about .way h2 {
  font-size: 22px;
  font-weight: 700;
  color: #5f5f5f;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .about .way h2 {
    font-size: 36px;
    padding-bottom: 100px;
  }
}
.about .way .pcstep {
  display: none;
}
@media screen and (min-width: 900px) {
  .about .way .pcstep {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.about .way .pcstep .box {
  width: 41%;
}
.about .way .pcstep .line {
  width: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
}
.about .way .pcstep .line span {
  display: block;
  width: 40px;
  height: 40px;
  background: #39b584;
  border-radius: 50%;
  position: relative;
  z-index: 5;
}
.about .way .pcstep .line::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #184a84;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.about .way .spstep {
  position: relative;
}
@media screen and (min-width: 900px) {
  .about .way .spstep {
    display: none;
  }
}
.about .way .spstep .step:last-of-type::before {
  content: none;
}
.about .way .step {
  position: relative;
  padding-left: 50px;
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .about .way .step {
    padding-left: 0;
  }
}
.about .way .step::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #184a84;
  position: absolute;
  left: 10px;
  top: 11px;
}
@media screen and (min-width: 900px) {
  .about .way .step::before {
    content: none;
  }
}
.about .way .step::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 0;
  z-index: 2;
  background: #39b584;
}
@media screen and (min-width: 900px) {
  .about .way .step::after {
    content: none;
  }
}
.about .way .step:last-of-type {
  padding-bottom: 0;
}
@media screen and (min-width: 900px) {
  .about .way .step.step2 {
    margin-top: 110px;
    padding-bottom: 90px;
  }
}
.about .way h3 {
  font-size: 22px;
  font-weight: 900;
  color: #39b584;
  padding-bottom: 10px;
}
@media screen and (min-width: 900px) {
  .about .way h3 {
    font-size: 36px;
    padding-bottom: 40px;
  }
}
.about .way h4 {
  font-size: min(5vw, 18px);
  font-weight: 700;
  padding-bottom: 15px;
}
@media screen and (min-width: 900px) {
  .about .way h4 {
    font-size: 24px;
    padding-bottom: 30px;
  }
}
.about .way p {
  font-size: 15px;
  line-height: 2em;
  font-weight: 400;
}
@media screen and (min-width: 900px) {
  .about .way p {
    font-size: 20px;
  }
}
.about .way img {
  display: block;
  width: min(33%, 120px);
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width: 900px) {
  .about .way img {
    width: 150px;
  }
}
.about .howtxt {
  padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .howtxt {
    text-align: center;
    padding-bottom: 160px;
  }
}
.about .howtxt .inner {
  max-width: 800px;
}
.about .howtxt h2 {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #184a84;
  padding-bottom: 15px;
}
@media screen and (min-width: 900px) {
  .about .howtxt h2 {
    font-size: 28px;
    padding-bottom: 30px;
  }
}
.about .howtxt h2:nth-of-type(2) {
  margin-top: 30px;
}
@media screen and (min-width: 900px) {
  .about .howtxt h2:nth-of-type(2) {
    margin-top: 60px;
  }
}
.about .howtxt p {
  font-size: 15px;
  line-height: 2em;
  font-weight: 400;
}
@media screen and (min-width: 900px) {
  .about .howtxt p {
    font-size: 20px;
  }
}
.about .care {
  position: relative;
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .care {
    padding-bottom: 80px;
  }
}
.about .care.last {
  padding-bottom: 80px;
}
@media screen and (min-width: 900px) {
  .about .care.last {
    padding-bottom: 160px;
  }
}
.about .care h2 {
  font-size: 22px;
  font-weight: 700;
  color: #5f5f5f;
  padding-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .about .care h2 {
    font-size: 36px;
    padding-bottom: 80px;
  }
}
.about .care p,
.about .care dt,
.about .care dd,
.about .care li {
  font-size: 15px;
  line-height: 2em;
  font-weight: 400;
}
@media screen and (min-width: 900px) {
  .about .care p,
  .about .care dt,
  .about .care dd,
  .about .care li {
    font-size: 20px;
  }
}
.about .care dl {
  padding-top: 20px;
  padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .about .care dl {
    padding-top: 36px;
    padding-bottom: 60px;
  }
}
.about .care img {
  display: block;
  margin-top: 30px;
}
@media screen and (min-width: 900px) {
  .about .care img {
    position: absolute;
    top: 0;
    right: 0;
    width: 48%;
  }
}
.about .care h3 {
  font-size: 15px;
  font-weight: 700;
  color: #39b584;
  padding-bottom: 15px;
}
@media screen and (min-width: 900px) {
  .about .care h3 {
    font-size: 20px;
    padding-bottom: 20px;
  }
}
.about .care ul {
  padding-left: 20px;
  padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .about .care ul {
    padding-left: 40px;
    padding-bottom: 40px;
  }
}
.about .care ul li {
  position: relative;
  padding-left: 12px;
}
.about .care ul li::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #192631;
  position: absolute;
  top: 13px;
  left: 0;
}
@media screen and (min-width: 900px) {
  .about .care ul li::before {
    top: 17px;
  }
}
.about .care .pb {
  padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .about .care .pb {
    padding-bottom: 40px;
  }
}
.about .insurance {
  padding: 30px;
  background: url("../images/maintenance/insurance.jpg") center top no-repeat;
  background-size: cover;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .about .insurance {
    padding: 50px 90px;
    border-radius: 30px;
    margin-bottom: 120px;
  }
}
.about .insurance h2,
.about .insurance p,
.about .insurance li {
  color: #fff;
}
.about .insurance h2 {
  font-size: 20px;
  font-weight: 700;
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .about .insurance h2 {
    font-size: 36px;
    padding-bottom: 40px;
  }
}
.about .insurance p,
.about .insurance li {
  font-size: 15px;
  line-height: 2em;
  font-weight: 400;
}
@media screen and (min-width: 900px) {
  .about .insurance p,
  .about .insurance li {
    font-size: 20px;
  }
}
.about .insurance p b,
.about .insurance li b {
  font-weight: 700;
}
.about .insurance ul {
  padding-top: 20px;
}
@media screen and (min-width: 900px) {
  .about .insurance ul {
    padding-top: 40px;
  }
}
.spec .spec_tbl {
  overflow-x: scroll;
  padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl {
    overflow: hidden;
    padding-bottom: 47px;
  }
}
.spec .spec_tbl table {
  width: 960px;
  table-layout: fixed;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table {
    width: 100%;
  }
}
.spec .spec_tbl table th:first-child {
  width: 200px;
}
.spec .spec_tbl table thead th {
  border: #fff 2px solid;
  font-size: 18px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 10px 0;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table thead th {
    font-size: 24px;
    padding: 38px 0;
  }
}
.spec .spec_tbl table thead th sub {
  font-size: 18px;
  font-weight: 700;
}
.spec .spec_tbl table thead th:nth-child(1) {
  background: gray;
  border-left: gray 2px solid;
}
.spec .spec_tbl table thead th:nth-child(2),
.spec .spec_tbl table thead th:nth-child(3) {
  background: #ebc02f;
}
.spec .spec_tbl table thead th:nth-child(4),
.spec .spec_tbl table thead th:nth-child(5),
.spec .spec_tbl table thead th:nth-child(6) {
  background: #39b584;
}
.spec .spec_tbl table thead th:nth-child(6) {
  border-right: #39b584 2px solid;
}
.spec .spec_tbl table tbody th,
.spec .spec_tbl table tbody td {
  font-size: 15px;
  font-weight: 700;
  border: #ededed 2px solid;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table tbody th,
  .spec .spec_tbl table tbody td {
    font-size: 18px;
  }
}
.spec .spec_tbl table tbody th {
  text-align: left;
  padding: 10px;
  background: #fff;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table tbody th {
    padding: 33px 15px;
  }
}
.spec .spec_tbl table tbody th sup {
  font-weight: 700;
}
.spec .spec_tbl table tbody td {
  text-align: center;
  padding: 10px;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table tbody td {
    padding: 33px 5px;
  }
}
.spec .spec_tbl table tbody td sub {
  font-size: 15px;
  font-weight: 700;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table tbody td sub {
    font-size: 18px;
  }
}
.spec .spec_tbl table tbody .left {
  text-align: left;
  font-size: 16px;
}
.spec .spec_tbl table tbody .or {
  background: rgba(235, 192, 47, 0.2);
}
.spec .spec_tbl table tbody .gr {
  background: rgba(57, 181, 132, 0.2);
}
.spec .spec_tbl table tbody .large {
  font-size: 18px;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table tbody .large {
    font-size: 24px;
  }
}
.spec .spec_tbl table tbody .mid {
  font-size: 16px;
}
@media screen and (min-width: 900px) {
  .spec .spec_tbl table tbody .mid {
    font-size: 20px;
  }
}
.spec .note {
  counter-reset: item;
}
.spec .note li {
  list-style: none;
  font-weight: 400;
  font-size: 15px;
  text-indent: -27px;
  margin-left: 27px;
  padding-bottom: 15px;
}
@media screen and (min-width: 900px) {
  .spec .note li {
    font-size: 20px;
    text-indent: -33px;
    margin-left: 33px;
    padding-bottom: 30px;
  }
}
.spec .note li::before {
  counter-increment: item;
  content: "*" counter(item);
  font-weight: 700;
  margin-right: 10px;
}
.spec .att {
  padding-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .spec .att {
    padding-bottom: 108px;
  }
}
.spec .att li {
  list-style: none;
  font-size: 15px;
  font-weight: 400;
  text-indent: -15px;
  margin-left: 15px;
}
@media screen and (min-width: 900px) {
  .spec .att li {
    font-size: 20px;
    text-indent: -20px;
    margin-left: 20px;
  }
}
.spec .att li::before {
  content: "・";
}
.spec .price {
  overflow-x: scroll;
}
@media screen and (min-width: 900px) {
  .spec .price {
    overflow: hidden;
  }
}
.spec .price table {
  width: max(100%, 500px);
  table-layout: fixed;
}
@media screen and (min-width: 900px) {
  .spec .price table {
    width: 100%;
  }
}
.spec .price table th,
.spec .price table td {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (min-width: 900px) {
  .spec .price table th,
  .spec .price table td {
    font-size: 24px;
  }
}
.spec .price table thead th {
  color: #fff;
  background: #39b584;
  padding: 15px 0;
  border: #fff 2px solid;
}
@media screen and (min-width: 900px) {
  .spec .price table thead th {
    padding: 38px 0;
  }
}
.spec .price table tbody th,
.spec .price table tbody td {
  background: #fff;
  border: #ededed 2px solid;
  padding: 10px 0;
}
@media screen and (min-width: 900px) {
  .spec .price table tbody th,
  .spec .price table tbody td {
    padding: 25px 0;
  }
}
.faq .pcfaq {
  display: none;
}
@media screen and (min-width: 900px) {
  .faq .pcfaq {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.faq .pcfaq .block {
  width: 48.5%;
}
@media screen and (min-width: 900px) {
  .faq .spfaq {
    display: none;
  }
}
.faq .box {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  border: #184a84 1px solid;
  border-radius: 18px;
  padding: 10px 15px;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .faq .box {
    padding: 20px 23px;
    margin-bottom: 30px;
  }
}
.faq .box h3 {
  font-size: 18px;
  font-weight: 700;
  color: #184a84;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  padding-right: 15px;
  cursor: pointer;
}
@media screen and (min-width: 900px) {
  .faq .box h3 {
    font-size: 24px;
    padding-right: 25px;
  }
}
.faq .box h3::before {
  content: "";
  display: block;
  width: 50px;
  aspect-ratio: 142/151;
  background: url("../images/faq/q.png") center top no-repeat;
  background-size: 100% auto;
  margin-right: 10px;
}
@media screen and (min-width: 900px) {
  .faq .box h3::before {
    width: 71px;
    margin-right: 30px;
  }
}
.faq .box h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-top: 2px solid #184a84;
  border-right: 2px solid #184a84;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
@media screen and (min-width: 900px) {
  .faq .box h3::after {
    width: 14px;
    height: 14px;
  }
}
.faq .box h3.active::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.faq .box h3 span {
  display: block;
  font-weight: 700;
  line-height: 1.5em;
}
.faq .box .answer {
  margin-top: 20px;
  padding-left: 60px;
  padding-bottom: 10px;
  position: relative;
  display: none;
}
@media screen and (min-width: 900px) {
  .faq .box .answer {
    margin-top: 58px;
    padding-left: 101px;
    padding-bottom: 20px;
  }
}
.faq .box .answer::before {
  content: "";
  display: block;
  width: 50px;
  aspect-ratio: 142/149;
  background: url("../images/faq/a.png") center top no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 900px) {
  .faq .box .answer::before {
    width: 71px;
  }
}
.faq .box .answer p {
  font-size: 18px;
  line-height: 1.66em;
}
@media screen and (min-width: 900px) {
  .faq .box .answer p {
    font-size: 24px;
  }
}
.faq .box .answer p.pb {
  padding-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .faq .box .answer p.pb {
    padding-bottom: 50px;
  }
}
.company .bread {
  margin-bottom: 0;
  z-index: 10;
  position: relative;
}
@media screen and (min-width: 900px) {
  .company .sticky {
    bottom: auto;
    top: 497px;
  }
}
.company .kv {
  margin-top: -36px;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (min-width: 900px) {
  .company .kv {
    margin-bottom: 120px;
  }
}
.company .kv p {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.company .kv p b,
.company .kv p span {
  line-height: 1em;
}
.company .kv p b {
  display: block;
  font-size: 30px;
  color: #184a84;
  font-weight: 900;
  padding-bottom: 25px;
}
@media screen and (min-width: 900px) {
  .company .kv p b {
    font-size: 70px;
    padding-bottom: 50px;
  }
}
.company .kv p span {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #5f5f5f;
}
@media screen and (min-width: 900px) {
  .company .kv p span {
    font-size: 36px;
  }
}
.company .kv img {
  display: block;
  width: 100%;
  height: 400px;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 900px) {
  .company .kv img {
    height: 497px;
  }
}
.company .box_read,
.company .aboutnav {
  padding: 30px 0;
  margin-top: -30px;
  margin-bottom: 10px;
}
@media screen and (min-width: 900px) {
  .company .box_read,
  .company .aboutnav {
    padding: 50px 0;
    margin-top: -60px;
    margin-bottom: 30px;
  }
}
.company .box_read h2,
.company .aboutnav h2 {
  font-size: 24px;
  color: #5f5f5f;
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  .company .box_read h2,
  .company .aboutnav h2 {
    font-size: 36px;
  }
}
.company .history {
  padding-bottom: 100px;
}
@media screen and (min-width: 900px) {
  .company .history {
    padding-bottom: 200px;
  }
}
.company .history li {
  color: #39b584;
  font-size: 17px;
  font-weight: 700;
  padding-left: 40px;
  padding-bottom: 40px;
  line-height: 1.66em;
  position: relative;
}
@media screen and (min-width: 900px) {
  .company .history li {
    font-size: 26px;
    padding-left: 90px;
    padding-bottom: 100px;
  }
}
.company .history li::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #39b584;
  position: absolute;
  left: 0;
  top: 5px;
  z-index: 3;
}
@media screen and (min-width: 900px) {
  .company .history li::before {
    width: 40px;
    height: 40px;
  }
}
.company .history li::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  left: 10px;
  top: 5px;
  background: #184a84;
}
@media screen and (min-width: 900px) {
  .company .history li::after {
    left: 20px;
  }
}
.company .history li:last-child {
  padding-bottom: 0;
}
.company .history li:last-child::after {
  content: none;
}
.company .history li ul {
  padding-top: 5px;
}
@media screen and (min-width: 900px) {
  .company .history li ul {
    padding-top: 15px;
  }
}
.company .history li ul li {
  color: #192631;
  font-size: 15px;
  font-weight: 400;
  padding-left: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 900px) {
  .company .history li ul li {
    font-size: 20px;
  }
}
.company .history li ul li::before,
.company .history li ul li::after {
  content: none;
}
.company .outline {
  width: 100%;
}
.company .outline th,
.company .outline td {
  text-align: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  display: block;
  padding: 15px;
}
@media screen and (min-width: 900px) {
  .company .outline th,
  .company .outline td {
    display: table-cell;
  }
}
.company .outline th {
  background: #39b584;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (min-width: 900px) {
  .company .outline th {
    font-size: 24px;
    width: 40%;
    padding: 34px 10%;
    border-bottom: #fff 2px solid;
  }
}
.company .outline td {
  border: #ededed 2px solid;
  font-size: 16px;
  font-weight: 400;
}
@media screen and (min-width: 900px) {
  .company .outline td {
    font-size: 20px;
    padding: 34px 10%;
  }
}
.download + .aside_contact,
.about + .aside_contact,
.spec + .aside_contact,
.faq + .aside_contact {
  margin-top: 0;
}
.download .box_read,
.about .box_read,
.spec .box_read,
.faq .box_read,
.download .aboutnav,
.about .aboutnav,
.spec .aboutnav,
.faq .aboutnav {
  padding: 30px 0;
  margin-top: -30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .download .box_read,
  .about .box_read,
  .spec .box_read,
  .faq .box_read,
  .download .aboutnav,
  .about .aboutnav,
  .spec .aboutnav,
  .faq .aboutnav {
    padding: 50px 0;
    margin-top: -60px;
    margin-bottom: 50px;
  }
}
.download .box_read h2,
.about .box_read h2,
.spec .box_read h2,
.faq .box_read h2,
.download .aboutnav h2,
.about .aboutnav h2,
.spec .aboutnav h2,
.faq .aboutnav h2 {
  font-size: 24px;
  color: #5f5f5f;
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  .download .box_read h2,
  .about .box_read h2,
  .spec .box_read h2,
  .faq .box_read h2,
  .download .aboutnav h2,
  .about .aboutnav h2,
  .spec .aboutnav h2,
  .faq .aboutnav h2 {
    font-size: 36px;
  }
}
@media screen and (min-width: 900px) {
  .download .wrap,
  .about .wrap,
  .spec .wrap,
  .faq .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.download .wrap .box,
.about .wrap .box,
.spec .wrap .box,
.faq .wrap .box {
  margin-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .download .wrap .box,
  .about .wrap .box,
  .spec .wrap .box,
  .faq .wrap .box {
    width: 22%;
    margin-right: 4%;
    margin-bottom: 0;
  }
}
.download .wrap .box:last-of-type,
.about .wrap .box:last-of-type,
.spec .wrap .box:last-of-type,
.faq .wrap .box:last-of-type {
  margin-right: 0;
  margin-bottom: 0;
}
.download .wrap .box h3,
.about .wrap .box h3,
.spec .wrap .box h3,
.faq .wrap .box h3 {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .download .wrap .box h3,
  .about .wrap .box h3,
  .spec .wrap .box h3,
  .faq .wrap .box h3 {
    font-size: 24px;
    min-height: 130px;
  }
}
.download .wrap .box h3 span.small,
.about .wrap .box h3 span.small,
.spec .wrap .box h3 span.small,
.faq .wrap .box h3 span.small {
  font-size: 14px;
}
@media screen and (min-width: 1230px) {
  .download .wrap .box h3 span.small,
  .about .wrap .box h3 span.small,
  .spec .wrap .box h3 span.small,
  .faq .wrap .box h3 span.small {
    font-size: 20px;
  }
}
.download .wrap .box .img,
.about .wrap .box .img,
.spec .wrap .box .img,
.faq .wrap .box .img {
  text-align: center;
  line-height: 0;
  margin-bottom: 20px;
}
.download .wrap .box .img img,
.about .wrap .box .img img,
.spec .wrap .box .img img,
.faq .wrap .box .img img {
  width: 70%;
}
@media screen and (min-width: 900px) {
  .download .wrap .box .img img,
  .about .wrap .box .img img,
  .spec .wrap .box .img img,
  .faq .wrap .box .img img {
    width: 100%;
  }
}
.download .wrap .box .btn,
.about .wrap .box .btn,
.spec .wrap .box .btn,
.faq .wrap .box .btn {
  display: block;
  padding-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .download .wrap .box .btn,
  .about .wrap .box .btn,
  .spec .wrap .box .btn,
  .faq .wrap .box .btn {
    padding-bottom: 60px;
  }
}
.download .wrap .box .btn a,
.about .wrap .box .btn a,
.spec .wrap .box .btn a,
.faq .wrap .box .btn a {
  width: 100%;
  color: #184a84;
}
.download .wrap .box .btn a span,
.about .wrap .box .btn a span,
.spec .wrap .box .btn a span,
.faq .wrap .box .btn a span {
  width: 92%;
  border: #184a84 2px solid;
}
.download .wrap .box .btn a::before,
.about .wrap .box .btn a::before,
.spec .wrap .box .btn a::before,
.faq .wrap .box .btn a::before {
  display: none;
}
.download .wrap .box .btn a::after,
.about .wrap .box .btn a::after,
.spec .wrap .box .btn a::after,
.faq .wrap .box .btn a::after {
  border-top: 2px solid #184a84;
  border-right: 2px solid #184a84;
  top: -5px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  right: 30px;
}
@media screen and (min-width: 900px) {
  .download .wrap .box .btn a::after,
  .about .wrap .box .btn a::after,
  .spec .wrap .box .btn a::after,
  .faq .wrap .box .btn a::after {
    right: 20px;
  }
}
.download .wrap .box .btn a span,
.about .wrap .box .btn a span,
.spec .wrap .box .btn a span,
.faq .wrap .box .btn a span {
  font-size: 18px;
}
@media screen and (min-width: 900px) {
  .download .wrap .box .btn a span,
  .about .wrap .box .btn a span,
  .spec .wrap .box .btn a span,
  .faq .wrap .box .btn a span {
    font-size: clamp(12px, 1.25vw, 18px);
  }
}
.download .wrap .box .btn a span span,
.about .wrap .box .btn a span span,
.spec .wrap .box .btn a span span,
.faq .wrap .box .btn a span span {
  border: none;
  content: "";
  display: block;
  width: 2px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -2px;
  background: #fff;
}
.download .wrap .box .btn a span::before,
.about .wrap .box .btn a span::before,
.spec .wrap .box .btn a span::before,
.faq .wrap .box .btn a span::before {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: #184a84;
  position: absolute;
  left: -20px;
  z-index: 5;
}
.download .wrap .box .text,
.about .wrap .box .text,
.spec .wrap .box .text,
.faq .wrap .box .text {
  font-size: 16px;
}
@media screen and (min-width: 900px) {
  .download .wrap .box .text,
  .about .wrap .box .text,
  .spec .wrap .box .text,
  .faq .wrap .box .text {
    font-size: 20px;
  }
}
.news.index .box_read,
.news.index .aboutnav {
  background: #fafafa;
  padding: 30px 0;
  margin-top: -30px;
  margin-bottom: 50px;
}
@media screen and (min-width: 900px) {
  .news.index .box_read,
  .news.index .aboutnav {
    padding: 50px 0;
    margin-top: -60px;
    margin-bottom: 100px;
  }
}
.news.index .box_read h2,
.news.index .aboutnav h2 {
  font-size: 24px;
  color: #5f5f5f;
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  .news.index .box_read h2,
  .news.index .aboutnav h2 {
    font-size: 36px;
  }
}
.news.index .box_read h2 p,
.news.index .aboutnav h2 p {
  font-size: 24px;
  color: #5f5f5f;
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  .news.index .box_read h2 p,
  .news.index .aboutnav h2 p {
    font-size: 36px;
  }
}
.news.index .wrap {
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .news.index .wrap {
    margin-bottom: 80px;
  }
}
.news.index .wrap .box {
  position: relative;
  border-bottom: rgba(181, 181, 181, 0.5) 1px solid;
  padding: 16px 40px 16px 0;
}
.news.index .wrap .box::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #39b584;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -7px;
}
@media screen and (min-width: 900px) {
  .news.index .wrap .box::after {
    width: 18px;
    height: 18px;
    right: 20px;
    margin-top: -9px;
  }
}
@media screen and (min-width: 900px) {
  .news.index .wrap .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.news.index .wrap .box:first-of-type {
  border-top: rgba(181, 181, 181, 0.5) 1px solid;
}
.news.index .wrap .box ul {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (min-width: 900px) {
  .news.index .wrap .box ul {
    margin-bottom: 0;
  }
}
.news.index .wrap .box ul li:first-of-type a {
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  font-size: 14px;
  color: #b5b5b5;
  margin-right: 10px;
  display: block;
}
@media screen and (min-width: 900px) {
  .news.index .wrap .box ul li:first-of-type a {
    width: 110px;
    font-size: 18px;
    margin-right: 20px;
  }
}
/* .news.index .wrap .box ul li:last-of-type a {
  font-size: 12px;
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  background: #39b584;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 3px 26px;
} */
@media screen and (min-width: 900px) {
  .news.index .wrap .box p {
    width: calc(100% - 300px);
  }
}
.news.index .wrap .box p a {
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  .news.index .wrap .box p a {
    font-size: 16px;
  }
}
.news.page h1 {
  color: #184a84;
  font-weight: 900;
  line-height: 1.5em;
  font-size: 30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .news.page h1 {
    font-size: 46px;
    margin-bottom: 40px;
  }
}
.news.page .list_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px;
}
.news.page .list_info li:first-of-type a {
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  font-size: 14px;
  color: #b5b5b5;
  margin-right: 10px;
}
@media screen and (min-width: 900px) {
  .news.page .list_info li:first-of-type a {
    font-size: 18px;
    margin-right: 30px;
  }
}
/* .news.page .list_info li:last-of-type {
  font-size: 12px;
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  background: #39b584;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 0px 26px;
}
.news.page .list_info li:last-of-type a {
  color: #fff;
  font-weight: bold;
}
.news.page .list_info li:last-of-type a:hover {
  text-decoration: none;
} */
@media screen and (min-width: 900px) {
  .news.page .body {
    margin-bottom: 80px;
  }
}
.news.page .body h2 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .news.page .body h2 {
    font-size: 36px;
  }
}
.news.page .body h3 {
  font-size: 18px;
  color: #39b584;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .news.page .body h3 {
    font-size: 26px;
  }
}
.news.page .body img {
  margin-bottom: 40px;
}
.news.page .body p {
  font-size: 14px;
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .news.page .body p {
    font-size: 18px;
  }
}
.news .pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.news .pagenavi li {
  margin: 0 5px;
}
.news .pagenavi li a {
  position: relative;
  display: block;
  color: #184a84;
  border: #184a84 2px solid;
  border-radius: 4px;
  padding: 0 10px;
  font-size: 16px;
  line-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (min-width: 900px) {
  .news .pagenavi li a {
    padding: 0 13px;
    font-size: 24px;
    line-height: 50px;
  }
}
.news .pagenavi li a:hover {
  text-decoration: none;
  background: #184a84;
  color: #fff;
  opacity: 1;
}
.news .pagenavi li span.current {
  background: #184a84;
  color: #fff;
  position: relative;
  display: block;
  border: #184a84 2px solid;
  border-radius: 4px;
  padding: 0 10px;
  font-size: 16px;
  line-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (min-width: 900px) {
  .news .pagenavi li span.current {
    padding: 0 13px;
    font-size: 24px;
    line-height: 50px;
  }
}
.news .pagenavi li.prev a::after,
.news .pagenavi li.next a::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #184a84;
}
@media screen and (min-width: 900px) {
  .news .pagenavi li.prev a::after,
  .news .pagenavi li.next a::after {
    width: 18px;
    height: 18px;
  }
}
.news .pagenavi li.prev a:hover::after,
.news .pagenavi li.next a:hover::after {
  border-color: #fff;
}
.news .pagenavi li.prev {
  margin: 0 20px 0 0;
}
@media screen and (min-width: 900px) {
  .news .pagenavi li.prev {
    margin: 0 40px 0 0;
  }
}
.news .pagenavi li.prev a::after {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  margin-right: -7px;
}
@media screen and (min-width: 900px) {
  .news .pagenavi li.prev a::after {
    margin-right: -8px;
  }
}
.news .pagenavi li.next {
  margin: 0 0 0 20px;
}
@media screen and (min-width: 900px) {
  .news .pagenavi li.next {
    margin: 0 0 0 40px;
  }
}
.news .pagenavi li.next a::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: -7px;
}
@media screen and (min-width: 900px) {
  .news .pagenavi li.next a::after {
    margin-left: -8px;
  }
}
@media screen and (min-width: 900px) {
  .sitemap .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 900px) {
  .sitemap .wrap .box {
    width: 30%;
    margin-right: 5%;
  }
}
.sitemap .wrap .box:last-of-type {
  margin-right: 0;
}
.sitemap .wrap .box dl {
  border-top: #39b584 1px solid;
  border-bottom: #39b584 1px solid;
}
.sitemap .wrap .box dl:not(first-of-type) {
  margin-top: -1px;
  padding: 30px 0;
}
@media screen and (min-width: 900px) {
  .sitemap .wrap .box dl:not(first-of-type) {
    padding: 60px 0;
  }
}
.sitemap .wrap .box dl dt {
  color: #184a84;
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .sitemap .wrap .box dl dt {
    font-size: 28px;
    margin-bottom: 40px;
  }
}
.sitemap .wrap .box dl dd {
  font-size: 16px;
  margin-bottom: 10px;
}
@media screen and (min-width: 900px) {
  .sitemap .wrap .box dl dd {
    font-size: 20px;
    margin-bottom: 40px;
  }
}
.sitemap .wrap .box dl dd:last-of-type {
  margin-bottom: 0;
}
.privacy .box_read,
.privacy .aboutnav {
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .privacy .box_read,
  .privacy .aboutnav {
    margin-bottom: 100px;
  }
}
.privacy .box_read h3,
.privacy .aboutnav h3 {
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 10px;
}
@media screen and (min-width: 900px) {
  .privacy .box_read h3,
  .privacy .aboutnav h3 {
    font-size: 30px;
    margin-bottom: 40px;
  }
}
.privacy .box_read p,
.privacy .aboutnav p {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (min-width: 900px) {
  .privacy .box_read p,
  .privacy .aboutnav p {
    font-size: 20px;
  }
}
.privacy .wrap {
  border-bottom: #39b584 1px solid;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .privacy .wrap {
    padding-bottom: 40px;
    margin-bottom: 80px;
  }
}
.privacy .wrap dl {
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .privacy .wrap dl {
    margin-bottom: 60px;
  }
}
.privacy .wrap dl dt {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .privacy .wrap dl dt {
    font-size: 26px;
    margin-bottom: 40px;
  }
}
.privacy .wrap dl dd {
  font-size: 14px;
}
@media screen and (min-width: 900px) {
  .privacy .wrap dl dd {
    font-size: 18px;
  }
}
.privacy .wrap .date {
  text-align: right;
  font-size: 14px;
}
@media screen and (min-width: 900px) {
  .privacy .wrap .date {
    font-size: 18px;
  }
}
.privacy .box_info {
  text-align: center;
}
.privacy .box_info h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .privacy .box_info h3 {
    font-size: 26px;
    margin-bottom: 40px;
  }
}
.privacy .box_info p {
  font-size: 18px;
}
@media screen and (min-width: 900px) {
  .privacy .box_info p {
    font-size: 26px;
  }
}
.contact {
  padding-bottom: 70px;
}
@media screen and (min-width: 900px) {
  .contact {
    padding-bottom: 140px;
  }
}
.contact .com_main_ttl {
  border-bottom: #39b584 1px solid;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .contact .com_main_ttl {
    padding-bottom: 60px;
    margin-bottom: 60px;
  }
}
.contact .read {
  font-weight: bold;
  color: #184a84;
  font-size: 16px;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .contact .read {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
.contact .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .contact .btn {
    margin-bottom: 60px;
  }
}
.contact .btn a {
  width: 100%;
  display: inline-block;
  background: #fff;
  border: #184a84 2px solid;
  border-radius: 4px;
  color: #184a84;
  font-weight: bold;
  position: relative;
  font-size: 16px;
  line-height: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .contact .btn a {
    width: auto;
    font-size: 24px;
    padding: 0 50px;
  }
}
.contact .btn a::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #184a84;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 15px;
}
@media screen and (min-width: 900px) {
  .contact .btn a::after {
    width: 15px;
    height: 15px;
    margin-top: -7px;
  }
}
.contact .btn a:hover {
  text-decoration: none;
}
@media screen and (min-width: 900px) {
  .contact .wrap {
    margin-bottom: 60px;
  }
}
.contact .wrap dl dt {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}
@media screen and (min-width: 900px) {
  .contact .wrap dl dt {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.contact .wrap dl dt span {
  color: #fff;
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  background: #39b584;
  border-radius: 4px;
  padding: 0 10px;
  font-weight: bold;
  font-size: 12px;
  line-height: 22px;
  display: inline-block;
  vertical-align: text-bottom;
  margin-right: 15px;
}
@media screen and (min-width: 900px) {
  .contact .wrap dl dt span {
    line-height: 26px;
  }
}
.contact .wrap dl dt span.caution {
  font-size: 16px;
  color: inherit;
  background: none;
  font-weight: normal;
  text-indent: -16px;
  margin-left: 16px;
  padding: 0;
  margin-right: 0;
  line-height: 1.8em;
}
@media screen and (min-width: 900px) {
  .contact .wrap dl dt span.caution {
    font-size: 20px;
    text-indent: -20px;
    margin-left: 20px;
    padding-left: 58px;
  }
}
.contact .wrap dl dt p {
  font-weight: bold;
}
.contact .wrap dl dd {
  margin-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .contact .wrap dl dd {
    font-size: 18px;
    margin-bottom: 40px;
  }
}
.contact .wrap dl dd input[type="text"] {
  width: 100%;
  border: gray 1px solid;
  height: 44px;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
}
@media screen and (min-width: 900px) {
  .contact .wrap dl dd input[type="text"] {
    font-size: 18px;
  }
}
.contact .wrap dl dd input[type="text"]::-webkit-input-placeholder {
  color: #ccc;
}
.contact .wrap dl dd input[type="text"]::-moz-placeholder {
  color: #ccc;
}
.contact .wrap dl dd input[type="text"]:-ms-input-placeholder {
  color: #ccc;
}
.contact .wrap dl dd input[type="text"]::-ms-input-placeholder {
  color: #ccc;
}
.contact .wrap dl dd input[type="text"]::placeholder {
  color: #ccc;
}
.contact .wrap dl dd textarea {
  width: 100%;
  border: gray 1px solid;
  height: 220px;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
}
@media screen and (min-width: 900px) {
  .contact .wrap dl dd textarea {
    font-size: 18px;
  }
}
.contact .wrap dl dd textarea::-webkit-input-placeholder {
  color: #ccc;
}
.contact .wrap dl dd textarea::-moz-placeholder {
  color: #ccc;
}
.contact .wrap dl dd textarea:-ms-input-placeholder {
  color: #ccc;
}
.contact .wrap dl dd textarea::-ms-input-placeholder {
  color: #ccc;
}
.contact .wrap dl dd textarea::placeholder {
  color: #ccc;
}
.contact .agree {
  text-align: center;
  font-size: 14px;
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  margin-bottom: 40px;
}
@media screen and (min-width: 900px) {
  .contact .agree {
    font-size: 16px;
  }
}
.contact .agree a {
  color: #184a84;
}
.contact .agree a img {
  width: 8px;
  vertical-align: middle;
  margin: 0 5px;
}
.contact .btn_form_wrap p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}
.contact .btn_form_wrap p::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 15px;
}
@media screen and (min-width: 900px) {
  .contact .btn_form_wrap p::after {
    width: 18px;
    height: 18px;
    margin-top: -9px;
    margin-right: -225px;
    right: 50%;
  }
}
.contact .btn_form_wrap p input {
  width: 100%;
  display: block;
  background: #184a84;
  border-radius: 4px;
  color: #fff;
  font-weight: bold;
  position: relative;
  font-size: 16px;
  line-height: 60px;
  border: none;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (min-width: 900px) {
  .contact .btn_form_wrap p input {
    width: 520px;
    font-size: 24px;
    line-height: 88px;
  }
}
.contact .btn_form_wrap p input:hover {
  opacity: 0.7;
}
.contact .btn_form_wrap p a {
  width: 100%;
  text-align: center;
  display: block;
  background: #184a84;
  border-radius: 4px;
  color: #fff;
  font-weight: bold;
  position: relative;
  font-size: 16px;
  line-height: 60px;
  border: none;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (min-width: 900px) {
  .contact .btn_form_wrap p a {
    width: 520px;
    font-size: 24px;
    line-height: 88px;
  }
}
.contact .btn_form_wrap p a::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 15px;
}
@media screen and (min-width: 900px) {
  .contact .btn_form_wrap p a::after {
    width: 18px;
    height: 18px;
    margin-top: -9px;
    margin-right: -225px;
    right: 50%;
  }
}
.contact .btn_form_wrap p a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media screen and (min-width: 900px) {
  .contact.confirm .wrap dl dd {
    padding-left: 58px;
  }
}
@media screen and (min-width: 900px) {
  .contact.confirm .btn_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.contact.confirm .btn_list .btn_back {
  position: relative;
  margin-bottom: 20px;
}
@media screen and (min-width: 900px) {
  .contact.confirm .btn_list .btn_back {
    margin-right: 60px;
    margin-bottom: 0;
  }
}
.contact.confirm .btn_list .btn_back::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #184a84;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  position: absolute;
  top: 50%;
  margin-top: -4px;
  left: 15px;
}
@media screen and (min-width: 900px) {
  .contact.confirm .btn_list .btn_back::after {
    width: 18px;
    height: 18px;
    margin-top: -9px;
    margin-right: -225px;
    left: 30px;
  }
}
.contact.confirm .btn_list .btn_back input {
  width: 100%;
  display: block;
  color: #184a84;
  background: #fff;
  border: #184a84 2px solid;
  border-radius: 4px;
  font-weight: bold;
  position: relative;
  font-size: 16px;
  line-height: 56px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (min-width: 900px) {
  .contact.confirm .btn_list .btn_back input {
    width: 157px;
    font-size: 24px;
    line-height: 88px;
    padding-left: 30px;
  }
}
.contact.confirm .btn_list .btn_back input:hover {
  opacity: 0.7;
}
.contact.finish h2 {
  text-align: center;
  color: #184a84;
  font-weight: 900;
  font-size: 24px;
  margin-bottom: 30px;
  line-height: 1.5em;
}
@media screen and (min-width: 900px) {
  .contact.finish h2 {
    font-size: 46px;
    margin-bottom: 60px;
  }
}
.contact.finish .text {
  text-align: center;
  font-size: 14px;
  margin-bottom: 30px;
}
@media screen and (min-width: 900px) {
  .contact.finish .text {
    font-size: 18px;
    margin-bottom: 60px;
  }
}
.wpcf7-list-item {
  display: block;
  margin: 0;
}
.wpcf7-spinner {
  display: none;
} /*# sourceMappingURL=style.css.map */
