@charset "UTF-8";
/* CSS Document */
/*
 * Header & Footer Styles
 * ==========================================
 * This file imports styles for header and footer
 *
 * Structure:
 * 1. Config - Variables and Mixins
 * 2. Sections - Common reset, Header, Footer
 */
/*PC*/
#header *,
#header ::before,
#header ::after,
#footer *,
#footer ::before,
#footer ::after,
#top *,
#top ::before,
#top ::after,
#page-work *,
#page-work ::before,
#page-work ::after,
#page-staff *,
#page-staff ::before,
#page-staff ::after {
  box-sizing: border-box;
}
#header h1,
#header h2,
#header h3,
#header h4,
#header h5,
#header h6,
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6,
#top h1,
#top h2,
#top h3,
#top h4,
#top h5,
#top h6,
#page-work h1,
#page-work h2,
#page-work h3,
#page-work h4,
#page-work h5,
#page-work h6,
#page-staff h1,
#page-staff h2,
#page-staff h3,
#page-staff h4,
#page-staff h5,
#page-staff h6 {
  font-size: inherit;
  font-weight: inherit;
}
#header ul,
#header ol,
#footer ul,
#footer ol,
#top ul,
#top ol,
#page-work ul,
#page-work ol,
#page-staff ul,
#page-staff ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
#header li,
#footer li,
#top li,
#page-work li,
#page-staff li {
  list-style: none;
}
#header .sp,
#footer .sp,
#top .sp,
#page-work .sp,
#page-staff .sp {
  display: none;
}
#header img,
#footer img,
#top img,
#page-work img,
#page-staff img {
  vertical-align: bottom;
}
#header button,
#footer button,
#top button,
#page-work button,
#page-staff button {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}
#header button,
#header [type=button],
#header [type=reset],
#header [type=submit],
#footer button,
#footer [type=button],
#footer [type=reset],
#footer [type=submit],
#top button,
#top [type=button],
#top [type=reset],
#top [type=submit],
#page-work button,
#page-work [type=button],
#page-work [type=reset],
#page-work [type=submit],
#page-staff button,
#page-staff [type=button],
#page-staff [type=reset],
#page-staff [type=submit] {
  cursor: pointer;
}
#header button:disabled,
#header [type=button]:disabled,
#header [type=reset]:disabled,
#header [type=submit]:disabled,
#footer button:disabled,
#footer [type=button]:disabled,
#footer [type=reset]:disabled,
#footer [type=submit]:disabled,
#top button:disabled,
#top [type=button]:disabled,
#top [type=reset]:disabled,
#top [type=submit]:disabled,
#page-work button:disabled,
#page-work [type=button]:disabled,
#page-work [type=reset]:disabled,
#page-work [type=submit]:disabled,
#page-staff button:disabled,
#page-staff [type=button]:disabled,
#page-staff [type=reset]:disabled,
#page-staff [type=submit]:disabled {
  cursor: default;
}
@media screen and (max-width: 1024px) {
  #header .sp,
  #footer .sp,
  #top .sp,
  #page-work .sp,
  #page-staff .sp {
    display: block;
  }
}

