/*====================================================================================
1. START MAIN VISUAL SECTION.
====================================================================================*/
.header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (min-width: 768px) {
  .header {
    padding-bottom: 2.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .header {
    height: 5rem;
  }
}
.header.scrolled {
  background: #fff;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.header.scrolled .header_menu li a {
  color: #142638;
}
.header.scrolled .header_btn .btn-tell {
  color: #142638;
  background: url(../images/common_img/icon_tell_bl.webp) no-repeat left 1.2rem center;
  background-size: 1.9rem auto;
  border: 1px solid #142638;
}
@media only screen and (max-width: 1550px) {
  .header.scrolled .header_btn .btn-tell {
    background: url(../images/common_img/icon_tell_bl.webp) no-repeat left 1.2rem center;
    background-size: 1.9rem auto;
    padding-left: 3rem;
  }
}
@media only screen and (max-width: 1380px) {
  .header.scrolled .header_btn .btn-tell {
    background: url(../images/common_img/icon_tell_bl.webp) no-repeat left 0.5rem center;
    background-size: 1.5rem auto;
    padding-left: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .header.scrolled .header_btn .btn-tell {
    background: #41d5ff url(../images/common_img/icon_tell.webp) no-repeat center center;
    background-size: 2.3rem auto;
    border: none;
  }
}
.header_right {
  gap: 3.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 4.8rem 4.9rem 0 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 1750px) {
  .header_right {
    padding: 4.8rem 2rem 0 0;
  }
}
@media only screen and (max-width: 1650px) {
  .header_right {
    gap: 2rem;
    padding: 4.8rem 2rem 0 0;
  }
}
@media only screen and (max-width: 1380px) {
  .header_right {
    padding: 3.8rem 2rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .header_right {
    padding: 0 0 0 0;
    gap: 0;
  }
}
@media only screen and (max-width: 767px) {
  .header_menu {
    overflow-y: scroll;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    position: fixed;
    top: 5rem;
    left: 0;
    background: #093391;
    padding: 2rem;
    width: 100%;
    height: calc(100% - 5rem);
  }
  .header_menu.visible {
    opacity: 1;
    visibility: visible;
  }
}
.header_menu_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.2rem;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 1650px) {
  .header_menu_nav {
    gap: 2rem;
  }
}
@media only screen and (max-width: 1380px) {
  .header_menu_nav {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .header_menu_nav {
    display: block;
  }
}
.header_menu li {
  list-style-type: none;
}
.header_menu li a {
  font-weight: 500;
  letter-spacing: 0.15em;
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (max-width: 1550px) {
  .header_menu li a {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .header_menu li a:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .header_menu li a {
    display: block;
    padding: 1rem 0;
    border-bottom: 1px solid #fff;
  }
}
.header_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .header_btn {
    gap: 1.4rem;
  }
}
.header_btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .header_btn a {
    width: 20rem;
    height: 5.2rem;
    border-radius: 0.8rem;
  }
}
@media only screen and (max-width: 1550px) {
  .header_btn a {
    width: 16rem;
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 1380px) {
  .header_btn a {
    width: 14rem;
  }
}
@media only screen and (max-width: 767px) {
  .header_btn a {
    width: 5rem;
    height: 5rem;
    font-size: 0;
  }
}
.header_btn .btn-tell {
  border: 1px solid #fff;
}
@media only screen and (min-width: 768px) {
  .header_btn .btn-tell {
    background: url(../images/common_img/icon_tell.webp) no-repeat left 2.8rem center;
    background-size: 1.9rem auto;
    letter-spacing: 0.06em;
    padding-left: 3.2rem;
  }
}
@media only screen and (max-width: 1550px) {
  .header_btn .btn-tell {
    background: url(../images/common_img/icon_tell.webp) no-repeat left 1.2rem center;
    background-size: 1.9rem auto;
    padding-left: 3rem;
  }
}
@media only screen and (max-width: 1380px) {
  .header_btn .btn-tell {
    background: url(../images/common_img/icon_tell.webp) no-repeat left 0.5rem center;
    background-size: 1.5rem auto;
    padding-left: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .header_btn .btn-tell {
    background: white url(../images/common_img/icon_tell_bl.webp) no-repeat center center;
    background-size: 2.3rem auto;
  }
}
@media only screen and (min-width: 768px) {
  .header_btn .btn-contact {
    background: #ff6465 url(../images/common_img/icon_email.webp) no-repeat left 3rem center;
    background-size: 2.4rem auto;
    letter-spacing: 0.15em;
    padding-left: 3.7rem;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
  }
  .header_btn .btn-contact:hover {
    background: #fff url(../images/common_img/icon_email_pink.webp) no-repeat left 3rem center;
    background-size: 2.4rem auto;
    color: #ff6465;
  }
}
@media only screen and (max-width: 1550px) {
  .header_btn .btn-contact {
    background: #ff6465 url(../images/common_img/icon_email.webp) no-repeat left 1.2rem center;
    background-size: 2rem auto;
    padding-left: 3rem;
  }
  .header_btn .btn-contact:hover {
    background: #fff url(../images/common_img/icon_email_pink.webp) no-repeat left 1.2rem center;
    background-size: 2rem auto;
  }
}
@media only screen and (max-width: 1380px) {
  .header_btn .btn-contact {
    background: #ff6465 url(../images/common_img/icon_email.webp) no-repeat left 1rem center;
    background-size: 1.5rem auto;
    padding-left: 2.5rem;
  }
  .header_btn .btn-contact:hover {
    background: #fff url(../images/common_img/icon_email_pink.webp) no-repeat left 1rem center;
    background-size: 1.5rem auto;
  }
}
@media only screen and (max-width: 767px) {
  .header_btn .btn-contact {
    background: #ff6465 url(../images/common_img/icon_email.webp) no-repeat center center;
    background-size: 2.3rem auto;
  }
  .header_btn .btn-contact:hover {
    background: #ff6465 url(../images/common_img/icon_email.webp) no-repeat center center;
    background-size: 2.3rem auto;
  }
}
.header_logo {
  width: 17.1rem;
  margin: 2.7rem 0 0 5rem;
}
@media only screen and (max-width: 767px) {
  .header_logo {
    width: 10rem;
    margin: 0.7rem 0 0 1rem;
  }
}

.cm-btn {
  background: #41d5ff;
  border-radius: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.15em;
  border: 0.2rem solid #41d5ff;
  position: relative;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (min-width: 768px) {
  .cm-btn {
    width: 29.5rem;
    height: 7rem;
    font-size: 1.8rem;
  }
  .cm-btn:hover {
    background: #fff;
    color: #41d5ff;
  }
  .cm-btn:hover .icon:before {
    background: #41d5ff;
  }
  .cm-btn:hover .icon:after {
    border: solid #41d5ff;
    border-width: 0 0.3rem 0.3rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-btn {
    width: 20rem;
    height: 5rem;
    font-size: 1.6rem;
  }
}
.cm-btn .icon {
  height: 0.9rem;
  position: absolute;
  top: 50%;
  display: block;
  margin-top: -0.5rem;
}
@media only screen and (min-width: 768px) {
  .cm-btn .icon {
    width: 2.4rem;
    right: 3.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-btn .icon {
    width: 1.8rem;
    right: 1rem;
  }
}
.cm-btn .icon:before {
  width: 100%;
  background: #fff;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (min-width: 768px) {
  .cm-btn .icon:before {
    height: 0.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-btn .icon:before {
    height: 0.2rem;
  }
}
.cm-btn .icon:after {
  content: "";
  border: solid #fff;
  display: inline-block;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (min-width: 768px) {
  .cm-btn .icon:after {
    left: 2.1rem;
    padding: 0.4rem;
    border-width: 0 0.3rem 0.3rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-btn .icon:after {
    border-width: 0 0.2rem 0.2rem 0;
    left: 1.5rem;
    padding: 0.3rem;
  }
}

.cm-title {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .cm-title {
    font-size: 4rem;
    line-height: 1.875;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title {
    font-size: 2.2rem;
    margin-bottom: 3rem;
  }
}
.cm-title span {
  color: #0093e9;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-family: var(--font-quicksand);
  display: block;
}
@media only screen and (min-width: 768px) {
  .cm-title span {
    font-size: 1.6rem;
    margin-bottom: -0.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title span {
    font-size: 1.3rem;
  }
}

.cm-title02 {
  text-align: center;
  color: #005cbc;
}
.cm-title02__ttl {
  line-height: 2.1;
  font-weight: 600;
  display: inline-block;
  vertical-align: top;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .cm-title02__ttl {
    font-size: 2.8rem;
    margin: 0 0 1.3rem;
    padding: 0 1.3rem 1rem;
    border-bottom: 0.3rem solid #005cbc;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title02__ttl {
    font-size: 1.4rem;
    margin: 0 0 1.3rem;
    padding: 0 0 0.5rem;
    border-bottom: 0.2rem solid #005cbc;
  }
}
.cm-title02__ttl:before {
  content: "";
  width: 1.9rem;
  height: 1.9rem;
  display: inline-block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .cm-title02__ttl:before {
    border-bottom: 0.3rem solid #005cbc;
    bottom: -1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title02__ttl:before {
    border-bottom: 0.2rem solid #005cbc;
    bottom: -1.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-title02__big {
    font-size: 3.4rem;
    line-height: 1.7647058824;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title02__big {
    font-size: 1.6rem;
  }
}
.cm-title02__txt {
  text-align: center;
  color: #142638;
}
@media only screen and (min-width: 768px) {
  .cm-title02__txt {
    margin: 2.9rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title02__txt {
    margin: 1.5rem 0 0;
  }
}

.cm-banner {
  background: url(../images/bg1.webp) no-repeat center center;
  background-size: cover;
  text-align: center;
}
.cm-banner__inner {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .cm-banner__inner {
    padding: 9.5rem 0 9.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-banner__inner {
    padding: 3rem 1.2rem;
  }
}
.cm-banner__title {
  font-weight: 700;
  color: #fff;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .cm-banner__title {
    font-size: 4rem;
    line-height: 1;
  }
}
@media only screen and (max-width: 767px) {
  .cm-banner__title {
    font-size: 1.6rem;
  }
}
.cm-banner__title span {
  color: #ffdf02;
  font-weight: 700;
  display: inline-block;
  vertical-align: top;
  background: url(../images/bg_tt.webp) no-repeat center center;
  background-size: 100% auto;
  padding: 0.2rem 5rem;
}
@media only screen and (min-width: 768px) {
  .cm-banner__title span {
    font-size: 2.4rem;
    margin-bottom: 2.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-banner__title span {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-banner .cm-btn {
    margin: 5.4rem auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-banner .cm-btn {
    margin: 2rem auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm-banner img {
    right: -0.4rem;
    bottom: -8.7rem;
    position: absolute;
  }
}
@media only screen and (max-width: 767px) {
  .cm-banner img {
    display: none;
  }
}

.mainvisual {
  width: 100%;
  background: url(../images/bg_mv.webp) no-repeat top left;
  background-size: cover;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .mainvisual {
    height: 100vh;
  }
}
@media only screen and (max-width: 767px) {
  .mainvisual {
    height: 40rem;
  }
}
.mainvisual img {
  position: absolute;
  right: 0rem;
  bottom: -2rem;
  width: 36%;
}
.mainvisual__ttl {
  letter-spacing: 0.05em;
  font-weight: 700;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .mainvisual__ttl {
    font-size: 5.2rem;
    line-height: 1.4423076923;
    max-width: 80.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .mainvisual__ttl {
    font-size: 2.2rem;
  }
}
.mainvisual p {
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .mainvisual p {
    margin: 3.8rem 0 8.2rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .mainvisual p {
    margin: 1.5rem 0 3rem;
    font-size: 1.5rem;
  }
}

.main-concerns {
  position: relative;
  background: #f6fcff;
}
@media only screen and (min-width: 768px) {
  .main-concerns {
    padding-top: 11rem;
    padding-bottom: 11.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-concerns {
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .main-concerns .cm-title {
    background: url(../images/icon_question.webp) no-repeat bottom 0.9rem left 20.8rem;
  }
}
.main-concerns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .main-concerns__list {
    margin-top: 3.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-concerns__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3rem;
  }
}
.main-concerns__list .ttl {
  font-weight: 600;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .main-concerns__list .ttl {
    font-size: 2.2rem;
    line-height: 1.6363636364;
    margin: 1.3rem 0 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-concerns__list .ttl {
    font-size: 1.6rem;
    margin: 1.3rem 0 1.5rem;
  }
}
.main-concerns__list p {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main-concerns__item {
    width: 24.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-concerns__item {
    width: 100%;
    text-align: center;
  }
  .main-concerns__item .img {
    margin: auto;
    background: #f6fcff;
  }
  .main-concerns__item p {
    text-align: left;
  }
}

.main-lead {
  background: #1e96f4;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .main-lead {
    padding: 14.8rem 0 12.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead {
    padding: 5rem 0;
  }
}
.main-lead__ttl {
  text-align: center;
  font-weight: 700;
  position: relative;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main-lead__ttl {
    font-size: 4rem;
    line-height: 1.875;
    padding-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__ttl {
    font-size: 1.8rem;
    padding-bottom: 1.5rem;
    line-height: 1.4;
  }
}
.main-lead__ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .main-lead__ttl::after {
    border-bottom: 0.6rem dotted #fff;
    width: 48.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__ttl::after {
    border-bottom: 0.3rem dotted #fff;
    width: 20rem;
  }
}
.main-lead__ttl span {
  color: #ffdf02;
}
@media only screen and (min-width: 768px) {
  .main-lead__ttl span {
    font-size: 4.6rem;
    line-height: 1.6304347826;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__ttl span {
    font-size: 2.5rem;
  }
}
.main-lead__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .main-lead__inner {
    position: relative;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-top: 5.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-lead__inner .img {
    width: calc(100% - 65rem);
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner .img {
    width: 100%;
    text-align: center;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    display: none;
  }
}
.main-lead__inner .img img {
  top: 0.6rem;
  position: relative;
  width: 95%;
  max-width: none;
}
@media only screen and (min-width: 1600px) {
  .main-lead__inner .img img {
    left: -20.6rem;
    width: 62.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner .img img {
    width: 60%;
    margin: auto;
  }
}
@media only screen and (min-width: 768px) {
  .main-lead__inner .ct {
    width: 64.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner .ct {
    margin-top: 3rem;
  }
}
.main-lead__inner .ct .ttl {
  font-weight: 600;
  letter-spacing: 0.04em;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main-lead__inner .ct .ttl {
    font-size: 2.8rem;
    padding-left: 2.5rem;
    margin: 0 0 1.8rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner .ct .ttl {
    font-size: 1.8rem;
    padding-left: 2rem;
    margin: 0 0 1.5rem;
  }
}
.main-lead__inner .ct .ttl:before {
  content: "";
  height: 100%;
  border-radius: 0.5rem;
  background: #fff;
  position: absolute;
  top: 0.2rem;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .main-lead__inner .ct .ttl:before {
    width: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner .ct .ttl:before {
    width: 0.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-lead__inner .ct .ct_list {
    margin-bottom: 5.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner .ct .ct_list {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-lead__inner .ct .ct_item {
    margin-bottom: 4.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-lead__inner .ct .ct_item {
    margin-bottom: 2rem;
  }
}
.main-lead__inner .ct .ct_item:last-child {
  margin-bottom: 0;
}
.main-lead__inner .ct p {
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .main-service {
    padding-top: 11.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service {
    padding-top: 5rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-service__box01 {
    margin-top: 2.6rem;
  }
}
.main-service__box01List {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
}
@media only screen and (min-width: 768px) {
  .main-service__box01List {
    margin-top: 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box01List {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 3rem;
  }
}
.main-service__box01Item {
  border-radius: 1rem;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0 0.2rem 3rem 0 rgba(23, 58, 89, 0.2);
          box-shadow: 0 0.2rem 3rem 0 rgba(23, 58, 89, 0.2);
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .main-service__box01Item {
    width: calc(33.3333333333% - 2rem);
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box01Item {
    width: 100%;
  }
  .main-service__box01Item img {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .main-service__box01Item .ct {
    padding: 2.3rem 2.9rem 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box01Item .ct {
    padding: 2rem 1.2rem;
  }
}
.main-service__box01Item .ct p {
  margin: 0;
}
.main-service__box01Ttl {
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .main-service__box01Ttl {
    font-size: 2.2rem;
    line-height: 1.6363636364;
    margin: 0 0 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box01Ttl {
    font-size: 1.8rem;
    margin: 0 0 1.5rem;
  }
}
.main-service__box02 {
  background: #f6fcff url(../images/bg.webp) no-repeat top center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .main-service__box02 {
    margin-top: 9rem;
    padding-top: 8.4rem;
    padding-bottom: 13.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box02 {
    margin-top: 5rem;
    padding: 5rem 0;
  }
}
.main-service__box02List {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .main-service__box02List {
    gap: 8.8rem 6.2rem;
    margin-top: 7.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box02List {
    margin-top: 5rem;
    gap: 5rem;
  }
}
.main-service__box02Item {
  border-radius: 1rem;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0px 0.2rem 3rem 0px rgba(23, 58, 89, 0.2);
          box-shadow: 0px 0.2rem 3rem 0px rgba(23, 58, 89, 0.2);
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main-service__box02Item {
    width: calc(50% - 3.1rem);
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box02Item {
    width: 100%;
  }
}
.main-service__box02Item img {
  width: 100%;
  border-radius: 1rem 1rem 0 0;
}
.main-service__box02Item .number {
  border-radius: 50%;
  background: #65bef2;
  font-family: var(--font-quicksand);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .main-service__box02Item .number {
    width: 8rem;
    height: 8rem;
    top: -3.9rem;
    left: 2.9rem;
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box02Item .number {
    width: 5rem;
    height: 5rem;
    top: -2.5rem;
    left: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-service__box02Item .ct {
    padding: 2.4rem 3rem 6.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box02Item .ct {
    padding: 2rem 1.2rem;
  }
}
.main-service__box02Item .tit {
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .main-service__box02Item .tit {
    font-size: 2.2rem;
    margin: 0 0 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box02Item .tit {
    font-size: 1.8rem;
    margin: 0 0 0.5rem;
  }
}
.main-service__box02Item .ttl {
  color: #0093e9;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .main-service__box02Item .ttl {
    font-size: 1.8rem;
    margin: 0 0 1.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-service__box02Item .ttl {
    font-size: 1.6rem;
    margin: 0 0 0.5rem;
  }
}
.main-service__box02Item p {
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .main-scenarios {
    padding-top: 11.1rem;
    margin-bottom: 12.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios {
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .main-scenarios01 {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-scenarios01__list {
    margin-top: 3.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios01__list {
    margin-top: 3rem;
  }
}
.main-scenarios01__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 768px) {
  .main-scenarios01__item {
    margin-bottom: 6rem;
  }
  .main-scenarios01__item:nth-child(2n) .ct {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-left: 0;
    padding-right: 6.5rem;
  }
  .main-scenarios01__item:nth-child(2n) img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios01__item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 3rem;
  }
}
.main-scenarios01__item:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .main-scenarios01__item .ct {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: calc(100% - 55rem);
    padding-left: 6.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios01__item .ct {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.main-scenarios01__item .ct p {
  margin: 0;
}
.main-scenarios01__item img {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media only screen and (min-width: 768px) {
  .main-scenarios01__item img {
    width: 55rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios01__item img {
    width: 100%;
  }
}
.main-scenarios01__itemTtl {
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 768px) {
  .main-scenarios01__itemTtl {
    font-size: 2.8rem;
    line-height: 1.5;
    margin: 0 0 1.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios01__itemTtl {
    font-size: 1.8rem;
    margin: 0 0 1.5rem;
  }
}
.main-scenarios01__itemTtl span {
  width: 11.5rem;
  height: 3rem;
  border-radius: 0.6rem;
  background: #66bef2;
  font-family: var(--font-quicksand);
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 0.6rem;
  text-align: center;
  padding-top: 0.3rem;
}
.main-scenarios02 {
  border-radius: 1rem;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0px 0.2rem 3rem 0px rgba(23, 58, 89, 0.2);
          box-shadow: 0px 0.2rem 3rem 0px rgba(23, 58, 89, 0.2);
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .main-scenarios02 {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02 {
    margin-top: 5rem;
  }
}
.main-scenarios02__ttl {
  background: #ff6465;
  font-weight: 600;
  color: #fff;
  text-align: center;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ttl {
    font-size: 2.8rem;
    padding: 1.6rem 0 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ttl {
    font-size: 1.8rem;
    padding: 1rem 1.2rem;
  }
}
.main-scenarios02__ttl span {
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ttl span {
    font-size: 3.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ttl span {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ct {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 3.2rem 2rem 5.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ct {
    padding: 2rem 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ct img {
    width: 57.4rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ct .ct {
    width: calc(100% - 57.4rem);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ct .ct {
    margin-bottom: 1rem;
  }
}
.main-scenarios02__ct .ct .tt {
  font-weight: 600;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ct .ct .tt {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ct .ct .tt {
    font-size: 1.6rem;
  }
}
.main-scenarios02__ct .ct ul {
  margin: 0;
  padding: 0;
}
.main-scenarios02__ct .ct ul li {
  font-weight: 600;
  list-style-type: none;
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ct .ct ul li {
    padding: 0 0 0 2.6rem;
    background: url(../images/check.webp) no-repeat left 0.6rem top 1.4rem;
    background-size: 1.4rem auto;
    font-size: 1.8rem;
    line-height: 1.7777777778;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ct .ct ul li {
    padding: 0 0 0 1.8rem;
    background: url(../images/check.webp) no-repeat left top 0.7rem;
    background-size: 1.4rem auto;
    font-size: 1.4rem;
  }
}
.main-scenarios02__ct .ct .ct1 {
  margin-bottom: 2.7rem;
}
.main-scenarios02__ct .ct .ct1:last-child {
  margin-bottom: 0;
}
.main-scenarios02__ct .ct .ct1 p {
  margin: 0;
}
.main-scenarios02__ct .cm-title02__ttl {
  font-weight: 600;
  color: #005cbc;
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ct .cm-title02__ttl {
    font-size: 2.2rem;
    padding: 0 0 1.8rem;
    margin-bottom: 3.2rem;
    line-height: 1.7272727273;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ct .cm-title02__ttl {
    font-size: 1.5rem;
    margin-bottom: 3rem;
  }
}
.main-scenarios02__ct .cm-title02__ttl:before {
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
@media only screen and (min-width: 768px) {
  .main-scenarios02__ct .cm-title02__ttl:before {
    left: 11rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-scenarios02__ct .cm-title02__ttl:before {
    left: 5rem;
  }
}

.main-installation {
  background: #f6fcff;
}
@media only screen and (min-width: 768px) {
  .main-installation {
    padding: 13.1rem 0 12.2rem;
  }
  .main-installation .cm-title {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation {
    padding: 5rem 0;
  }
}
.main-installation__ttl {
  font-weight: 600;
  color: #005cbc;
}
@media only screen and (min-width: 768px) {
  .main-installation__ttl {
    font-size: 2.8rem;
    margin: 2.5rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__ttl {
    font-size: 1.4rem;
    text-align: center;
    margin: 0;
  }
}
.main-installation__ttl span {
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .main-installation__ttl span {
    font-size: 3.4rem;
    margin: 2.5rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__ttl span {
    font-size: 1.6rem;
  }
}
.main-installation__list {
  margin-top: 3rem;
}
.main-installation__item {
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0px 3.6rem 4rem 0px rgba(23, 58, 89, 0.12);
          box-shadow: 0px 3.6rem 4rem 0px rgba(23, 58, 89, 0.12);
  margin-bottom: 2rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main-installation__item {
    padding: 2.5rem 5.5rem 2.5rem 0;
    border-radius: 3.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item {
    border-radius: 2rem;
    overflow: hidden;
  }
}
.main-installation__item:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .main-installation__item:nth-child(1) .step {
    background: #ffdf02;
  }
}
@media only screen and (min-width: 768px) {
  .main-installation__item:nth-child(1) .step .number {
    background: url(../images/step1.webp) no-repeat center center;
    background-size: 100% auto;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item:nth-child(2) .step {
    background: #ff6465;
  }
}
@media only screen and (min-width: 768px) {
  .main-installation__item:nth-child(2) .step .number {
    background: url(../images/step2.webp) no-repeat center center;
    background-size: 100% auto;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item:nth-child(3) .step {
    background: #41d5ff;
  }
}
@media only screen and (min-width: 768px) {
  .main-installation__item:nth-child(3) .step .number {
    background: url(../images/step3.webp) no-repeat center center;
    background-size: 100% auto;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item:nth-child(4) .step {
    background: #0093e9;
  }
}
@media only screen and (min-width: 768px) {
  .main-installation__item:nth-child(4) .step .number {
    background: url(../images/step4.webp) no-repeat center center;
    background-size: 100% auto;
  }
}
.main-installation__item .step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 768px) {
  .main-installation__item .step {
    width: 20.7rem;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item .step {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    gap: 1rem;
    padding: 0.5rem 0.5rem 0.5rem 1.5rem;
  }
}
.main-installation__item .step span {
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .main-installation__item .step span {
    font-family: var(--font-quicksand);
    font-size: 3rem;
    letter-spacing: 0.05em;
    display: inline-block;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    position: absolute;
    top: 11.2rem;
    left: 2.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item .step span {
    font-size: 1.6rem;
    text-align: center;
    display: block;
    color: #fff;
    font-weight: 600;
  }
}
.main-installation__item .step .number {
  font-family: var(--font-quicksand);
  color: #fff;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .main-installation__item .step .number {
    width: 12.7rem;
    height: 15.1rem;
    font-size: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item .step .number {
    font-size: 3rem;
    line-height: 1;
  }
}
.main-installation__item .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .main-installation__item .inner {
    width: calc(100% - 20.7rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item .inner {
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.5rem 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-installation__item .inner img {
    width: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item .inner img {
    width: 7rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-installation__item .inner .ct {
    width: calc(100% - 10rem);
    padding: 0 4.5rem 0 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item .inner .ct {
    width: calc(100% - 7rem);
  }
}
.main-installation__item .inner .ttl {
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 768px) {
  .main-installation__item .inner .ttl {
    font-size: 2.8rem;
    margin: 0 0 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-installation__item .inner .ttl {
    font-size: 1.6rem;
    margin: 0 0 1rem;
  }
}
.main-installation__item .inner p {
  letter-spacing: 0.05em;
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .main-example {
    padding-top: 8rem;
  }
  .main-example .cm-title02 {
    margin-top: 2.7rem;
  }
  .main-example .cm-title02 .cm-title02__ttl {
    padding-bottom: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-example {
    padding-top: 5rem;
  }
}
.main-example__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .main-example__list {
    gap: 3rem;
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-example__list {
    margin-top: 5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5rem;
  }
}
.main-example__item {
  border-radius: 1rem;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0px 0.2rem 3rem 0px rgba(23, 58, 89, 0.2);
          box-shadow: 0px 0.2rem 3rem 0px rgba(23, 58, 89, 0.2);
  position: relative;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .main-example__item {
    width: calc(50% - 1.5rem);
    padding-top: 3.2rem;
    padding-bottom: 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-example__item {
    width: 100%;
    padding: 3rem 0 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-example__item p {
    margin: 2.2rem 3.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .main-example__item p {
    margin: 1rem 1.5rem 0;
  }
}
.main-example__item p span {
  color: #0093e9;
  font-weight: 700;
}
.main-example__item .ttl {
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main-example__item .ttl {
    font-size: 2.8rem;
    width: 41rem;
    height: 7rem;
    top: -2.8rem;
    left: 50%;
    padding-top: 0.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-example__item .ttl {
    font-size: 1.6rem;
    width: 26rem;
    height: 4.7rem;
    top: -2.25rem;
    left: 50%;
    padding-top: 0.6rem;
  }
}
.main-example__item:nth-child(1) .ttl {
  background: url(../images/tt01.webp) no-repeat top center;
  background-size: 100% auto;
}
.main-example__item:nth-child(2) .ttl {
  background: url(../images/tt02.webp) no-repeat top center;
  background-size: 100% auto;
}

@media only screen and (min-width: 768px) {
  .main-faq {
    padding-top: 11rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq {
    padding-top: 5rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-faq__list {
    margin-top: 4.2rem;
  }
}
.main-faq__list dl {
  margin: 0 0 2rem;
}
.main-faq__list dt {
  margin: 0;
  background: #e5f5ff;
  border-radius: 0.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .main-faq__list dt {
    padding: 1.9rem 3.6rem 1.9rem 2.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dt {
    padding: 1rem;
  }
}
.main-faq__list dt.active .icon:after {
  opacity: 0;
}
.main-faq__list dt .q {
  border-radius: 50%;
  background: #005cbc;
  font-family: var(--font-quicksand);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (min-width: 768px) {
  .main-faq__list dt .q {
    width: 5.2rem;
    height: 5.2rem;
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dt .q {
    width: 3rem;
    height: 3rem;
    font-size: 1.4rem;
  }
}
.main-faq__list dt p {
  letter-spacing: 0.04em;
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .main-faq__list dt p {
    width: calc(100% - 7.4rem);
    padding-left: 1.3rem;
    line-height: 1.9090909091;
    font-size: 2.2rem;
    margin: 0.3rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dt p {
    width: calc(100% - 4.5rem);
    padding: 0 0.8rem;
    font-size: 1.6rem;
    margin: 0.3rem 0 0;
  }
}
.main-faq__list dt .icon {
  display: block;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main-faq__list dt .icon {
    width: 2.2rem;
    height: 2.2rem;
    margin-top: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dt .icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.8rem;
  }
}
.main-faq__list dt .icon:before, .main-faq__list dt .icon:after {
  content: "";
  width: 100%;
  border-radius: 0.2rem;
  background: #005cbc;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
  .main-faq__list dt .icon:before, .main-faq__list dt .icon:after {
    height: 0.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dt .icon:before, .main-faq__list dt .icon:after {
    height: 0.2rem;
  }
}
.main-faq__list dt .icon:after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.main-faq__list dd {
  background: #0274d7;
  border-radius: 0.6rem;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
}
@media only screen and (min-width: 768px) {
  .main-faq__list dd {
    padding: 1.9rem 7rem 3rem 2.7rem;
    margin: 1.9rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dd {
    padding: 1rem;
    margin: 0.5rem 0 0;
  }
}
.main-faq__list dd .a {
  border-radius: 50%;
  background: #fff;
  font-family: var(--font-quicksand);
  color: #2c9df7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (min-width: 768px) {
  .main-faq__list dd .a {
    width: 5.2rem;
    height: 5.2rem;
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dd .a {
    width: 3rem;
    height: 3rem;
    font-size: 1.4rem;
  }
}
.main-faq__list dd p {
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 768px) {
  .main-faq__list dd p {
    width: calc(100% - 5.2rem);
    padding-left: 1.3rem;
    line-height: 1.875;
    margin: 1.2rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .main-faq__list dd p {
    width: calc(100% - 3rem);
    padding-left: 1rem;
    margin: 0.3rem 0 0;
  }
}

@media only screen and (min-width: 768px) {
  .main-inquiry {
    background: url(../images/bg.webp) no-repeat top 12rem center;
    background-size: cover;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry {
    background: url(../images/bg.webp) no-repeat top center;
    background-size: cover;
  }
}
.main-inquiry__inner {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main-inquiry__inner {
    padding-top: 19.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry__inner {
    padding-top: 5rem;
  }
}
.main-inquiry__inner img {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .main-inquiry__inner img {
    top: 7.5rem;
    right: 7.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry__inner img {
    top: 2rem;
    right: 1.2rem;
    width: 11rem;
  }
}
.main-inquiry .cm-title {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .main-inquiry__txt {
    margin: 3.3rem 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-content {
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-content {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-content__dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 2.4rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-content__dl {
    margin: 0;
  }
}
.main-inquiry .form-content__dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 600;
  letter-spacing: 0.01em;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-content__dt {
    width: 26.5rem;
    padding-right: 3.1rem;
    padding-top: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-content__dt {
    background: #093391;
    padding: 1rem;
    color: #fff;
  }
}
.main-inquiry .form-content__dt span {
  width: 5rem;
  height: 2.4rem;
  border-radius: 0.5rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
}
.main-inquiry .form-content__dt span.hissu {
  background: #ff6465;
}
.main-inquiry .form-content__dt span.ninni {
  background: #0093e9;
}
.main-inquiry .form-content__dd {
  padding: 0;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-content__dd {
    width: calc(100% - 26.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-content__dd {
    padding: 1rem;
    background: #fff;
  }
}
.main-inquiry .form-content__dd input {
  width: 100%;
  border-style: solid;
  border-width: 0.1rem;
  border-color: rgb(196, 216, 229);
  border-radius: 0.4rem;
  background-color: rgb(255, 255, 255);
  padding: 0.7rem;
}
.main-inquiry .form-content__dd textarea {
  width: 100%;
  border-style: solid;
  border-width: 0.1rem;
  border-color: rgb(196, 216, 229);
  border-radius: 0.4rem;
  background-color: rgb(255, 255, 255);
  padding: 0.7rem;
  height: 12.8rem;
}
.main-inquiry .form-privacy {
  border-style: solid;
  border-width: 1px;
  border-color: rgb(0, 147, 233);
  border-radius: 0.4rem;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 1rem 1rem 0px 0px rgba(14, 60, 108, 0.1);
          box-shadow: 1rem 1rem 0px 0px rgba(14, 60, 108, 0.1);
  overflow: auto;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-privacy {
    margin-top: 5.2rem;
    margin-bottom: 1rem;
    padding: 4.8rem 6rem;
    height: 68.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-privacy {
    margin-top: 5rem;
    padding: 4rem 1.2rem;
    height: 40rem;
  }
}
.main-inquiry .form-privacy__ttl {
  text-align: center;
  font-weight: 600;
  color: #005cbc;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-privacy__ttl {
    font-size: 2.8rem;
    padding-bottom: 2.4rem;
    margin: 0 0 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-privacy__ttl {
    font-size: 1.8rem;
    padding-bottom: 1.5rem;
    margin: 0 0 2rem;
  }
}
.main-inquiry .form-privacy__ttl:after {
  content: "";
  background: #005cbc;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-privacy__ttl:after {
    width: 8.8rem;
    height: 0.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-privacy__ttl:after {
    width: 5rem;
    height: 0.2rem;
  }
}
.main-inquiry .form-privacy p {
  letter-spacing: 0.01em;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-end {
    margin-top: 5.8rem;
    padding-bottom: 12rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-end {
    margin-top: 5rem;
    padding-bottom: 5rem;
  }
}
.main-inquiry .form-end input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 1px solid #005cbc;
  border-radius: 0.4rem;
  display: block;
  gap: 1.1rem;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-end input[type=checkbox] {
    width: 2.6rem;
    height: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-end input[type=checkbox] {
    width: 2rem;
    height: 2rem;
  }
}
.main-inquiry .form-end input[type=checkbox]:checked {
  background: #005cbc url(../images/check.webp) no-repeat center center;
}
.main-inquiry .form-end label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.main-inquiry .form-end p {
  margin: 0.6rem 0 0;
}
.main-inquiry .form-end .contact-group-btn {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-end .contact-group-btn {
    margin-top: 3.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-end .contact-group-btn {
    margin-top: 2rem;
  }
}
.main-inquiry .form-end .contact-group-btn .cm-btn {
  margin: auto;
}
@media only screen and (min-width: 768px) {
  .main-inquiry .form-end .contact-group-btn .cm-btn {
    width: 33.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main-inquiry .form-end .contact-group-btn .cm-btn {
    width: 28rem;
  }
}
.main-inquiry .form-end .contact-group-btn .cm-btn:hover input {
  color: #41d5ff;
}
.main-inquiry .form-end .contact-group-btn .cm-btn input {
  border: none;
  color: #fff;
  text-decoration: none;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.main-inquiry .form-end .contact-group-btn .disabled .cm-btn:hover {
  background: #41d5ff;
}
.main-inquiry .form-end .contact-group-btn .disabled .cm-btn:hover .icon:before {
  background: #fff;
}
.main-inquiry .form-end .contact-group-btn .disabled .cm-btn:hover .icon:after {
  border: solid #fff;
  border-width: 0 0.3rem 0.3rem 0;
}
.main-inquiry .form-end .contact-group-btn .disabled .cm-btn:hover input {
  color: #fff;
  cursor: no-drop;
}

.footer {
  background: #005cbc;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 92, 188)), to(rgb(38, 156, 243)));
  background: linear-gradient(90deg, rgb(0, 92, 188) 0%, rgb(38, 156, 243) 100%);
}
@media only screen and (min-width: 768px) {
  .footer {
    padding: 9.9rem 0 1.9rem;
    border-radius: 18rem 18rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 5rem 0 1.9rem;
    border-radius: 5rem 5rem 0 0;
  }
}
.footer__logo {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .footer__logo img {
    width: 17.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__logo img {
    width: 14rem;
  }
}
.footer__nav {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (min-width: 768px) {
  .footer__nav {
    gap: 10.7rem;
    margin: 5.2rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav {
    gap: 1rem 6rem;
    margin: 3rem 0 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.footer__nav li {
  list-style-type: none;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .footer__nav li {
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav li {
    padding-left: 1.5rem;
  }
}
.footer__nav li:before {
  content: "";
  background: #ffdf02;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 1.1rem;
}
@media only screen and (min-width: 768px) {
  .footer__nav li:before {
    width: 1rem;
    height: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav li:before {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.footer__nav li a {
  font-weight: 600;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: #fff;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (min-width: 768px) {
  .footer__nav li a {
    font-size: 1.8rem;
  }
  .footer__nav li a:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav li a {
    font-size: 1.4rem;
  }
}

.copyright {
  color: #bbd9f7;
  text-align: center;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 768px) {
  .copyright {
    margin: 6.3rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .copyright {
    margin: 3rem 0 0;
  }
}