/*共通アニメーション*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
@media screen and (max-width: 1279px) {
  html {
    scroll-padding-top: 0px;
  }
}

.text-split {
  overflow: hidden;
}
.text-split span {
  display: inline-block;
  min-width: 0.15em;
}

.text-item {
  width: fit-content;
  overflow: hidden;
}
.text-item > span {
  display: block;
}

.block--3 .text-item {
  transform: translateX(-101%);
}
.block--3 .text-item > span {
  transform: translateX(101%);
}
.block--3 .is-active .text-item {
  transform: translateX(0);
  transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
}
.block--3 .is-active .text-item > span {
  transform: translateX(0);
  transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
}
.block--3 .is-active .text-item:nth-child(1) {
  transition-delay: 0s;
}
.block--3 .is-active .text-item:nth-child(1) > span {
  transition-delay: 0s;
}
.block--3 .is-active .text-item:nth-child(2) {
  transition-delay: 0.13s;
}
.block--3 .is-active .text-item:nth-child(2) > span {
  transition-delay: 0.13s;
}
.block--3 .is-active .text-item:nth-child(3) {
  transition-delay: 0.26s;
}
.block--3 .is-active .text-item:nth-child(3) > span {
  transition-delay: 0.26s;
}

/*PC*/
#header {
  width: 100%;
  height: 115px;
  position: fixed;
  background-color: #fff;
  top: 0;
  left: 0;
  z-index: 100;
  transition: background-color 0.3s ease;
}
#header .header-wrapper {
  height: 100%;
  margin: 0 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.3s ease;
}
#header .header-wrapper .nav {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-right: 0px;
}
#header .header-wrapper .nav .top-menu {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
#header .header-wrapper .nav .top-menu .site-title {
  width: 330px;
  height: 43px;
  margin-top: 14px;
}
#header .header-wrapper .nav .top-menu .site-title a {
  display: block;
  width: 100%;
}
#header .header-wrapper .nav .top-menu .site-title a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 0.3s ease;
}
#header .header-wrapper .nav .top-menu .site-title a img:hover {
  opacity: 0.5;
}
#header .header-wrapper .nav .top-menu .cta {
  display: flex;
  height: 50px;
}
#header .header-wrapper .nav .top-menu .cta .menu a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 43px;
  transition: all 0.4s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu a span {
  font: normal normal 600 16px/30px "Noto Sans JP", sans-serif;
  transition: all 0.4s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn {
  margin-right: 30px;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn a span {
  display: flex;
  align-items: center;
  gap: 7px;
  letter-spacing: 1.28px;
  color: #313131;
  padding-top: 6px;
  transition: all 0.3s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn a span .arrow {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: #21A7D8 0% 0% no-repeat padding-box;
  border-radius: 50%;
  border: solid 1px transparent;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn a span .arrow::before {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  background: url(../images/tight_white.png) no-repeat;
  background-size: contain;
  top: 31%;
  left: 51%;
  transform: translate(-50%);
  transition: all 0.3s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn a:hover {
  cursor: pointer;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn a:hover span {
  color: #21A7D8;
  text-decoration: underline;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn a:hover span .arrow {
  transform: scale(1.25);
  background: #fff;
  border: solid 1px #21A7D8;
  margin-top: 2px;
}
#header .header-wrapper .nav .top-menu .cta .menu.recruit-btn a:hover span .arrow::before {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  background: url(../images/right_blue.png) no-repeat;
  background-size: contain;
  left: 53%;
  transform: translate(-50%);
}
#header .header-wrapper .nav .top-menu .cta .menu.download-btn a {
  width: 180px;
  height: 50px;
  border: 1px solid #21A7D8;
  border-top: none;
  border-radius: 0px 0px 0px 10px;
  transition: all 0.4s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.download-btn a span {
  letter-spacing: 1.6px;
  color: #21A7D8;
  transition: all 0.4s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.download-btn a:hover {
  cursor: pointer;
  background-color: #21A7D8;
}
#header .header-wrapper .nav .top-menu .cta .menu.download-btn a:hover span {
  color: #fff;
}
#header .header-wrapper .nav .top-menu .cta .menu.contact-btn a {
  width: 180px;
  height: 50px;
  background: #21A7D8 0% 0% no-repeat padding-box;
  border: 1px solid #21A7D8;
  border-top: none;
  border-radius: 0px 0px 10px 0px;
  transition: all 0.4s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.contact-btn a span {
  letter-spacing: 1.6px;
  color: #FFFFFF;
  transition: all 0.4s ease;
}
#header .header-wrapper .nav .top-menu .cta .menu.contact-btn a:hover {
  cursor: pointer;
  background-color: #fff;
}
#header .header-wrapper .nav .top-menu .cta .menu.contact-btn a:hover span {
  color: #21A7D8;
}
#header .header-wrapper .nav .top-menu .cta .menu:hover a {
  background-color: #fff;
}
#header .header-wrapper .nav .top-menu .cta .menu:hover a span {
  color: #44ad96;
}
@media screen and (min-width: 1280px) and (max-width: 1499px) {
  #header .header-wrapper .nav .top-menu .cta {
    padding-right: 30px;
  }
}
#header .header-wrapper .nav .pc-menu-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1260px;
  margin: 0 auto;
}
#header .header-wrapper .nav .pc-menu-list .menu {
  height: 100%;
  position: relative;
  transition: color 0.2s ease;
  letter-spacing: 0.01em;
  border-bottom: solid 3px transparent;
  transition: all 0.2s ease;
}
#header .header-wrapper .nav .pc-menu-list .menu a {
  font: normal normal 600 16px/42px "Noto Sans JP", sans-serif;
  letter-spacing: 1.6px;
  color: #313131;
}
#header .header-wrapper .nav .pc-menu-list .menu:hover {
  position: relative;
}
#header .header-wrapper .nav .pc-menu-list .menu:hover a {
  color: #21A7D8;
}
#header .header-wrapper .nav .pc-menu-list .menu:first-child {
  margin-left: 0;
}
#header .header-wrapper .header_hamburger {
  display: none;
}
#header .child-menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: all 0.3s ease;
  position: absolute;
  top: 115px;
  left: 0;
  width: 1000vw;
  height: 100vh;
}
#header .child-menu .back {
  width: 100%;
  height: 100%;
  background: #000000 0% 0% no-repeat padding-box;
  opacity: 0.55;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#header .child-menu__wrapper {
  width: 100vw;
  padding-top: 30px;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
}
#header .child-menu__wrapper .inner {
  display: flex;
  width: 1260px;
  margin: 0 auto;
  padding: 60px;
  background: #fff;
  border-radius: 20px;
}
#header .child-menu__wrapper .inner.inner02 {
  width: 1120px;
}
#header .child-menu__wrapper .inner .sec-title {
  padding-right: 40px;
  height: 100%;
}
#header .child-menu__wrapper .inner .sec-title__en {
  font: normal normal normal 18px/22px "presicav", sans-serif;
  letter-spacing: 2.16px;
  color: #2CB4E6;
  display: block;
  margin-bottom: 5px;
  white-space: nowrap;
}
#header .child-menu__wrapper .inner .sec-title__ja {
  font: normal normal bold 18px/26px "Noto Sans JP", sans-serif;
  letter-spacing: 2.16px;
  color: #313131;
  position: relative;
  padding-left: 33px;
}
#header .child-menu__wrapper .inner .sec-title__ja::before {
  content: "";
  display: block;
  position: absolute;
  width: 25px;
  height: 2px;
  background: transparent linear-gradient(270deg, #008CD5 0%, #00A2D5 100%) 0% 0% no-repeat padding-box;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
#header .child-menu__wrapper .inner .wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-left: 40px;
  border-left: 1px solid #D3D3D3;
}
#header .child-menu__wrapper .inner .menu .menu-title {
  font: normal normal 600 18px/26px Noto Sans JP;
  letter-spacing: 1.44px;
  color: #313131;
  margin-bottom: 20px;
  padding-left: 18px;
  position: relative;
}
#header .child-menu__wrapper .inner .menu .menu-title::before {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  background: #2CB4E6 0% 0% no-repeat padding-box;
  border-radius: 50%;
  top: 51%;
  transform: translateY(-50%);
  left: 0;
}
#header .child-menu__wrapper .inner .menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
}
#header .child-menu__wrapper .inner .menu ul.gap30 {
  gap: 30px 20px;
}
#header .child-menu__wrapper .inner .menu ul li a {
  display: block;
}
#header .child-menu__wrapper .inner .menu ul li a .img {
  width: 200px;
  height: 133px;
  overflow: hidden;
  margin-bottom: 10px;
}
#header .child-menu__wrapper .inner .menu ul li a .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: all 0.3s ease;
}
#header .child-menu__wrapper .inner .menu ul li a .title-sub {
  font: normal normal 600 16px/24px "Noto Sans JP", sans-serif;
  letter-spacing: 0.96px;
  color: #313131;
  transition: all 0.3s ease;
}
#header .child-menu__wrapper .inner .menu ul li a:hover .img img {
  transform: scale(1.2);
}
#header .child-menu__wrapper .inner .menu ul li a:hover .title-sub {
  color: #21A7D8;
}
#header .child-menu .flex {
  display: flex;
}
#header .child-menu.show {
  display: block;
  opacity: 1;
  visibility: visible;
}
#header .child-menu.child-menu__03 .child-menu__wrapper .sec-title {
  margin-right: 110px;
}
#header .filter {
  display: none;
}
#header.is-scrolled .header-wrapper .nav.second .top-menu .menu {
  border-left: solid 1px #4b4b4b;
}
#header.is-scrolled .header-wrapper .nav.second .top-menu .menu a:hover {
  border-bottom: solid 1px #4b4b4b;
}
#header.is-scrolled .header-wrapper .nav.second .top-menu .menu:last-child {
  border-right: solid 1px #4b4b4b;
}
#header.is-scrolled .header-wrapper .nav.second .pc-menu-list .menu a {
  height: 100%;
  font-weight: bold;
  display: block;
  color: #111;
}

/*SMP*/
@media only screen and (max-width: 1279px) {
  #header {
    background-color: #fff !important;
    height: 60px;
    position: relative;
    z-index: 150;
  }
  #header .header-wrapper {
    width: 98%;
    height: 60px;
    justify-content: space-between;
    display: flex;
    align-items: center;
    margin: 0 auto;
    background: #fff;
    position: relative;
    z-index: 150;
  }
  #header .header-wrapper .nav {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-right: 0px;
  }
  #header .header-wrapper .nav .top-menu {
    width: 100%;
    height: 100%;
    align-items: center;
  }
  #header .header-wrapper .nav .top-menu .site-title {
    width: 200px;
    height: 26px;
    margin-top: 0px;
    z-index: 150;
  }
  #header .header-wrapper .nav .top-menu .site-title a {
    display: block;
    width: 100%;
  }
  #header .header-wrapper .nav .top-menu .site-title a img:hover {
    opacity: 1;
  }
  #header .header-wrapper .nav .top-menu .cta {
    display: none;
  }
  #header .header-wrapper .nav .pc-menu-list {
    display: none;
  }
  #header .header-wrapper .header_hamburger {
    display: block;
    z-index: 200;
    width: 135px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #21A7D8 0% 0% no-repeat padding-box;
    border: 1.5px solid #FFFFFF;
    border-radius: 100px;
    flex: none;
    position: fixed;
    top: 10px;
    right: 7px;
  }
  #header .header-wrapper .header_hamburger .hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
  }
  #header .header-wrapper .header_hamburger .hamburger .hamburger-line {
    display: block;
    transition: all 0.3s ease;
    content: "";
    width: 17px;
    height: 1.5px;
    background-color: #fff;
    margin: 3.5px 0;
  }
  #header .header-wrapper .header_hamburger .hamburger .text .hamburger-text {
    font: normal normal 500 12.5px/27px "Montserrat", sans-serif;
    letter-spacing: 0.625px;
    color: #FFFFFF;
  }
  #header .header-wrapper .header_hamburger .hamburger.is-open {
    background-color: #fff;
    border: 1.5px solid #BCD6E0;
    width: 135px;
    height: 40px;
    border-radius: 100px;
  }
  #header .header-wrapper .header_hamburger .hamburger.is-open .hamburger-line:nth-child(1) {
    transform: rotate(25deg) translate(5px, 3px);
    background-color: #21A7D8;
  }
  #header .header-wrapper .header_hamburger .hamburger.is-open .hamburger-line:nth-child(2) {
    opacity: 0;
  }
  #header .header-wrapper .header_hamburger .hamburger.is-open .hamburger-line:nth-child(3) {
    transform: rotate(-25deg) translate(5px, -3px);
    background-color: #21A7D8;
  }
  #header .header-wrapper .header_hamburger .hamburger.is-open .text .hamburger-text {
    color: #21A7D8;
  }
  #header .header-wrapper .header_hamburger.is-open {
    background-color: #fff;
  }
  #header .child-menu {
    display: none;
  }
  #header .filter {
    opacity: 0;
    display: none;
    width: 100%;
    height: 100dvh;
    background-color: #fff;
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    overflow: scroll;
  }
  #header .filter .slide-nav {
    width: 315px;
    margin: 0 auto;
    padding-top: 55px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 49px;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 23px 7px;
    border-bottom: solid 1px #BCD6E0;
    font: normal normal 500 15px/15px "Noto Sans JP", sans-serif;
    letter-spacing: 1.2px;
    color: #313131;
    white-space: nowrap;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title .arrow {
    display: block;
    width: 27.5px;
    height: 27.5px;
    border-radius: 50%;
    background: #21A7D8 0% 0% no-repeat padding-box;
    position: relative;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title .arrow::before {
    content: "";
    display: block;
    position: absolute;
    width: 8.5px;
    height: 8.5px;
    background: url(../images/tight_white.png) no-repeat;
    background-size: contain;
    top: 35%;
    left: 50%;
    transform: translate(-50%);
  }
  #header .filter .slide-nav .flex-item .sec .menu-title.hasChild {
    position: relative;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title.hasChild a {
    display: block;
    width: 100%;
    font: normal normal 500 15px/22px "Noto Sans JP", sans-serif;
    letter-spacing: 1.2px;
    color: #313131;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title.hasChild:before {
    content: "";
    display: block;
    width: 17.5px;
    height: 1.5px;
    background-color: #21A7D8;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 13px;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title.hasChild:after {
    content: "";
    display: block;
    width: 1.5px;
    height: 17.5px;
    background-color: #21A7D8;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20.5px;
    transition: all 0.3s ease;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title.hasChild.open {
    padding-bottom: 15px;
    border: none;
  }
  #header .filter .slide-nav .flex-item .sec .menu-title.hasChild.open:after {
    display: none;
  }
  #header .filter .slide-nav .flex-item .sec .slide-child-nav {
    overflow: hidden;
    transition: height 0.4s ease;
    opacity: 0;
    height: 0;
    transition: height 0.5s ease, opacity 0.5s ease;
    padding-left: 15px;
    border-bottom: solid 1px #BCD6E0;
  }
  #header .filter .slide-nav .flex-item .sec .slide-child-nav .menu-title {
    display: block;
    margin: 15px 0;
  }
  #header .filter .slide-nav .flex-item .sec .slide-child-nav .menu-detail a {
    display: block;
    width: 100%;
    font: normal normal normal 14px/20px "Noto Sans JP", sans-serif;
    letter-spacing: 0.7px;
    color: #5C5C5C;
    position: relative;
    padding-left: 15px;
    margin-bottom: 12.5px;
  }
  #header .filter .slide-nav .flex-item .sec .slide-child-nav .menu-detail a::before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    background: url(../images/right_blue.png) no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }
  #header .filter .slide-nav .flex-item .sec .slide-child-nav .menu-detail:last-child {
    margin-bottom: 15px;
  }
  #header .filter .slide-nav .flex-item .sec .slide-child-nav dt {
    font: normal normal medium 30px/70px "Noto Sans JP", sans-serif;
    letter-spacing: 0.75px;
    color: #21A7D8;
    margin-bottom: 15px;
  }
  #header .filter .slide-nav .flex-item .sec .slide-child-nav.open {
    opacity: 1;
    height: auto;
  }
  #header .filter .cta {
    background: transparent linear-gradient(304deg, #008CD5 0%, #00A2D5 100%) 0% 0% no-repeat padding-box;
    padding: 22px 0 45px;
  }
  #header .filter .cta .menu {
    width: 315px;
    margin: 0 auto;
  }
  #header .filter .cta .menu.download-btn, #header .filter .cta .menu.contact-btn {
    border-bottom: solid 1px #fff;
    padding: 23px 8px;
  }
  #header .filter .cta .menu.download-btn a, #header .filter .cta .menu.contact-btn a {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #header .filter .cta .menu.download-btn a span, #header .filter .cta .menu.contact-btn a span {
    font: normal normal bold 15px/15px "Noto Sans JP", sans-serif;
    letter-spacing: 1.2px;
    color: #FFFFFF;
  }
  #header .filter .cta .menu.download-btn a .arrow, #header .filter .cta .menu.contact-btn a .arrow {
    width: 27.5px;
    height: 27.5px;
    border-radius: 50%;
    border: solid 1px #fff;
    position: relative;
  }
  #header .filter .cta .menu.download-btn a .arrow::before, #header .filter .cta .menu.contact-btn a .arrow::before {
    content: "";
    display: block;
    position: absolute;
    width: 8.5px;
    height: 8.5px;
    background: url(../images/tight_white.png) no-repeat;
    background-size: contain;
    top: 35%;
    left: 50%;
    transform: translate(-50%);
  }
  #header .filter .cta .menu.tel {
    padding: 20px 22px 0;
  }
  #header .filter .cta .menu.tel a .flex {
    display: flex;
    align-items: flex-end;
    color: #FFFFFF;
  }
  #header .filter .cta .menu.tel a .flex .text {
    font: normal normal normal 13px/20px "presicav", sans-serif;
    letter-spacing: 0px;
  }
  #header .filter .cta .menu.tel a .flex .koronn {
    font: normal normal normal 13px/20px "presicav", sans-serif;
    letter-spacing: 0px;
    display: inline-block;
    margin: 0 5px;
  }
  #header .filter .cta .menu.tel a .flex .num {
    font: normal normal normal 23px/27.5px "presicav", sans-serif;
    letter-spacing: 0px;
  }
  #header .filter .cta .menu.tel a .time {
    margin-top: 2.5px;
  }
  #header .filter .cta .menu.tel a .time p {
    text-align: center;
    font: normal normal 500 12px/16px "Noto Sans JP", sans-serif;
    letter-spacing: 0.72px;
    color: #FFFFFF;
  }
  #header .filter.is-open {
    display: block;
    opacity: 1;
  }
}
/*SMP*/
.pb-contact {
  padding: 45px 0;
  margin-bottom: 60px;
  background: transparent linear-gradient(144deg, #EDF6FA 0%, #D8F5FD 100%) 0% 0% no-repeat padding-box;
}
.pb-contact .inner {
  width: 350px;
  margin: 0 auto;
}
.pb-contact .inner .title {
  width: 350px;
  margin: 0 auto;
}
.pb-contact .inner .title .page-title {
  margin-bottom: 30px;
}
.pb-contact .inner .title .page-title__en {
  text-align: center;
  display: block;
  font: normal normal normal 15px/15px "presicav", sans-serif;
  letter-spacing: 1.8px;
  color: #2CB4E6;
  margin-bottom: 5px;
}
.pb-contact .inner .title .page-title__ja {
  text-align: center;
  font: normal normal bold 25px/35px "Noto Sans JP", sans-serif;
  letter-spacing: 3px;
  color: #313131;
}
.pb-contact .inner .title .page-title__ja .small {
  font: normal normal bold 18px/32.5px "Noto Sans JP", sans-serif;
  letter-spacing: 2.16px;
}
.pb-contact .inner .exp {
  margin-bottom: 30px;
}
.pb-contact .inner .exp p {
  font: normal normal 500 15px/28px "Noto Sans JP", sans-serif;
  letter-spacing: 0.9px;
  color: #484848;
}
.pb-contact .inner .cta-wrap .cta.tel {
  padding-bottom: 25px;
  border-bottom: 1px solid #5EC6F2;
}
.pb-contact .inner .cta-wrap .cta.tel .tel-title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  padding-bottom: 2px;
  gap: 5px;
}
.pb-contact .inner .cta-wrap .cta.tel .tel-title img {
  width: 22.5px;
  height: 22.5px;
}
.pb-contact .inner .cta-wrap .cta.tel .tel-title span {
  font: normal normal 600 16px/21px "Noto Sans JP", sans-serif;
  letter-spacing: 0.96px;
  color: #313131;
}
.pb-contact .inner .cta-wrap .cta.tel .flex {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #21A7D8;
  gap: 0px;
}
.pb-contact .inner .cta-wrap .cta.tel .flex .text {
  font: normal normal normal 13px/16px "presicav", sans-serif;
  letter-spacing: 0px;
}
.pb-contact .inner .cta-wrap .cta.tel .flex .koronn {
  font: normal normal normal 13px/16px "presicav", sans-serif;
  letter-spacing: 0px;
  display: inline-block;
  margin: 0 5px;
}
.pb-contact .inner .cta-wrap .cta.tel .flex .num {
  font: normal normal normal 23px/23px "presicav", sans-serif;
  letter-spacing: 0px;
}
.pb-contact .inner .cta-wrap .cta.tel .time {
  margin-top: 2.5px;
}
.pb-contact .inner .cta-wrap .cta.tel .time p {
  font: normal normal 500 12px/16px "Noto Sans JP", sans-serif;
  letter-spacing: 0.72px;
  color: #484848;
  text-align: center;
}
.pb-contact .inner .cta-wrap .cta.mail {
  padding-top: 25px;
}
.pb-contact .inner .cta-wrap .cta.mail .mail-title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  gap: 5px;
}
.pb-contact .inner .cta-wrap .cta.mail .mail-title img {
  width: 22.5px;
  height: 22.5px;
}
.pb-contact .inner .cta-wrap .cta.mail .mail-title span {
  font: normal normal 600 16px/21px "Noto Sans JP", sans-serif;
  letter-spacing: 0.96px;
  color: #313131;
  padding-bottom: 2px;
}
.pb-contact .inner .cta-wrap .cta.mail .btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 275px;
  height: 48px;
  border-radius: 100px;
  border: solid 1px transparent;
  background: #21A7D8 0% 0% no-repeat padding-box;
  margin: 0 auto;
}
.pb-contact .inner .cta-wrap .cta.mail .btn span {
  font: normal normal bold 15px/15px "Noto Sans JP", sans-serif;
  letter-spacing: 1.5px;
  color: #FFFFFF;
  display: inline-block;
  padding: 0 8px 2px 0;
  position: relative;
}
.pb-contact .inner .cta-wrap .cta.mail .btn span::before {
  content: "";
  display: block;
  position: absolute;
  width: 8.5px;
  height: 8.5px;
  background: url(../images/tight_white.png) no-repeat;
  background-size: contain;
  top: 4px;
  right: -8px;
}

.contents__faq {
  width: 343px;
  margin: 0 auto;
  padding: 60px 0 50px;
}
.contents__faq p.lead {
  margin-bottom: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.87;
  letter-spacing: 0.9px;
  text-align: center;
  color: #484848;
}
.contents__faq .title .page-title {
  margin-bottom: 20px;
}
.contents__faq .title .page-title__en {
  text-align: center;
  display: block;
  font: normal normal normal 15px/15px "presicav", sans-serif;
  letter-spacing: 1.8px;
  color: #21A7D8;
  margin-bottom: 5px;
}
.contents__faq .title .page-title__ja {
  font: normal normal bold 24px/32.5px "Noto Sans JP", sans-serif;
  letter-spacing: 2.88px;
  color: #313131;
  text-align: center;
}
.contents__faq .title .page-title__ja .small {
  font: normal normal bold 15px/32.5px "Noto Sans JP", sans-serif;
  letter-spacing: 1.8px;
}
.contents__faq .wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 20px;
}
.contents__faq .wrap .question {
  display: flex;
  align-items: start;
  gap: 10px;
}
.contents__faq .wrap .question .q {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: transparent linear-gradient(308deg, #008CD5 0%, #00A2D5 100%) 0% 0% no-repeat padding-box;
  font: normal normal normal 13px/20px "presicav", sans-serif;
  letter-spacing: 1.56px;
  color: #FFFFFF;
  flex: none;
  margin-top: -4px;
}
.contents__faq .wrap .answer {
  display: flex;
  align-items: start;
  gap: 10px;
}
.contents__faq .wrap .answer .a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 34px;
  font: normal normal normal 13px/20px "presicav", sans-serif;
  letter-spacing: 1.56px;
  color: #21A7D8;
  flex: none;
  margin-top: -4px;
}
.contents__faq .wrap:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 1025px) {
  .pb-contact {
    width: 96%;
    max-width: 1200px;
    padding: 70px 0 90px;
    margin: 0 auto 90px;
  }
  .pb-contact .inner {
    width: 950px;
    margin: 0 auto;
  }
  .pb-contact .inner .title {
    width: 100%;
    margin: 0 auto;
  }
  .pb-contact .inner .title .page-title {
    margin-bottom: 40px;
    text-align: center;
  }
  .pb-contact .inner .title .page-title__en {
    font: normal normal normal 20px/40px "presicav", sans-serif;
    letter-spacing: 2.4px;
    margin-bottom: 10px;
  }
  .pb-contact .inner .title .page-title__ja {
    font: normal normal bold 38px/40px "Noto Sans JP", sans-serif;
    letter-spacing: 4.56px;
  }
  .pb-contact .inner .exp {
    margin-bottom: 60px;
  }
  .pb-contact .inner .exp p {
    font: normal normal 500 16px/32px "Noto Sans JP", sans-serif;
    letter-spacing: 0.96px;
    text-align: center;
  }
  .pb-contact .inner .cta-wrap {
    display: flex;
  }
  .pb-contact .inner .cta-wrap .cta.tel {
    width: 50%;
    padding-bottom: 0px;
    border-bottom: none;
    border-right: 1px solid #5EC6F2;
  }
  .pb-contact .inner .cta-wrap .cta.tel .tel-title {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    padding-bottom: 2px;
    gap: 5px;
  }
  .pb-contact .inner .cta-wrap .cta.tel .tel-title img {
    width: 25px;
    height: 25px;
  }
  .pb-contact .inner .cta-wrap .cta.tel .tel-title span {
    font: normal normal 600 18px/26px "Noto Sans JP", sans-serif;
    letter-spacing: 1.08px;
  }
  .pb-contact .inner .cta-wrap .cta.tel .flex .text {
    font: normal normal normal 16px/31px "presicav", sans-serif;
  }
  .pb-contact .inner .cta-wrap .cta.tel .flex .koronn {
    font: normal normal normal 16px/31px "presicav", sans-serif;
  }
  .pb-contact .inner .cta-wrap .cta.tel .flex .num {
    font: normal normal normal 26px/31px "presicav", sans-serif;
  }
  .pb-contact .inner .cta-wrap .cta.tel .time {
    margin-top: 5px;
  }
  .pb-contact .inner .cta-wrap .cta.tel .time p {
    font: normal normal 500 15px/21px "Noto Sans JP", sans-serif;
    letter-spacing: 0.9px;
  }
  .pb-contact .inner .cta-wrap .cta.mail {
    width: 50%;
    padding-top: 0px;
  }
  .pb-contact .inner .cta-wrap .cta.mail .mail-title {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    gap: 5px;
  }
  .pb-contact .inner .cta-wrap .cta.mail .mail-title img {
    width: 25px;
    height: 25px;
  }
  .pb-contact .inner .cta-wrap .cta.mail .mail-title span {
    font: normal normal 600 18px/26px "Noto Sans JP", sans-serif;
    letter-spacing: 1.08px;
  }
  .pb-contact .inner .cta-wrap .cta.mail .btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 364px;
    height: 56px;
    transition: all 0.4s ease;
  }
  .pb-contact .inner .cta-wrap .cta.mail .btn span {
    font: normal normal bold 16px/30px "Noto Sans JP", sans-serif;
    letter-spacing: 1.6px;
    padding: 0 8px 2px 0;
    transition: all 0.4s ease;
  }
  .pb-contact .inner .cta-wrap .cta.mail .btn span::before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 11px;
    right: -30px;
    transition: all 0.4s ease;
  }
  .pb-contact .inner .cta-wrap .cta.mail .btn:hover {
    cursor: pointer;
    border: solid 1px #21A7D8;
    background-color: #fff;
  }
  .pb-contact .inner .cta-wrap .cta.mail .btn:hover span {
    color: #21A7D8;
  }
  .pb-contact .inner .cta-wrap .cta.mail .btn:hover span::before {
    background: url(../images/right_blue.png) no-repeat;
    background-size: contain;
  }
  .contents__faq {
    width: 620px;
    margin: 0 auto;
    padding: 90px 0;
  }
  .contents__faq p.lead {
    margin-bottom: 30px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.96px;
    text-align: center;
    color: #484848;
  }
  .contents__faq .title {
    width: 100%;
    margin: 0 auto 40px;
  }
  .contents__faq .title .page-title {
    margin-bottom: 0px;
  }
  .contents__faq .title .page-title__en {
    font: normal normal normal 20px/40px "presicav", sans-serif;
    letter-spacing: 2.4px;
    margin-bottom: 10px;
  }
  .contents__faq .title .page-title__ja {
    font: normal normal bold 38px/40px "Noto Sans JP", sans-serif;
    letter-spacing: 4.56px;
  }
  .contents__faq .title .page-title__ja .small {
    font: normal normal bold 24px/40px "Noto Sans JP", sans-serif;
    letter-spacing: 2.88px;
  }
  .contents__faq .wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 44px;
  }
  .contents__faq .wrap .question {
    font: normal normal 600 20px/30px "Noto Sans JP", sans-serif;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    gap: 30px;
  }
  .contents__faq .wrap .question .q {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    font: normal normal normal 26px/40px "presicav", sans-serif;
    letter-spacing: 3.12px;
    margin-top: -4px;
    padding-bottom: 3px;
  }
  .contents__faq .wrap .answer {
    font: normal normal 500 16px/32px "Noto Sans JP", sans-serif;
    letter-spacing: 0.96px;
    color: #484848;
    align-items: center;
    gap: 30px;
  }
  .contents__faq .wrap .answer .a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 31px;
    font: normal normal normal 26px/40px "presicav", sans-serif;
    letter-spacing: 3.12px;
    padding-top: 5px;
  }
}
/*PC*/
#footer {
  position: relative;
}
#footer .footer-top {
  padding: 0;
}
#footer .footer-top .contact {
  padding: 0;
}
#footer .footer-top .contact .contact__wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#footer .footer-top .contact .contact__wrapper .cta-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  padding: 55px 0 65px;
}
#footer .footer-top .contact .contact__wrapper .cta-area .title {
  text-align: center;
  font: normal normal bold 28px/40px "Noto Sans JP", sans-serif;
  letter-spacing: 2.8px;
  color: #FFFFFF;
  margin-bottom: 20px;
}
#footer .footer-top .contact .contact__wrapper .cta-area .exp {
  text-align: center;
  font: normal normal 600 16px/32px "Noto Sans JP", sans-serif;
  letter-spacing: 0.96px;
  color: #FFFFFF;
  margin-bottom: 25px;
}
#footer .footer-top .contact .contact__wrapper .cta-area .cta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 330px;
  height: 56px;
  border-radius: 100px;
  border: solid 1px #fff;
  text-align: center;
  position: relative;
  transition: all 0.4s ease;
}
#footer .footer-top .contact .contact__wrapper .cta-area .cta .cta__text {
  font: normal normal bold 16px/30px "Noto Sans JP", sans-serif;
  letter-spacing: 1.6px;
  color: #FFFFFF;
  transition: all 0.4s ease;
}
#footer .footer-top .contact .contact__wrapper .cta-area .cta::before {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  background: url(../images/tight_white.png) no-repeat;
  background-size: contain;
  top: 51%;
  transform: translateY(-50%);
  right: 40px;
  transition: all 0.4s ease;
}
#footer .footer-top .contact .contact__wrapper .cta-area .cta:hover {
  background-color: #fff;
}
#footer .footer-top .contact .contact__wrapper .cta-area .cta:hover .cta__text {
  color: #21A7D8;
}
#footer .footer-top .contact .contact__wrapper .cta-area .cta:hover::before {
  background: url(../images/right_blue.png) no-repeat;
  background-size: contain;
}
#footer .footer-top .contact .contact__wrapper .cta-area.download {
  background: transparent linear-gradient(300deg, #008CD5 0%, #00A2D5 100%) 0% 0% no-repeat padding-box;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form {
  background: transparent linear-gradient(292deg, rgba(237, 246, 250, 0.87) 0%, rgba(216, 245, 253, 0.87) 100%) 0% 0% no-repeat padding-box;
  position: relative;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../images/hf/footer_pc.png) no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  z-index: -1;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .title {
  color: #313131;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .exp {
  color: #313131;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .flex {
  display: flex;
  align-items: center;
  gap: 20px;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex {
  display: flex;
  align-items: flex-end;
  color: #21A7D8;
  gap: 0px;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex .text {
  font: normal normal normal 16px/32px "presicav", sans-serif;
  letter-spacing: 0px;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex .koronn {
  font: normal normal normal 16px/32px "presicav", sans-serif;
  letter-spacing: 0px;
  display: inline-block;
  margin: 0 5px;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex .num {
  font: normal normal normal 26px/32px "presicav", sans-serif;
  letter-spacing: 0px;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .time {
  margin-top: 2.5px;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .time p {
  font: normal normal 500 15px/21px "Noto Sans JP", sans-serif;
  letter-spacing: 0.06em;
  color: #484848;
  text-align: center;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .cta {
  width: 244px;
  height: 56px;
  background: #21A7D8 0% 0% no-repeat padding-box;
  border: 1px solid #21A7D8;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .cta .cta__text {
  font: normal normal bold 16px/30px "Noto Sans JP", sans-serif;
  letter-spacing: 1.6px;
  color: #FFFFFF;
  transition: all 0.4s ease;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .cta::before {
  background: url(../images/tight_white.png) no-repeat;
  background-size: contain;
  right: 15px;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .cta:hover {
  background-color: #fff;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .cta:hover .cta__text {
  color: #21A7D8;
}
#footer .footer-top .contact .contact__wrapper .cta-area.form .cta:hover::before {
  background: url(../images/right_blue.png) no-repeat;
  background-size: contain;
}
#footer .footer-bottom {
  padding: 90px 0 0;
  width: 100%;
  background: #4A4A4A 0% 0% no-repeat padding-box;
}
#footer .footer-bottom__wrapper {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
#footer .footer-bottom__wrapper .company {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
#footer .footer-bottom__wrapper .company .logo {
  width: 330px;
  height: 43px;
  margin-bottom: 10px;
}
#footer .footer-bottom__wrapper .company .logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#footer .footer-bottom__wrapper .company p {
  text-align: left;
  font: normal normal 500 16px/28px "Noto Sans JP", sans-serif;
  letter-spacing: 0.96px;
  color: #FFFFFF;
  margin-bottom: 10px;
}
#footer .footer-bottom__wrapper .company .menu.tel .flex {
  display: flex;
  align-items: flex-end;
  font: normal normal normal 20px/24px "presicav", sans-serif;
  letter-spacing: 0px;
  color: #FFFFFF;
}
#footer .footer-bottom__wrapper .company .menu.tel .flex .koronn {
  display: inline-block;
  margin: 0 5px;
}
#footer .footer-bottom__wrapper .company .banner {
  display: block;
  width: 380px;
  height: 187px;
}
#footer .footer-bottom__wrapper .company .banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: all 0.3s ease;
}
#footer .footer-bottom__wrapper .company .banner:hover {
  cursor: pointer;
}
#footer .footer-bottom__wrapper .company .banner:hover img {
  opacity: 0.5;
}
#footer .footer-bottom__wrapper .slide-nav {
  padding-top: 0px;
  position: relative;
  display: flex;
  flex-direction: row;
  width: 100%;
  max-width: 570px;
  justify-content: space-between;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title {
  display: block;
  color: #fff;
  margin-bottom: 30px;
  font: normal normal 600 16px/23px "Noto Sans JP", sans-serif;
  letter-spacing: 1.6px;
  color: #FFFFFF;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: all 0.2s ease;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title:hover {
  text-decoration-color: #fff;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title.hasChild {
  line-height: 23px;
  margin-bottom: 20px;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title.hasChild a {
  font: normal normal 600 16px/23px "Noto Sans JP", sans-serif;
  letter-spacing: 1.6px;
  color: #FFFFFF;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-detail {
  font-size: 12px;
  position: relative;
  margin-bottom: 15px;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-detail a {
  font: normal normal normal 15px/21px "Noto Sans JP", sans-serif;
  letter-spacing: 1.5px;
  color: #FFFFFF;
  margin-left: 10px;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: all 0.2s ease;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-detail a::before {
  content: "";
  display: block;
  position: absolute;
  width: 4px;
  height: 1px;
  background-color: #fff;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-detail a:hover {
  text-decoration-color: #fff;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .slide-child-nav {
  overflow: hidden;
  transition: height 0.4s ease;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .slide-child-nav dl {
  margin-bottom: 20px;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .slide-child-nav dt {
  font: normal normal normal 15px/21px "Noto Sans JP", sans-serif;
  letter-spacing: 1.5px;
  color: #FFFFFF;
  margin-bottom: 15px;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .slide-child-nav dd {
  margin-bottom: 13px;
  position: relative;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .slide-child-nav dd a {
  margin-left: 8px;
}
#footer .footer-bottom__wrapper .slide-nav .flex-item .sec .slide-child-nav:last-child {
  margin-bottom: 15px;
}
#footer small {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 156px;
  background: #4A4A4A 0% 0% no-repeat padding-box;
  position: relative;
  top: -1px;
}
#footer small p {
  text-align: center;
  font: normal normal 300 14px/40px "presicav", sans-serif;
  letter-spacing: 1.12px;
  color: #EBEBEB;
}

.footer-cta-area {
  display: none;
}

/*SMP*/
@media only screen and (max-width: 1279px) {
  #footer {
    position: relative;
  }
  #footer .footer-top {
    padding: 0;
  }
  #footer .footer-top .contact {
    padding: 0;
  }
  #footer .footer-top .contact .contact__wrapper {
    flex-direction: column;
    justify-content: space-between;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    padding: 35px 0;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .title {
    font: normal normal bold 20px/20px "Noto Sans JP", sans-serif;
    letter-spacing: 2px;
    margin-bottom: 20px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .exp {
    font: normal normal 600 15px/23px "Noto Sans JP", sans-serif;
    letter-spacing: 0.9px;
    margin-bottom: 20px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .cta {
    width: 275px;
    height: 48px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .cta .cta__text {
    font: normal normal bold 15px/15px "Noto Sans JP", sans-serif;
    letter-spacing: 1.5px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .cta::before {
    width: 8.5px;
    height: 8.5px;
    right: 21px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .cta:hover {
    background-color: #21A7D8;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .cta:hover .cta__text {
    color: #fff;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area .cta:hover::before {
    background: url(../images/tight_white.png) no-repeat;
    background-size: contain;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.download {
    position: relative;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form:before {
    background: url(../images/hf/footer_smp.png) no-repeat;
    background-size: cover;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .title {
    color: #313131;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .exp {
    color: #313131;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .flex {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex .text {
    font: normal normal normal 13px/16px "presicav", sans-serif;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex .koronn {
    font: normal normal normal 13px/16px "presicav", sans-serif;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .flex .num {
    font: normal normal normal 23px/23px "presicav", sans-serif;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .time {
    margin-top: 2.5px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .menu.tel .time p {
    font: normal normal 500 12px/16px "Noto Sans JP", sans-serif;
    letter-spacing: 0.72px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .cta {
    width: 275px;
    height: 48px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .cta .cta__text {
    font: normal normal bold 15px/15px "Noto Sans JP", sans-serif;
    letter-spacing: 1.5px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .cta::before {
    background: url(../images/tight_white.png) no-repeat;
    background-size: contain;
    right: 35px;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .cta:hover {
    background-color: #21A7D8;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .cta:hover .cta__text {
    color: #fff;
  }
  #footer .footer-top .contact .contact__wrapper .cta-area.form .cta:hover::before {
    background: url(../images/tight_white.png) no-repeat;
    background-size: contain;
  }
  #footer .footer-bottom {
    padding: 45px 0 0;
  }
  #footer .footer-bottom__wrapper {
    flex-direction: column-reverse;
    width: 270px;
    margin: 0 auto;
  }
  #footer .footer-bottom__wrapper .company {
    flex-direction: column-reverse;
  }
  #footer .footer-bottom__wrapper .company .logo {
    width: 270px;
    height: 35px;
    margin-bottom: 15px;
  }
  #footer .footer-bottom__wrapper .company p {
    font: normal normal 500 12px/19px "Noto Sans JP", sans-serif;
    letter-spacing: 0.72px;
    margin-bottom: 15px;
  }
  #footer .footer-bottom__wrapper .company .menu.tel .flex {
    font: normal normal normal 18px/18px "presicav", sans-serif;
    letter-spacing: 0px;
  }
  #footer .footer-bottom__wrapper .company .menu.tel .flex .koronn {
    display: inline-block;
    margin: 0 5px;
  }
  #footer .footer-bottom__wrapper .company .banner {
    width: 270px;
    height: 133px;
  }
  #footer .footer-bottom__wrapper .company .banner:hover img {
    opacity: 1;
  }
  #footer .footer-bottom__wrapper .slide-nav {
    flex-direction: column;
    margin-bottom: 20px;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title {
    font: normal normal 500 15px/27.5px "Noto Sans JP", sans-serif;
    letter-spacing: 2.4px;
    margin-bottom: 20px;
    padding-left: 40px;
    position: relative;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title::before, #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title::before {
    width: 27.5px;
    height: 27.5px;
    border-radius: 50%;
    border: solid 1px #fff;
    left: 0;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title::after {
    width: 8.5px;
    height: 8.5px;
    background: url(../images/tight_white.png) no-repeat;
    background-size: contain;
    left: 10px;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title a {
    color: inherit;
    text-decoration: none;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title:hover {
    text-decoration: none;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title.hasChild {
    line-height: 23px;
    margin-bottom: 20px;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-title.hasChild a {
    font: normal normal 500 15px/27.5px "Noto Sans JP", sans-serif;
    letter-spacing: 2.4px;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .menu-detail {
    display: none;
  }
  #footer .footer-bottom__wrapper .slide-nav .flex-item .sec .slide-child-nav {
    display: none;
  }
  #footer small {
    padding: 45px 0 130px;
  }
  #footer small p {
    font: normal normal 300 12px/20px "presicav", sans-serif;
    letter-spacing: 0.96px;
  }
  .footer-cta-area {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    margin: 0 auto;
    height: 105px;
    z-index: 20;
    position: fixed;
    left: 0;
    bottom: 0;
    opacity: 0;
    transform: translateY(90px);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .footer-cta-area .gotop {
    display: block;
    width: 40px;
    height: 40px;
    padding-right: 8px;
  }
  .footer-cta-area .gotop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .footer-cta-area .footer-cta {
    width: 100%;
    height: 55px;
    display: flex;
    transition: all 0.3s ease;
  }
  .footer-cta-area .footer-cta .tel {
    width: 65px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #21A7D8 0% 0% no-repeat padding-box;
    border-radius: 5px 0px 0px 0px;
  }
  .footer-cta-area .footer-cta .tel img {
    width: 30px;
    height: 30px;
  }
  .footer-cta-area .footer-cta .btn {
    flex: auto;
  }
  .footer-cta-area .footer-cta .btn a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 55px;
    background-color: #fff;
    border: solid 1px #ccc;
  }
  .footer-cta-area .footer-cta .btn a p {
    font: normal normal 600 14px/14px "Noto Sans JP", sans-serif;
    letter-spacing: 0.98px;
    color: #21A7D8;
  }
  .footer-cta-area .footer-cta .btn:last-child a {
    border-radius: 0 5px 0px 0px;
  }
  .footer-cta-area.footer-cta-scrolled {
    opacity: 1;
    transform: translateY(0);
  }
}

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