@charset "UTF-8";
/*********************************/
/*            commmon            */
/*********************************/
/*********************************************/
/*                    SCSS                   */
/*********************************************/
body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  overflow-x: hidden;
  color: #293339;
  overflow-x: hidden;
  font-weight: 400;
}
body.hidden {
  overflow: hidden !important;
}

.forSp {
  display: none;
}
.forPc {
  display: block;
}

html {
  font-size: 10px;
}

@media (min-width: 1600px) {
  html {
    font-size: 13px;
  }
}
@media (max-width: 920px) {
  html {
    font-size: 8px;
  }
}
img {
  display: block;
  width: 100%;
}

.futura {
  font-family: futura-pt, sans-serif;
}

.hover {
  transition: 0.3s;
}

.hover:hover {
  opacity: 0.5 !important;
}

.inview {
  transform: translateY(3rem);
  opacity: 0;
  transition: 0.4s;
  transition-delay: 0.3s;
}
.inview.isInview {
  opacity: 1;
  transform: translateY(0);
}

/*********************************/
/*            PC Base            */
/*********************************/
.header .mainHeader {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  padding-bottom: 0.5rem;
  z-index: 100;
  border-bottom: solid 1px #F2F2F3;
}
.header .mainHeader-progress {
  background-color: #fff;
  margin-bottom: 0.5rem;
}
.header .mainHeader-progress__bar {
  background-color: #3DA5E1;
  height: 0.4rem;
  width: 0%;
}
.header .mainHeader-wrapper {
  display: flex;
  width: 90%;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}
.header .mainHeader-wrapper__logo {
  width: 14rem;
}
.header .mainHeader-wrapper-nav {
  display: flex;
  align-items: center;
}
.header .mainHeader-wrapper-nav__link {
  color: #293339;
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-right: 5.5rem;
}
.header .mainHeader-wrapper-nav__link--icon {
  position: absolute;
  width: 100%;
  height: 300%;
  text-align: center;
  opacity: 0;
  transition: 0.3s;
  color: #0F72E6;
  font-size: 1.3rem;
  top: -1.7rem;
}
.header .mainHeader-wrapper-nav__link--icon:hover {
  opacity: 1;
}
.header .mainHeader-wrapper-nav__link--icon.hover {
  opacity: 1 !important;
}
.header .subHeader {
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 50;
  opacity: 0;
  transition: 0.4s;
  z-index: -10;
  top: 0;
  left: 0;
}
.header .subHeader.show {
  opacity: 1;
  z-index: 60;
}
.header .subHeader__bg {
  background-color: #000;
  position: absolute;
  width: 100%;
  height: 100%;
  transition: 0.2s;
  opacity: 0.4;
}
.header .subHeader-container {
  background-color: #fff;
  padding: 6rem 0 6rem 9rem;
  position: absolute;
  top: 12rem;
  right: 5%;
  border-radius: 1rem;
  width: 81rem;
  display: flex;
}
.header .subHeader-container::before {
  content: "";
  height: 6rem;
  width: 100%;
  position: absolute;
  top: -3rem;
  left: 0;
}
.header .subHeader-container-left {
  width: 27.5rem;
  border-right: 1px dashed #dedede;
  color: #293339;
}
.header .subHeader-container-left__text {
  height: 1.4rem;
  width: auto;
  margin-bottom: 1rem;
}
.header .subHeader-container-left__title {
  font-size: 3rem;
  letter-spacing: 0.06em;
  font-weight: bold;
}
.header .subHeader-container-right {
  padding-left: 6rem;
}
.header .subHeader-container-right__link {
  color: #293339;
  display: block;
  font-size: 1.6rem;
  margin-bottom: 3rem;
  transition: 0.3s;
  letter-spacing: 0.1em;
}
.header .subHeader-container-right__link:last-child {
  margin-bottom: 0;
}
.header .subHeader-container-right__link:hover {
  color: #0F72E6;
}
.header .subHeader-container-right__link--arrow {
  margin-right: 1rem;
  font-size: 1rem;
  position: relative;
  bottom: 2px;
}

.button1 {
  display: flex;
  align-items: center;
  background-color: #51b1ad;
  transition: 0.3s;
  color: #fff;
  justify-content: center;
  border-radius: 2.9rem;
  padding: 1.65rem 0;
  width: 19rem;
}
.button1:hover {
  background-color: #307774;
}
.button1__icon {
  font-size: 2.5rem;
  margin-right: 1rem;
}
.button1__text {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.container {
  max-width: 86rem;
  margin: 0 auto;
  position: relative;
  width: 90%;
}

.title1 {
  width: fit-content;
  margin: 0 auto;
}
.title1__ja {
  height: 1.5rem;
  width: auto;
  margin: 0 auto;
}
.title1__en {
  font-size: 4rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-top: 1.5rem;
}

.box1 {
  position: relative;
  width: 100%;
}
.box1__top {
  width: 100%;
  background-color: #293339;
  display: block;
  position: relative;
}
.box1__top::before {
  content: "";
  position: absolute;
  border-radius: 50%/100% 100% 0 0;
  background-color: #293339;
  left: 50%;
  transform: translateX(-50%);
}
.box1__top::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  left: 50%;
  transform: translateX(-50%);
}

.footer-top {
  background-color: #293339;
}
.footer-top .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-top__toTop {
  color: #fff;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.6rem;
  background-color: #51b1ad;
  width: 5rem;
  text-align: center;
  border-radius: 2px;
  letter-spacing: 0.03em;
  transition: 0.3s;
}
.footer-top__toTop:hover {
  background-color: #307774;
}
.footer-top__scroll {
  background-color: #3a4348;
  color: #fff;
  line-height: 5.8rem;
  transition: 0.3s;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  padding: 0 4.5rem;
  font-weight: 500;
}
.footer-top__scroll--icon {
  font-size: 1.1rem;
  margin-right: 2rem;
}
.footer-top__scroll:hover {
  background-color: #293339;
}
.footer-middle {
  background-color: #ebebeb;
  padding: 8rem 0;
}
.footer-middle .container {
  display: flex;
  justify-content: space-between;
}
.footer-middle a {
  color: #293339;
  transition: 0.3s;
}
.footer-middle a:hover {
  color: #0F72E6;
}
.footer-middle-nav {
  width: 18.5rem;
}
.footer-middle-nav__main {
  border-bottom: #dedede solid 1px;
  display: block;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.footer-middle-nav__main--en {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-bottom: 1rem;
}
.footer-middle-nav__main--ja {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.footer-middle-nav__sub--link {
  display: block;
  margin-top: 2rem;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.57;
  position: relative;
  padding-left: 1.5rem;
}
.footer-middle-nav__sub--link---icon {
  position: absolute;
  left: 0;
  font-size: 1rem;
  top: 0.4rem;
}
.footer-bottom {
  padding: 4rem 0;
}
.footer-bottom .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.footer-bottom-content__logo {
  width: 13.2rem;
  display: block;
  margin-bottom: 1.5rem;
}
.footer-bottom-content p {
  font-size: 1.3rem;
  color: #3a4348;
  letter-spacing: 0.04em;
  line-height: 1.53;
}
.footer-bottom-content__text:first-of-type {
  font-size: 1.4rem;
}
.footer-bottom-content__text:nth-of-type(2) {
  margin: 2rem 0 1.5rem 0;
}
.footer-bottom__copy {
  font-size: 1.3rem;
  color: #2c2c2c;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: flex;
  column-gap: 2rem;
}
.footer-bottom__copy .ft-link {
  display: inline-block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
}
.footer-bottom__copy .ft-link:hover {
  opacity: 0.5;
  text-decoration: underline;
}

.subTop {
  margin-top: 17rem;
}
.subTop .container {
  margin-bottom: 2rem;
}
.subTop__title {
  overflow: hidden;
}
.subTop__title--ja {
  height: 1.7rem;
  width: auto;
}
.subTop__title--en {
  font-size: 5.4rem;
  letter-spacing: 0.06em;
  font-weight: bold;
  opacity: 0;
  margin-top: 1.5rem;
}
.subTop__title--en.in {
  opacity: 1;
}
.subTop__link {
  margin-top: 8rem;
  font-size: 1.4rem;
}
.subTop__link--text {
  color: #293339;
  letter-spacing: 0.1em;
  transition: 0.3s;
  display: inline-block;
  margin-right: 4rem;
  position: relative;
}
.subTop__link--text:hover {
  color: #0F72E6;
}
.subTop__link--text---icon {
  position: absolute;
  font-size: 1.1rem;
  right: -2rem;
  line-height: 3.2rem;
  text-align: right;
  top: 50%;
  width: 120%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.subTop__link--text---icon:hover {
  top: 73%;
  color: #0F72E6;
}
.subTop__img1 {
  position: absolute;
  width: 3.2rem;
  top: 0rem;
  right: 8rem;
  opacity: 0;
  transition: 0.7s;
  transition-delay: 1.2s;
}
.subTop__img1.in {
  opacity: 1;
}
.subTop__img2 {
  position: absolute;
  width: 3.6rem;
  top: 1.3rem;
  right: 0rem;
  opacity: 0;
  transition: 0.7s;
  transition-delay: 1.5s;
}
.subTop__img2.in {
  opacity: 1;
}
.subTop__img3 {
  position: absolute;
  width: 3.8rem;
  top: 7rem;
  right: 5rem;
  opacity: 0;
  transition: 0.7s;
  transition-delay: 1.8s;
}
.subTop__img3.in {
  opacity: 1;
}
.subTop__mainImg {
  opacity: 0;
  transform: translateY(6%);
  transition: 0.8s;
  transition-delay: 0.8s;
}
.subTop__mainImg.in {
  transform: translateY(0);
  opacity: 1;
}

.title2 {
  width: fit-content;
  margin: 0 auto;
}
.title2__icon {
  height: 4rem;
  width: auto;
  margin: 0 auto;
  margin-bottom: 4rem;
}
.title2__text {
  height: 3.2rem;
  width: auto;
}

/*********************************/
/*         PC Responsive         */
/*********************************/
/*********************************/
/*               SP              */
/*********************************/
@media (max-width: 768px) {
  .forSp {
    display: block;
  }
  .forPc {
    display: none;
  }
  html {
    font-size: 10px;
  }
  .header .mainHeader-progress {
    margin-bottom: 0.9rem;
  }
  .header .spHeader {
    position: fixed;
    top: 0;
    z-index: 100;
    background-color: #fff;
    width: 100%;
    border-bottom: solid 1px #F2F2F3;
    padding-bottom: 0;
  }
  .header .spHeader .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header .spHeader__logo {
    display: block;
    width: 9.7rem;
  }
  .header .spHeader__hb {
    width: 3rem;
    height: 2rem;
    position: relative;
    cursor: pointer;
  }
  .header .spHeader__hb.show .spHeader__hb--bar1 {
    transform: translateY(0.9rem) rotate(45deg);
  }
  .header .spHeader__hb.show .spHeader__hb--bar2 {
    opacity: 0;
  }
  .header .spHeader__hb.show .spHeader__hb--bar3 {
    transform: translateY(-0.9rem) rotate(-45deg);
  }
  .header .spHeader__hb span {
    background-color: #293339;
    position: absolute;
    width: 100%;
    height: 2px;
  }
  .header .spHeader__hb--bar1 {
    top: 0;
    transform: translateY(0);
    transition: 0.3s;
  }
  .header .spHeader__hb--bar2 {
    top: 44%;
    transition: 0.2s;
  }
  .header .spHeader__hb--bar3 {
    bottom: 0;
    transform: translateY(0);
    transition: 0.3s;
  }
  .header .spHeader-open {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #ebebeb;
    z-index: 50;
    padding-top: 9rem;
    top: 0;
    transform: translateY(-100vh);
    transition: 0.5s;
    overflow: auto;
  }
  .header .spHeader-open.open {
    transform: translateY(0);
  }
  .header .spHeader-open .container {
    opacity: 0;
    transition: 0.3s;
    transition-delay: 0.5s;
    padding-bottom: 8rem;
  }
  .header .spHeader-open .container.open {
    opacity: 1;
  }
  .header .spHeader-open .button1 {
    width: 28rem;
    margin: 0 auto;
    margin-top: 4rem;
  }
  .header .spHeader-open .button1__icon {
    margin-right: 2rem;
  }
  .header .spHeader-open .button1__text {
    font-size: 1.6rem;
  }
  .header .spHeader-open .subMenuSp {
    padding-left: 5%;
    height: 0;
    overflow: hidden;
    transition: 0.4s;
  }
  .header .spHeader-open .subMenuSp.open {
    height: 22rem;
  }
  .header .spHeader-open .subMenuSp__link {
    border-bottom: #dedede solid 1px;
    line-height: 5.4rem;
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    position: relative;
    padding-left: 1.5rem;
    overflow: hidden;
    transition: 0.6s;
    color: #293339;
  }
  .header .spHeader-open .subMenuSp__link--arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    left: 0;
  }
  .header .spHeader-open .subMenuSp.subMenuSp2.open {
    height: 27.5rem;
  }
  .header .spHeader-open__link {
    border-bottom: #dedede solid 1px;
    display: block;
    padding: 2.5rem 0;
    color: #293339;
    position: relative;
  }
  .header .spHeader-open__link--en {
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
    font-weight: 500;
  }
  .header .spHeader-open__link--ja {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  .header .spHeader-open__link--plus {
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 2.4rem;
    color: #51b1ad;
    transform: translateY(-50%);
  }
  .header .spHeader-open__link--plus.none {
    opacity: 0;
  }
  .header .spHeader-open__link--arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0.7rem;
    font-size: 1.5rem;
  }
  .title1 {
    text-align: center;
  }
  .title1__en {
    font-size: 3.2rem;
  }
  .footer-top .container {
    width: 100%;
    padding-left: 5%;
  }
  .footer-top__scroll {
    padding: 0 2.5rem;
  }
  .footer-top__scroll--icon {
    font-size: 1rem;
  }
  .footer-middle {
    padding-bottom: 4rem;
    padding-top: 2rem;
  }
  .footer-middle .container {
    display: block;
  }
  .footer-middle .subMenuSpFooter {
    padding-left: 5%;
    height: 0;
    overflow: hidden;
    transition: 0.4s;
  }
  .footer-middle .subMenuSpFooter.open {
    height: 22rem;
  }
  .footer-middle .subMenuSpFooter__link {
    border-bottom: #dedede solid 1px;
    line-height: 1.7;
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    position: relative;
    padding-left: 1.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    overflow: hidden;
    transition: 0.6s;
  }
  .footer-middle .subMenuSpFooter__link:hover {
    color: #293339 !important;
  }
  .footer-middle .subMenuSpFooter__link--arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    left: 0;
  }
  .footer-middle .subMenuSpFooter.subMenuSpFooter2.open {
    height: 30rem;
  }
  .footer-middle__link {
    border-bottom: #dedede solid 1px;
    display: block;
    padding: 2rem 0;
    color: #293339;
    position: relative;
  }
  .footer-middle__link:hover {
    color: #293339 !important;
  }
  .footer-middle__link--en {
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
    font-weight: 500;
  }
  .footer-middle__link--ja {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  .footer-middle__link--plus {
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 2.4rem;
    color: #51b1ad;
    transform: translateY(-50%);
  }
  .footer-middle__link--plus.none {
    opacity: 0;
  }
  .footer-middle__link--arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0.7rem;
    font-size: 1.3rem;
  }
  .footer-bottom .container {
    display: block;
  }
  .footer-bottom-content__logo {
    width: 13.2rem;
    margin-bottom: 1.5rem;
  }
  .footer-bottom-content__text:nth-of-type(2) {
    margin: 2rem 0;
  }
  .footer-bottom__copy {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 4rem;
    display: flex;
    flex-flow: row-reverse;
    column-gap: 2rem;
  }
  .footer-bottom__copy .ft-link {
    display: inline-block;
    text-decoration: underline;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  }
  .subTop {
    margin-top: 12.5rem;
  }
  .subTop__title--ja {
    height: 1.5rem;
  }
  .subTop__title--en {
    margin-top: 1.5rem;
    font-size: 3.4rem;
  }
  .subTop__link {
    margin-top: 4rem;
  }
  .subTop__link--text {
    display: block;
    width: fit-content;
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
  .subTop__link--text---icon {
    font-size: 0.8rem;
    width: fit-content;
    transition: 0s;
  }
  .subTop__link--text---icon:hover {
    top: 50%;
  }
  .subTop__img1 {
    width: 2.4rem;
    top: -3rem;
    right: 4rem;
  }
  .subTop__img2 {
    width: 2.7rem;
    right: 0;
    top: -2rem;
  }
  .subTop__img3 {
    width: 2.7rem;
    right: 3rem;
    top: 1rem;
  }
  .title2__icon {
    height: 3rem;
    margin-bottom: 2rem;
  }
  .title2__text {
    height: 2.6rem;
  }
}
/*********************************/
/*            PC Base            */
/*********************************/
#loading {
  width: 100%;
  min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  position: fixed;
  background-color: #fff;
  z-index: 200;
  top: 0;
  transition: 0.7s;
}
#loading .loadingImg {
  width: 21.4rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.3s;
}
#loading .loadingImg.fadeOut {
  opacity: 0;
}
#loading::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #3DA5E1;
  top: 100vh;
  left: 0;
  transition: 0.7s;
}
#loading.in::before {
  top: 0;
}
#loading.out {
  top: -100vh;
}

#index .top {
  min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  min-height: calc(var(--vh, 1vh) * 100);
  position: relative;
  width: 100%;
  overflow-x: hidden;
}
#index .top-text {
  position: absolute;
  z-index: 10;
  width: 90%;
  max-width: 86rem;
  left: 50%;
  top: 60%;
  transform: translateX(-50%);
}
#index .top-text .topText {
  position: relative;
  top: 1rem;
  opacity: 0;
  transition: 0.6s;
  transition-delay: 1.4s;
}
#index .top-text .topText.in {
  opacity: 1;
  top: 0;
}
#index .top-text__img1 {
  height: 3.2rem;
  width: auto;
}
#index .top-text__img2, #index .top-text__img4 {
  height: 4rem;
  width: auto;
  display: inline-block;
}
#index .top-text__img3 {
  height: 5.4rem;
  width: auto;
  display: inline-block;
  margin: 0 1rem;
  margin-top: 1.5rem;
}
#index .top-images {
  width: 100%;
  min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  min-height: calc(var(--vh, 1vh) * 100);
  position: relative;
  overflow: hidden;
  opacity: 0;
  transition: 1.4s;
  transition-delay: 0.4s;
}
#index .top-images.in {
  opacity: 1;
}
#index .top-images__img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  object-fit: cover;
  left: 0;
  opacity: 0;
}
#index .top-images__img.img1 {
  animation-name: img1;
  animation-duration: 23s;
  animation-iteration-count: infinite;
  opacity: 1;
}
@keyframes img1 {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  10% {
    opacity: 1;
  }
  38% {
    opacity: 1;
    transform: scale(1.1);
  }
  40% {
    opacity: 0%;
  }
  99% {
    opacity: 1;
  }
}
#index .top-images__img.img2 {
  animation-name: img2;
  animation-duration: 23s;
  animation-delay: 0.2s;
  animation-iteration-count: infinite;
}
@keyframes img2 {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
    transform: scale(1);
  }
  37% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  63% {
    opacity: 0;
    transform: scale(1.1);
  }
}
#index .top-images__img.img3 {
  animation-name: img3;
  animation-duration: 23s;
  animation-iteration-count: infinite;
  animation-delay: 0.2s;
}
@keyframes img3 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: scale(1);
  }
  58% {
    opacity: 1;
  }
  92% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.13);
  }
}
#index .top-images__bottom {
  position: absolute;
  bottom: -3rem;
}
#index .button1 {
  margin: 0 auto;
  width: 28rem;
  padding: 2.1rem 0;
}
#index .button1__text {
  font-size: 1.6rem;
}
#index .button1__icon {
  margin-right: 2rem;
  font-size: 1.3rem;
}
#index .about {
  padding: 6rem 0 10rem 0;
}
#index .about .container {
  width: 80%;
}
#index .about__text {
  margin: 6rem auto;
  width: fit-content;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.14em;
  line-height: 1.8;
}
#index .about__img1 {
  position: absolute;
  left: -9rem;
  top: 0;
  width: 23.5rem;
}
#index .about__img2 {
  position: absolute;
  bottom: 0;
  left: 3rem;
  width: 8rem;
}
#index .about__img3 {
  position: absolute;
  top: 7rem;
  right: 0;
  width: 9.4rem;
}
#index .about__img4 {
  position: absolute;
  bottom: -7rem;
  right: -13rem;
  width: 26.2rem;
}
#index .service {
  background-color: #3DA5E1;
  padding: 10rem 0;
}
#index .service .title1 {
  color: #fff;
}
#index .service .title1__ja {
  height: 1.7rem;
}
#index .service-box {
  max-width: 54rem;
  margin: 0 auto;
  margin-top: 6.6rem;
  background-color: #fff;
  border-radius: 10px;
  padding-bottom: 5rem;
  box-shadow: 1px 2px 4px rgba(198, 198, 198, 0.2745098039);
}
#index .service-box__top {
  height: 2.5rem;
  border-radius: 10px 10px 0 0;
  z-index: 10;
}
#index .service-box__top::before {
  width: 7.2rem;
  height: 3.6rem;
  top: -2.5rem;
}
#index .service-box__top::after {
  height: 1.4rem;
  width: 1.4rem;
  bottom: 1.35rem;
  background-color: #fdd23d;
}
#index .service-box__bg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 10px;
  z-index: 0;
}
#index .service-box__img1 {
  position: absolute;
  width: 14.7rem;
  left: -13rem;
  top: -11rem;
}
#index .service-box__img2 {
  position: absolute;
  height: 13rem;
  width: auto;
  right: -8rem;
  top: -4rem;
  z-index: 20;
}
#index .service-box-lists {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  width: fit-content;
  padding-top: 5rem;
}
#index .service-box-lists__text {
  display: flex;
  align-items: flex-start;
  font-size: 1.8rem;
  line-height: 1.75;
  letter-spacing: 0.14em;
  margin-bottom: 2.2rem;
}
#index .service-box-lists__text--icon {
  width: 2.2rem;
  margin-right: 1rem;
  position: relative;
  top: 0.6rem;
}
#index .service-box .button1 {
  position: relative;
  margin-top: 5rem;
}
#index .news {
  position: relative;
  padding: 10rem 0 12rem 0;
}
#index .news::before {
  content: "";
  position: absolute;
  width: 35%;
  height: 100%;
  background-color: #51B1AD;
  top: 0;
  left: 0;
}
#index .news .container {
  display: flex;
  justify-content: space-between;
}
#index .news .container .title1 {
  margin: 0;
  color: #fff;
}
#index .news .container .title1__ja {
  margin-left: 0;
}
#index .news-lists {
  width: 52rem;
  border-top: #dedede dashed 1px;
}
#index .news-lists__link {
  border-bottom: #dedede dashed 1px;
  display: block;
  padding: 3rem 0;
  display: flex;
  justify-content: space-between;
  letter-spacing: 0.04em;
}
#index .news-lists__link--date {
  color: #e27e25;
  font-size: 1.4rem;
  line-height: 1.85;
  font-weight: 500;
  letter-spacing: 0.04em;
}
#index .news-lists__link--text {
  font-size: 1.4rem;
  line-height: 1.85;
  letter-spacing: 0.04em;
  width: 39rem;
}
#index .news-lists .button1 {
  margin-top: 5rem;
  margin-left: 0;
}

#about {
  width: 100%;
  overflow-x: hidden;
}
#about .message {
  padding-top: 13rem;
}
#about .message .container {
  padding-bottom: 32rem;
  width: 76%;
}
#about .message__text {
  max-width: 54rem;
  margin: 0 auto;
  margin-top: 6rem;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.87;
}
#about .message__text--name {
  margin-top: 2rem;
  text-align: right;
  display: block;
}
#about .message__img {
  animation-timing-function: ease-in-out;
  opacity: 0;
  transform: scale(1.05);
  transition: 0.7s;
  transition-delay: 0.3s;
}
#about .message__img.in {
  opacity: 1;
  transform: scale(1);
}
#about .message__img.anime {
  animation-name: messageAnime;
  animation-duration: 4s;
  animation-iteration-count: infinite;
}
@keyframes messageAnime {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(7px);
  }
  100% {
    transform: translateY(0rem);
  }
}
#about .message__img1 {
  position: absolute;
  width: 19rem;
  top: 0;
  left: -8rem;
  animation-delay: 0.1s;
  transition-delay: 0.1s;
}
#about .message__img2 {
  position: absolute;
  width: 26rem;
  top: 30rem;
  left: -21rem;
  animation-delay: 0.4s;
  transition-delay: 0.5s;
}
#about .message__img3 {
  position: absolute;
  width: 20.6rem;
  bottom: 12rem;
  left: 15rem;
  animation-delay: 0.8s;
  transition-delay: 0.7s;
}
#about .message__img4 {
  position: absolute;
  width: 17rem;
  bottom: 10rem;
  right: 14rem;
  animation-delay: 1s;
  transition-delay: 0.8s;
}
#about .message__img5 {
  position: absolute;
  width: 29rem;
  bottom: 37rem;
  right: -21rem;
  animation-delay: 0.6s;
  transition-delay: 0.6s;
}
#about .message__img6 {
  position: absolute;
  width: 20rem;
  top: -4rem;
  right: -7rem;
  animation-delay: 0.2s;
  transition-delay: 0.4s;
}
#about .mission {
  position: relative;
  padding: 9rem 0 7rem 0;
}
#about .mission__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#about .mission__img-cover {
  position: absolute;
  top: -6rem;
  width: 90%;
  max-width: 86rem;
  left: 50%;
  transform: translateX(-50%);
}
#about .mission__img {
  width: 12.2rem;
  height: auto;
}
#about .mission .container {
  position: absolute;
  width: 100%;
  top: 65%;
  left: 50%;
  transform: translateX(-50%) translateY(-65%);
}
#about .mission-text__title {
  letter-spacing: 0.14em;
  margin-left: auto;
  margin-right: 0;
  font-weight: bold;
  font-size: 2.2rem;
  width: 41rem;
  line-height: 1.63;
}
#about .mission-text__text {
  font-size: 1.6rem;
  width: 41rem;
  margin-left: auto;
  margin-right: 0;
  margin-top: 5rem;
  line-height: 1.87;
}
#about .mission .slick01 {
  margin-top: 6rem;
  width: 47%;
  height: auto;
}
#about .mission .slick01-slide {
  height: auto;
}
#about .mission .slick01-slide__img {
  height: auto;
  object-fit: cover;
}
#about .mission .slick01 .slick-list {
  border-radius: 0 10px 10px 0;
}
#about .mission .slick01 .slick-dots {
  width: fit-content;
  right: 0;
}
#about .mission .slick01 .slick-dots li.slick-active button:before {
  color: #293339 !important;
}
#about .mission .slick01 .slick-dots li button {
  font-size: 1rem;
  height: 1rem;
  width: 1rem;
  padding: 0;
}
#about .mission .slick01 .slick-dots li {
  width: fit-content;
  height: fit-content;
  margin: 0 3px;
}
#about .mission .slick01 .slick-dots li button:before {
  font-size: 1rem;
  height: 1rem;
  width: 1rem;
}
#about .company {
  padding: 13.5rem 0 12rem 0;
}
#about .company__img {
  position: absolute;
  width: 13rem;
  right: 0;
  top: -17rem;
}
#about .company-lists {
  margin-top: 6rem;
  font-size: 1.6rem;
  border-top: #dedede dashed 1px;
}
#about .company-lists__list {
  display: flex;
  padding: 2.5rem 0;
  border-bottom: #dedede dashed 1px;
  letter-spacing: 0.04em;
  line-height: 1.62;
}
#about .company-lists__list .map {
  display: flex;
  justify-content: space-between;
}
#about .company-lists__list .map.forSp {
  display: none;
}
#about .company-lists__list .map-container {
  width: 100%;
  position: relative;
}
#about .company-lists__list .map-container__link {
  color: #51b1ad;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  position: relative;
  text-decoration: underline;
  margin-left: 1.5rem;
  margin-bottom: 1rem;
}
#about .company-lists__list .map-container__link i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5rem;
}
#about .company-lists__list .map-container__link .futura {
  font-weight: 500;
}
#about .company-lists__list .map-container__map {
  margin-top: 1rem;
  width: 100%;
  height: 28.2rem;
  box-shadow: 1px 2px 4px rgba(198, 198, 198, 0.2);
  border-radius: 4px;
  transition: 0.2s;
  position: relative;
  z-index: 20;
}
#about .company-lists__list--left {
  width: 20rem;
  color: #3a4348;
}
#about .company-lists__list--right {
  width: 66rem;
}

#service .main {
  padding: 3rem 0 12rem 0;
}
#service .main-list {
  position: relative;
  border-bottom: dashed 1px #293339;
  padding-bottom: 5rem;
  margin-top: 5rem;
}
#service .main-list__number {
  font-size: 2.4rem;
  color: #fff;
  background-color: #e27e25;
  width: 3.8rem;
  line-height: 3.8rem;
  border-radius: 50%;
  font-weight: 500;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
#service .main-list__wrapper {
  display: flex;
  align-items: center;
  padding-left: 5rem;
  justify-content: space-between;
}
#service .main-list__wrapper--img {
  height: 17rem;
  width: auto;
}
#service .main-list__wrapper--text {
  width: 57.4rem;
}
#service .main-list__wrapper--text---title {
  font-size: 1.8rem;
  color: #fff;
  background-color: #293339;
  border-radius: 2px;
  width: fit-content;
  line-height: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.14em;
  padding: 0 2rem;
  margin-bottom: 3.5rem;
}
#service .main-list__wrapper--text---text {
  font-size: 1.6rem;
  line-height: 1.87;
  letter-spacing: 0.04em;
}
#service .main-list .button1 {
  margin-right: 0;
  margin-left: auto;
  width: 18rem;
  padding: 1.7rem 0;
}
#service .main-list .button1__icon {
  font-size: 1rem;
  margin-right: 2rem;
}

#service-single {
  padding-top: 9rem;
  width: 100%;
  overflow-x: hidden;
}
#service-single .top {
  position: relative;
}
#service-single .top-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}
#service-single .top-title__sub {
  display: flex;
  align-items: center;
  margin: 0 auto;
  width: 21rem;
  margin-bottom: 3rem;
}
#service-single .top-title__sub--img {
  height: 1.8rem;
  width: auto;
}
#service-single .top-title__sub--text {
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  margin-left: 0.7rem;
}
#service-single .top-title__main {
  height: 3.6rem;
  width: auto;
}
#service-single .lead {
  text-align: center;
  padding: 6rem 0 10rem 0;
}
#service-single .lead.resources {
  padding-bottom: 8rem;
}
#service-single .lead__title {
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.14em;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
#service-single .lead__title::before {
  content: "，";
  position: absolute;
  font-size: 4rem;
  transform: rotate(-180deg);
  left: -6.5rem;
  top: -0.5rem;
}
#service-single .lead__title::after {
  content: "，";
  position: absolute;
  font-size: 4rem;
  right: -6rem;
  bottom: -0.5rem;
}
#service-single .lead__text {
  font-size: 2rem;
  line-height: 1.8;
  margin-top: 4rem;
  letter-spacing: 0.14em;
}
#service-single .lead__text.resources {
  margin-top: 1.6rem;
}
#service-single .lead.business .lead__text {
  margin-top: 0;
  padding: 0 1.5rem;
}
#service-single .lead.business .lead__title {
  margin-top: 7rem;
}
#service-single .main {
  padding-bottom: 12rem;
}
#service-single .main-box {
  background-color: #f7f7f7;
  border-radius: 0 0 4px 4px;
  text-align: center;
  padding-bottom: 6rem;
  margin-bottom: 8rem;
}
#service-single .main-box:last-of-type {
  margin-bottom: 6rem;
}
#service-single .main-box__top {
  height: 3rem;
  border-radius: 4px 4px 0 0;
  z-index: 10;
}
#service-single .main-box__top::before {
  width: 6rem;
  height: 3rem;
  top: -2rem;
}
#service-single .main-box__top::after {
  height: 1.4rem;
  width: 1.4rem;
  bottom: 1.9rem;
  background-color: #fff;
}
#service-single .main-box__title {
  display: inline-block;
  background-color: #fdd23d;
  border-radius: 2px;
  line-height: 3.2rem;
  padding: 0 2rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.14em;
  margin: 0 0.5rem;
  margin-top: 4rem;
}
#service-single .main-box__title.border {
  background-color: transparent;
  border: solid 1px #293339;
  line-height: 2.8rem;
  vertical-align: baseline;
}
#service-single .main-box__title.forSp {
  display: none;
}
#service-single .main-box__lead {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.87;
  margin-top: 2rem;
}
#service-single .main-box-text {
  padding: 0 6rem;
  margin-top: 4rem;
  text-align: left;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.87;
}
#service-single .main-box-text .ttl {
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-bottom: 1.3rem;
}
#service-single .main-box-text .center {
  text-align: center;
}
#service-single .main-box-text__wrapper {
  display: flex;
  justify-content: space-between;
  position: relative;
}
#service-single .main-box-text__wrapper::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 0px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-right: #DEDEDE dashed 1px;
}
#service-single .main-box-text__wrapper--container {
  width: 46%;
}
#service-single .main-box-text__wrapper--container---title {
  font-size: 1.8rem;
  color: #fff;
  background-color: #171c1f;
  width: fit-content;
  margin: 0 auto;
  font-weight: bold;
  letter-spacing: 0.14em;
  padding: 0 1rem 0 2rem;
  border-radius: 2px;
  margin-bottom: 3rem;
  line-height: 3.2rem;
  position: relative;
}
#service-single .main-box-text__wrapper--container---title span {
  font-size: 1.6rem;
  font-weight: 500;
}
#service-single .main-box-text__wrapper--container---title::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #171c1f transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
}
#service-single .main-box-text__list {
  padding-bottom: 4rem;
  border-bottom: #dedede dashed 1px;
  margin-bottom: 4rem;
}
#service-single .main-box-text__list:last-of-type {
  margin-bottom: 0;
}
#service-single .main-box-text__list--title {
  font-size: 1.8rem;
  position: relative;
  padding-left: 3.3rem;
}
#service-single .main-box-text__list--title .number {
  font-size: 1.6rem;
  width: 2.4rem;
  line-height: 2.4rem;
  text-align: center;
  border-radius: 50%;
  background-color: #293339;
  position: absolute;
  color: #fff;
  font-weight: 500;
  left: 0;
  line-height: 2.4rem;
  top: 0.4rem;
  padding-left: 0.1rem;
}
#service-single .main-box-text__list--title .check {
  width: 2.3rem;
  height: 2.3rem;
  left: 0;
  top: 0.4rem;
  position: absolute;
}
#service-single .main-box-text__list--text {
  padding-left: 3.3rem;
}
#service-single .main-box-tbl {
  border-collapse: separate;
  border-spacing: 2px;
}
#service-single .main-box-tbl th, #service-single .main-box-tbl td {
  vertical-align: middle;
  font-size: 1.6rem;
  font-weight: 500;
}
#service-single .main-box-tbl th {
  line-height: 1.875;
  background-color: #FFEFC4;
  text-align: center;
}
#service-single .main-box-tbl thead th {
  padding: 0.5rem 1rem;
}
#service-single .main-box-tbl thead th:nth-child(1) {
  width: 25.2rem;
}
#service-single .main-box-tbl thead th:nth-child(2) {
  width: 51.2rem;
}
#service-single .main-box-tbl tbody td {
  padding: 1.2rem 1rem 1.2rem 1.5rem;
  line-height: 1.5;
  background-color: #FFFFFF;
}
#service-single .main-box-tbl__wrapper {
  margin-top: 1.5rem;
}
#service-single .main .button1 {
  width: 28rem;
  margin: 0 auto;
}
#service-single .main .button1__text {
  font-size: 1.6rem;
}
#service-single .link {
  margin: 0 auto;
  width: fit-content;
  padding-bottom: 10rem;
}
#service-single .link__title {
  background-color: #293339;
  color: #fff;
  line-height: 3.2rem;
  padding: 0 2rem;
  margin: 0 auto;
  width: fit-content;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  border-radius: 2px;
  letter-spacing: 0.14em;
  margin-bottom: 2rem;
}
#service-single .link__title::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #293339 transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
}
#service-single .link__text {
  width: fit-content;
  text-align: center;
  margin: 0 auto;
  line-height: 2;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}
#service-single .link__text--link {
  font-weight: bold;
  text-decoration: underline;
  margin-left: 1rem;
  font-size: 2rem;
  transition: 0.3s;
  color: #E27E25;
}
#service-single .link__text--link:hover {
  color: #C75E00;
}
#service-single .link__img {
  width: 39rem;
  margin: 2rem auto;
}
#service-single .link .button1 {
  width: 28rem;
  margin: 0 auto;
  padding: 1.45rem 0;
  justify-content: unset;
  padding-left: 5.5rem;
  box-sizing: border-box;
  background-color: #E27E25;
}
#service-single .link .button1:hover {
  background-color: #C75E00;
}
#service-single .link .button1__text {
  font-size: 1.6rem;
}
#service-single .link .button1__icon {
  color: #fff;
  font-size: 1.1rem;
  margin-right: 2.5rem;
}

#news-detail {
  padding-top: 9rem;
}
#news-detail .top {
  background-color: #3DA5E1;
  padding: 8rem 0;
}
#news-detail .top .subTop__title--en {
  color: #fff;
  opacity: 1;
}
#news-detail .main {
  padding: 10rem 0 12rem 0;
}
#news-detail .main-title {
  padding-bottom: 4rem;
  border-bottom: dashed #dedede 1px;
  letter-spacing: 0.04em;
}
#news-detail .main-title__text {
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 3rem;
}
#news-detail .main-title__date {
  color: #e27e25;
  font-weight: 500;
  font-size: 1.6rem;
}
#news-detail .main-content {
  padding: 6rem 0;
  border-bottom: dashed #dedede 1px;
}
#news-detail .main-content p {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.87;
}
#news-detail .main-content__img {
  display: block;
  height: 30rem;
  width: auto;
  margin: 0 auto;
  border-radius: 10px;
  margin-top: 4rem;
}
#news-detail .main-content__text02 {
  margin-top: 4rem;
}
#news-detail .main .other {
  padding-top: 8rem;
}
#news-detail .main .other-wrapper {
  display: flex;
  justify-content: space-between;
}
#news-detail .main .other-wrapper__link {
  width: 48%;
  border-radius: 4px;
  border: solid #d9d9d9 1px;
  transition: 0.3s;
  display: flex;
}
#news-detail .main .other-wrapper__link:hover {
  background-color: #f7f7f7;
}
#news-detail .main .other-wrapper__link--arrow {
  background-color: #f7f7f7;
  width: 7%;
  color: #d9d9d9;
}
#news-detail .main .other-wrapper__link--arrow i {
  position: relative;
  height: 100%;
  width: 100%;
}
#news-detail .main .other-wrapper__link--arrow i::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#news-detail .main .other-wrapper__link--arrow.left {
  border-right: solid #d9d9d9 1px;
  border-radius: 4px 0 0 4px;
}
#news-detail .main .other-wrapper__link--arrow.right {
  border-left: solid #d9d9d9 1px;
  border-radius: 0 4px 4px 0;
}
#news-detail .main .other-wrapper__link--text {
  width: 93%;
  padding: 1.7rem 2rem;
  letter-spacing: 0.04em;
}
#news-detail .main .other-wrapper__link--text---date {
  color: #e27e25;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
#news-detail .main .other-wrapper__link--text---title {
  color: #293339;
  font-size: 1.4rem;
  line-height: 1.57;
}
#news-detail .main .button1 {
  margin: 0 auto;
  margin-top: 8rem;
  width: 28rem;
  padding: 2.1rem 0;
}
#news-detail .main .button1__icon {
  font-size: 1.1rem;
  margin-right: 2.6rem;
}
#news-detail .main .button1__text {
  font-size: 1.6rem;
}

#news {
  padding-top: 9rem;
}
#news .top {
  background-color: #3DA5E1;
  padding: 8rem 0;
}
#news .top .subTop__title--en {
  color: #fff;
  opacity: 1;
}
#news .main {
  padding: 8rem 0 12rem 0;
}
#news .main__title {
  color: #fff;
  background-color: #293339;
  font-size: 1.6rem;
  width: fit-content;
  padding: 0 2rem;
  border-radius: 2px;
  height: 3.2rem;
  letter-spacing: 0.14em;
  align-items: center;
  position: relative;
  margin-bottom: 3rem;
  display: flex;
}
#news .main__title--span {
  font-size: 2rem;
  font-weight: bold;
}
#news .main__title::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #293339 transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
}
#news .main-lists {
  border-top: #dedede dashed 1px;
}
#news .main-lists__link {
  transition: 0.3s;
  display: block;
  box-sizing: border-box;
  padding: 2.3rem 0rem;
  border-bottom: #dedede dashed 1px;
  letter-spacing: 0.04em;
}
#news .main-lists__link.hidden {
  opacity: 0;
  height: 0;
  padding: 0;
  pointer-events: none;
}
#news .main-lists__link--date {
  color: #e27e25;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  font-weight: 500;
  transition: 0.3s;
}
#news .main-lists__link--date.hover2 {
  font-size: 1.3rem;
}
#news .main-lists__link--title {
  font-size: 1.6rem;
  line-height: 1.75;
  transition: 0.3s;
  color: #293339;
}
#news .main-lists__link--title.hover2 {
  font-size: 1.5rem;
}
#news .main-lists__link:hover {
  background-color: #f2f2f3;
  padding: 2.4rem 1rem;
}
#news .button1 {
  margin: 0 auto;
  margin-top: 6rem;
  width: 28rem;
  appearance: none;
  border: none;
  cursor: pointer;
}
#news .button1__icon {
  font-size: 1.1rem;
  margin-right: 2.6rem;
}
#news .button1__text {
  font-size: 1.6rem;
}

#contact {
  width: 100%;
  overflow-x: hidden;
  padding-top: 9rem;
}
#contact .top {
  padding: 8rem 0;
}
#contact .top .subTop__title--en {
  color: #293339;
  opacity: 1;
}
#contact .links {
  padding-bottom: 8rem;
  border-bottom: dashed 1px #dedede;
  text-align: center;
}
#contact .links .container {
  display: flex;
  align-items: center;
}
#contact .links__link {
  width: 42rem;
  display: inline-flex;
  border: #d9d9d9 solid 1px;
  height: 8.4rem;
  align-items: center;
  border-radius: 4.2rem;
  transition: 0.3s;
  padding-left: 5rem;
  box-sizing: border-box;
  position: relative;
}
#contact .links__link:hover {
  background-color: #f2f2f3;
}
#contact .links__link:first-of-type {
  margin-right: 1rem;
}
#contact .links__link--img {
  width: 5rem;
  margin-right: 3rem;
}
#contact .links__link--img.tel {
  width: 3.7rem;
}
#contact .links__link--text {
  color: #293339;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.14em;
  text-align: left;
  line-height: 1.3;
}
#contact .links__link--text .futura {
  font-size: 2rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  line-height: 1.3;
}
#contact .links__link--arrow {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
}
#contact .main {
  padding: 8rem 0 12rem 0;
}
#contact .main-top__title {
  font-size: 2.2rem;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.14em;
  background-color: #293339;
  width: fit-content;
  line-height: 3.4rem;
  border-radius: 2px;
  padding: 0 2rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 4rem;
}
#contact .main-top__title::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #293339 transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
}
#contact .main-top__img {
  display: block;
  width: 8rem;
  margin: 0 auto;
  margin-bottom: 7rem;
  position: relative;
  left: 0.9rem;
}
#contact .main-top__text {
  line-height: 1.87;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  width: fit-content;
  margin: 0 auto;
}
#contact .main-top__text .orange {
  color: #e27e25;
}
#contact .main .form {
  margin-top: 4rem;
  padding-bottom: 8rem;
  border-bottom: #dedede dashed 1px;
}
#contact .main .form .orange {
  position: relative;
  left: 0.2rem;
  color: #e27e25;
}
#contact .privacy .main {
  padding: 2rem 0;
}
#contact .privacy .main h2 {
  font-size: 2.4rem;
}
#contact .privacy .main h3 {
  font-size: 1.8rem;
  margin: 3rem 0 2rem;
}
#contact .form {
  max-width: 76rem;
  margin: 0 auto;
  /* スクロールの幅の設定 */
  /* スクロールの背景の設定 */
  /* スクロールのつまみ部分の設定 */
}
#contact .form-list {
  display: flex;
  margin-bottom: 1.5rem;
}
#contact .form-list__name {
  width: 22rem;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  padding: 1.7rem 0;
}
#contact .form-list__input, #contact .form-list__textarea {
  width: 54rem;
  border: none;
  background-color: #f7f7f7;
  border-radius: 2px;
  padding: 1.7rem 2rem;
  box-sizing: border-box;
}
#contact .form-list__input::placeholder, #contact .form-list__textarea::placeholder {
  letter-spacing: 0.04em;
  color: #acacac;
}
#contact .form-list .radioBtns {
  display: block;
}
#contact .form-list .radioBtns-label {
  display: block;
  margin-right: 3.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  position: relative;
  padding-left: 1rem;
  padding-top: 1.7rem;
}
#contact .form-list .radioBtns-label__input {
  opacity: 0;
  width: 0;
  height: 0;
}
#contact .form-list .radioBtns-label input[type=radio]:checked + span::after {
  opacity: 1;
}
#contact .form-list .radioBtns-label span {
  position: absolute;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background-color: #f2f2f3;
  border: #d9d9d9 solid 1px;
  left: 0;
}
#contact .form-list .radioBtns-label span::after {
  content: "";
  position: absolute;
  height: 1rem;
  width: 1rem;
  border-radius: 50%;
  background-color: #f17800;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
#contact .form-list.form-note {
  color: #F17800;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  font-weight: bold;
  margin-bottom: 1.3rem;
  margin-top: 3rem;
}
#contact .form-list.form-note .form-list__name {
  padding: 0;
}
#contact .form__text {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.87;
  width: fit-content;
  margin: 4rem auto;
}
#contact .form__scroll {
  width: 100%;
  height: 22rem;
  border: #d9d9d9 solid 1px;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.42;
  padding: 1rem;
  padding-right: 0.5rem;
}
#contact .form #scroll {
  overflow: scroll;
  height: 100%;
  padding-right: 0.5rem;
}
#contact .form #scroll::-webkit-scrollbar {
  width: 6px;
  height: 0;
}
#contact .form #scroll::-webkit-scrollbar-track {
  border-radius: 1px;
  background: #ededed;
}
#contact .form #scroll::-webkit-scrollbar-thumb {
  border-radius: 1px;
  background: #293339;
}
#contact .form-check {
  display: block;
  width: fit-content;
  margin: 4rem auto;
  font-size: 2rem;
  letter-spacing: 0.04em;
  position: relative;
  padding-left: 2rem;
}
#contact .form-check input {
  opacity: 0;
  height: 0;
  width: 0;
}
#contact .form-check input[type=checkbox]:checked + span::after {
  opacity: 1;
}
#contact .form-check span {
  position: absolute;
  width: 2rem;
  height: 2rem;
  border: solid 1px #cccccc;
  background-color: #f2f2f3;
  left: 0;
  top: 0;
}
#contact .form-check span::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.8rem;
  border-bottom: #293339 solid 0.4rem;
  border-right: #293339 solid 0.4rem;
  transform: rotate(45deg);
  top: 0.1rem;
  left: 0.5rem;
  opacity: 0;
}
#contact .form__submit {
  border: none;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 1.6rem;
  width: 28rem;
  cursor: pointer;
  margin: 0 auto;
}

#contact-thanks {
  padding-top: 9em;
}
#contact-thanks p {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.87;
}
#contact-thanks .top {
  padding: 10rem 0 8rem 0;
}
#contact-thanks .top__title {
  font-weight: bold;
  letter-spacing: 0.06em;
  font-size: 5.4rem;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 8rem;
}
#contact-thanks .top__text {
  width: fit-content;
  margin: 0 auto;
}
#contact-thanks .middle {
  padding: 8rem 0;
  border-top: #dedede dashed 1px;
  border-bottom: #dedede dashed 1px;
}
#contact-thanks .middle__title {
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.14em;
  background-color: #293339;
  width: fit-content;
  line-height: 3.2rem;
  border-radius: 2px;
  padding: 0 2rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 4rem;
}
#contact-thanks .middle__title::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #293339 transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
}
#contact-thanks .middle__text {
  text-align: center;
  margin-bottom: 5rem;
}
#contact-thanks .middle-lists {
  width: fit-content;
  margin: 0 auto;
}
#contact-thanks .middle-lists__inner {
  position: relative;
  padding-left: 2.9rem;
}
#contact-thanks .middle-lists__inner--img {
  position: absolute;
  width: 2.2rem;
  left: 0;
  top: 0.8rem;
}
#contact-thanks .bottom {
  text-align: center;
  padding: 8rem 0 12rem 0;
}
#contact-thanks .bottom__title {
  font-size: 2rem;
  letter-spacing: 0.04em;
  margin-bottom: 6rem;
}
#contact-thanks .bottom__link {
  width: 42rem;
  display: inline-flex;
  border: #d9d9d9 solid 1px;
  height: 8.4rem;
  align-items: center;
  border-radius: 4.2rem;
  transition: 0.3s;
  padding-left: 5rem;
  box-sizing: border-box;
  position: relative;
}
#contact-thanks .bottom__link:hover {
  background-color: #f2f2f3;
}
#contact-thanks .bottom__link--img {
  width: 5rem;
  margin-right: 3rem;
}
#contact-thanks .bottom__link--text {
  color: #293339;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.14em;
  text-align: left;
  line-height: 1.3;
}

/*********************************/
/*        PC Responsive          */
/*********************************/
/*********************************/
/*              SP               */
/*********************************/
@media (max-width: 768px) {
  #index {
    width: 100%;
    overflow-x: hidden;
  }
  #index .top-text {
    text-align: center;
    top: 40%;
  }
  #index .top-text__img1 {
    height: 2.2rem;
    margin: 0 auto;
    margin-bottom: 2rem;
  }
  #index .top-text__img2 {
    height: 3.2rem;
    margin: 0 auto;
    margin-bottom: 2rem;
    display: block;
  }
  #index .top-text__img3 {
    height: 4.9rem;
    margin: 0 auto;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5rem;
  }
  #index .top-text__img4 {
    height: 3.2rem;
    margin: 0 auto;
    display: inline-block;
    vertical-align: middle;
  }
  #index .top-images {
    width: 100%;
  }
  #index .top-images__img {
    object-position: 57%;
  }
  #index .top-images__bottom {
    width: 100%;
    bottom: -0.2rem;
  }
  #index .about {
    padding: 8rem 0;
  }
  #index .about__text {
    font-size: 1.6rem;
    margin-bottom: 7rem;
  }
  #index .about .container {
    width: 90%;
  }
  #index .about .button1__icon {
    font-size: 1.1rem;
  }
  #index .about .button1__text {
    font-size: 1.4rem;
  }
  #index .about__img1 {
    width: 12rem;
    left: -2rem;
    top: 2rem;
    transform: rotate(-3deg);
  }
  #index .about__img2 {
    width: 6rem;
    left: 1rem;
    bottom: 7.5rem;
  }
  #index .about__img3 {
    width: 5.5rem;
    top: 3rem;
  }
  #index .about__img4 {
    bottom: 5rem;
    right: -4rem;
    width: 16rem;
    transform: rotate(3deg);
  }
  #index .service {
    padding: 8rem 0;
  }
  #index .service-box {
    margin-top: 5.4rem;
    padding-bottom: 4rem;
  }
  #index .service-box .button1__icon {
    font-size: 1.1rem;
  }
  #index .service-box .button1__text {
    font-size: 1.4rem;
  }
  #index .service-box__top {
    height: 3rem;
  }
  #index .service-box__top::before {
    width: 6.6rem;
    height: 3.3rem;
    top: -2rem;
  }
  #index .service-box__top::after {
    width: 1.2rem;
    height: 1.2rem;
    bottom: 1.7rem;
  }
  #index .service-box-lists {
    padding-top: 4rem;
    width: 26rem;
  }
  #index .service-box-lists__text {
    line-height: 1.75;
    align-items: flex-start;
  }
  #index .service-box-lists__text--icon {
    height: 1.4rem;
    width: auto;
    position: relative;
    top: 0.9rem;
  }
  #index .service-box__img1 {
    left: 0;
    width: 12rem;
    transform: rotate(15deg);
  }
  #index .service-box__img2 {
    height: 11rem;
    right: 0;
    top: -6rem;
  }
  #index .news {
    padding: 8rem 0 10rem 0;
  }
  #index .news::before {
    width: 100%;
    height: 18.6rem;
  }
  #index .news .container {
    display: block;
  }
  #index .news .container .title1 {
    margin: 0 auto;
    margin-bottom: 8rem;
  }
  #index .news .container .title1__ja {
    margin: 0 auto;
  }
  #index .news-lists {
    width: 100%;
  }
  #index .news-lists .button1 {
    margin: 0 auto;
    margin-top: 4rem;
  }
  #index .news-lists .button1__icon {
    font-size: 1.1rem;
  }
  #index .news-lists .button1__text {
    font-size: 1.4rem;
  }
  #index .news-lists__link {
    display: block;
    padding: 2.5rem 0;
  }
  #index .news-lists__link--date {
    font-size: 1.2rem;
  }
  #index .news-lists__link--text {
    font-size: 1.4rem;
    width: 100%;
  }
  #about .message {
    padding-top: 21rem;
  }
  #about .message .container {
    width: 90%;
    padding-bottom: 25rem;
  }
  #about .message__img1 {
    width: 16rem;
    top: -16rem;
    left: -2.5rem;
  }
  #about .message__img2 {
    width: 17rem;
    left: -2.5rem;
    bottom: 11rem;
    top: inherit;
  }
  #about .message__img3 {
    width: 14rem;
    right: -2.5rem;
    bottom: 8rem;
    left: inherit;
    top: inherit;
  }
  #about .message__img6 {
    width: 13.4rem;
    top: -13rem;
    right: -2.5rem;
  }
  #about .message__text {
    margin-top: 4rem;
    font-size: 1.4rem;
  }
  #about .mission {
    padding: 8rem 0;
    position: relative;
  }
  #about .mission__img {
    width: 8rem;
    left: 5%;
    top: -4.5rem;
    position: absolute;
  }
  #about .mission .container {
    position: inherit;
    top: 0;
    left: 0;
    transform: unset;
    width: 90%;
  }
  #about .mission .slick01 {
    position: inherit;
    left: 0;
    top: 0;
    margin-top: 4rem;
    width: 95%;
    height: auto;
  }
  #about .mission .slick01-slide__img {
    height: auto;
  }
  #about .mission .slick01 .slick-list {
    height: auto;
    object-position: 50% 30%;
  }
  #about .mission-text {
    padding-top: 2rem;
    padding-bottom: 0;
  }
  #about .mission-text__title {
    width: 100%;
    font-size: 2rem;
  }
  #about .mission-text__text {
    width: 100%;
    margin-top: 4rem;
    font-size: 1.4rem;
  }
  #about .company {
    padding: 8rem 0 10rem 0;
  }
  #about .company__img {
    width: 7rem;
    top: -11rem;
  }
  #about .company-lists {
    margin-top: 4rem;
  }
  #about .company-lists__list {
    flex-wrap: wrap;
  }
  #about .company-lists__list--left {
    width: 30%;
    font-size: 1.4rem;
  }
  #about .company-lists__list--right {
    width: 70%;
    font-size: 1.4rem;
  }
  #about .company-lists__list .map {
    display: block;
    width: 100%;
  }
  #about .company-lists__list .map.forPc {
    display: none;
  }
  #about .company-lists__list .map.forSp {
    display: block;
  }
  #about .company-lists__list .map-container {
    margin-top: 2rem;
    display: block;
    width: 100%;
  }
  #about .company-lists__list .map-container::before {
    display: none;
  }
  #about .company-lists__list .map-container__map:hover {
    opacity: 1;
  }
  #service .main {
    padding: 2rem 0 10rem 0;
  }
  #service .main-list {
    margin-top: 6rem;
  }
  #service .main-list .button1 {
    width: 20rem;
    margin: 0 auto;
  }
  #service .main-list .button1__icon {
    font-size: 1.1rem;
  }
  #service .main-list .button1__text {
    font-size: 1.4rem;
  }
  #service .main-list__wrapper {
    padding-left: 0;
    display: block;
  }
  #service .main-list__wrapper--img {
    width: 17rem;
    height: auto;
    margin: 0 auto;
    margin-bottom: 2rem;
  }
  #service .main-list__wrapper--text {
    width: 100%;
    margin-bottom: 3rem;
  }
  #service .main-list__wrapper--text---title {
    margin: 0 auto;
    margin-bottom: 3.5rem;
  }
  #service .main-list__wrapper--text---text {
    font-size: 1.4rem;
  }
  #service-single {
    padding-top: 6.5rem;
  }
  #service-single .top-title__sub {
    margin-bottom: 2rem;
    width: 19rem;
  }
  #service-single .top-title__sub--img {
    height: 1.6rem;
  }
  #service-single .top-title__sub--text {
    font-size: 1.6rem;
  }
  #service-single .top-title__main {
    height: 2.4rem;
  }
  #service-single .top .top__img {
    height: 24rem;
    width: 100%;
    object-fit: cover;
  }
  #service-single .lead {
    padding: 5rem 0 6rem 0;
  }
  #service-single .lead.resources {
    padding-bottom: 6rem;
  }
  #service-single .lead__title {
    font-size: 2rem;
  }
  #service-single .lead__title::before {
    font-size: 3.5rem;
    left: -5.2rem;
    top: -1rem;
  }
  #service-single .lead__title::after {
    font-size: 3.5rem;
    right: -5rem;
    bottom: -1rem;
  }
  #service-single .lead__text {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
  #service-single .lead.business .lead__title {
    margin-top: 4rem;
  }
  #service-single .link {
    padding-bottom: 8rem;
  }
  #service-single .link__title {
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
  #service-single .link__text {
    font-size: 1.6rem;
  }
  #service-single .link__text--link {
    padding-top: 1rem;
    display: block;
    width: fit-content;
    margin: 0 auto;
    font-size: 1.6rem;
  }
  #service-single .link__text .left {
    text-align: left;
    display: block;
    margin-top: 2rem;
    font-size: 1.4rem;
  }
  #service-single .link__img {
    width: 90%;
    margin-top: 1rem;
  }
  #service-single .link .button1 {
    padding: 2rem 0;
    padding-left: 6.3rem;
  }
  #service-single .link .button1__text {
    font-size: 1.4rem;
  }
  #service-single .main {
    padding-bottom: 10rem;
  }
  #service-single .main .button1__icon {
    margin-right: 2rem;
    font-size: 2.4rem;
  }
  #service-single .main-box {
    padding-bottom: 3rem;
    margin-bottom: 5rem;
  }
  #service-single .main-box:last-of-type {
    margin-bottom: 4rem;
  }
  #service-single .main-box__top::before {
    width: 6.6rem;
    height: 3.3rem;
    top: -1.7rem;
  }
  #service-single .main-box__top::after {
    width: 1.2rem;
    bottom: 1.5rem;
    height: 1.2rem;
  }
  #service-single .main-box__title {
    margin-top: 2.5rem;
    font-size: 1.8rem;
  }
  #service-single .main-box__title.forPc {
    display: none;
  }
  #service-single .main-box__title.border {
    margin: 0 auto;
    margin-top: 0.6rem;
    font-size: 1.6rem;
    display: block;
    width: fit-content;
  }
  #service-single .main-box__title.forSp {
    display: inline-block;
  }
  #service-single .main-box__title.min {
    margin: 0 auto;
    margin-top: 0.6rem;
    display: block;
    width: fit-content;
  }
  #service-single .main-box__lead {
    padding: 0 1.5rem;
    font-size: 1.4rem;
    margin-top: 2rem;
    text-align: left;
  }
  #service-single .main-box-text {
    padding: 0 1.5rem;
    margin-top: 2.5rem;
    font-size: 1.4rem;
  }
  #service-single .main-box-text .ttl {
    font-size: 1.8rem;
  }
  #service-single .main-box-text__wrapper {
    display: block;
  }
  #service-single .main-box-text__wrapper::before {
    display: none;
  }
  #service-single .main-box-text__wrapper--container {
    display: block;
    width: 100%;
  }
  #service-single .main-box-text__wrapper--container:first-of-type {
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: dashed #dedede 1px;
  }
  #service-single .main-box-text__wrapper--container---title {
    font-size: 1.6rem;
    line-height: 3rem;
    margin-bottom: 1.7rem;
  }
  #service-single .main-box-text .center {
    text-align: left;
  }
  #service-single .main-box-text__list {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
  #service-single .main-box-text__list--text {
    padding-left: 0;
  }
  #service-single .main-box-text__list--title {
    font-size: 1.6rem;
  }
  #service-single .main-box-text__list--title .number {
    width: 2rem;
    height: 2rem;
    font-size: 1.2rem;
    line-height: 2rem;
    padding-left: 0;
  }
  #service-single .main-box-text__list--title .check {
    height: 2rem;
    width: 2.1rem;
  }
  #service-single .main-box-tbl {
    width: 700px;
  }
  #service-single .main-box-tbl th, #service-single .main-box-tbl td {
    font-size: 1.4rem;
  }
  #service-single .main-box-tbl__wrapper {
    width: 100%;
    overflow-x: auto;
    margin-top: 2rem;
  }
  #news {
    padding-top: 6.5rem;
  }
  #news .top {
    padding: 6rem 0 3rem 0;
  }
  #news .main {
    padding: 4rem 0 10rem 0;
  }
  #news .main__title {
    height: 3rem;
  }
  #news .main__title--span {
    font-size: 1.8rem;
  }
  #news .main-lists__link {
    padding: 2.5rem 0;
  }
  #news .main-lists__link:hover {
    padding: 2.5rem 0;
  }
  #news .main-lists__link--date {
    font-size: 1.2rem;
  }
  #news .main-lists__link--date.hover2 {
    font-size: 1.2rem;
  }
  #news .main-lists__link--title {
    font-size: 1.4rem;
  }
  #news .main-lists__link--title.hover2 {
    font-size: 1.4rem;
  }
  #news .button1 {
    padding: 1.8rem 0;
  }
  #news .button1__text {
    font-size: 1.4rem;
  }
  #news-detail {
    padding-top: 6.5rem;
  }
  #news-detail .top {
    padding: 6rem 0 3rem 0;
  }
  #news-detail .main {
    padding: 4rem 0 10rem 0;
  }
  #news-detail .main-title__text {
    font-size: 1.6rem;
    margin-bottom: 2.5rem;
  }
  #news-detail .main-title__date {
    font-size: 1.4rem;
  }
  #news-detail .main-content {
    padding: 4rem 0;
  }
  #news-detail .main-content p {
    font-size: 1.4rem;
  }
  #news-detail .main-content__img {
    width: 100%;
    height: auto;
    border-radius: 4px;
  }
  #news-detail .main .other {
    padding-top: 6rem;
  }
  #news-detail .main .other-wrapper__link {
    width: 48%;
  }
  #news-detail .main .other-wrapper__link--arrow {
    width: 13%;
  }
  #news-detail .main .other-wrapper__link--text {
    width: 87%;
    padding: 3rem 0;
  }
  #news-detail .main .other-wrapper__link--text---sp {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    text-align: center;
  }
  #news-detail .main .button1 {
    margin-top: 4rem;
  }
  #news-detail .main .button1__text {
    font-size: 1.4rem;
  }
  #contact {
    padding-top: 6.5rem;
  }
  #contact .top {
    padding: 6rem 0 4rem 0;
    position: relative;
  }
  #contact .top__img {
    position: absolute;
    width: 7rem;
    right: 5%;
    top: 2.5rem;
  }
  #contact .links {
    max-width: 37rem;
    margin: 0 auto;
    padding-bottom: 4rem;
  }
  #contact .links .container {
    display: block;
  }
  #contact .links__link {
    width: 100%;
    margin-right: 0 !important;
    padding-left: 3rem;
    height: 8rem;
    margin-bottom: 2rem;
  }
  #contact .links__link:hover {
    background-color: #fff;
  }
  #contact .links__link:last-of-type {
    margin-top: 0;
    background-color: #f2f2f3;
  }
  #contact .links__link--img {
    width: 3.8rem;
    margin-right: 2rem;
  }
  #contact .links__link--img.tel {
    margin-right: 3rem;
    width: 2.7rem;
    position: relative;
    left: 0.7rem;
  }
  #contact .links__link--text {
    font-size: 1.6rem;
  }
  #contact .links__link--text .futura {
    font-size: 1.8rem;
    line-height: 1;
  }
  #contact .main {
    padding: 6rem 0 10rem 0;
  }
  #contact .main-top__title {
    font-size: 2rem;
    line-height: 3.2rem;
    margin-bottom: 3rem;
  }
  #contact .main-top__img {
    margin-bottom: 4rem;
  }
  #contact .main-top__text {
    font-size: 1.4rem;
  }
  #contact .main .form {
    border: unset;
    padding-bottom: 0;
  }
  #contact .main .form-list {
    display: block;
    margin-bottom: 3rem;
  }
  #contact .main .form-list.radio {
    padding-top: 1rem;
    transition: 0.2s;
  }
  #contact .main .form-list.radio .wpcf7-list-item:hover {
    opacity: 0.5;
  }
  #contact .main .form-list__name {
    width: 100%;
    font-size: 1.4rem;
    padding: 0;
    padding-bottom: 0.8rem;
  }
  #contact .main .form-list__input, #contact .main .form-list__textarea {
    padding: 1.7rem 1.5rem;
    font-size: 1.4rem;
    width: 100%;
  }
  #contact .main .form-list .radioBtns {
    padding-bottom: 1rem;
    display: block;
  }
  #contact .main .form-list .radioBtns-label {
    display: inline-block;
    margin-right: 4rem;
  }
  #contact .main .form-list.form-note {
    color: #F17800;
    font-size: 1.4rem;
    line-height: 1.57;
    letter-spacing: 0.04em;
    font-weight: bold;
    margin-bottom: 1.3rem;
    margin-top: 3rem;
  }
  #contact .main .form-list.form-note .form-list__name {
    display: none;
  }
  #contact .main .form__text {
    margin: 3rem auto;
    font-size: 1.4rem;
  }
  #contact .main .form-check {
    margin: 3rem auto;
    font-size: 1.6rem;
    padding-left: 1.5rem;
  }
  #contact .main .form-check span {
    width: 1.6rem;
    height: 1.6rem;
  }
  #contact .main .form-check input[type=checkbox]:checked + span::after {
    width: 0.4rem;
    height: 0.7rem;
    border-bottom: #293339 solid 0.2rem;
    border-right: #293339 solid 0.2rem;
    left: 0.4rem;
  }
  #contact .main .form__submit {
    font-size: 1.4rem;
    padding: 1.85rem 0;
  }
  #contact .privacy .main {
    padding: 2rem 0;
  }
  #contact .privacy .main h2 {
    font-size: 2rem;
    line-height: 1.5;
  }
  #contact .privacy .main h3 {
    font-size: 1.6rem;
    margin: 3rem 0 2rem;
  }
  #contact-thanks {
    padding-top: 6.4rem;
  }
  #contact-thanks .top {
    padding: 6rem 0 4rem 0;
  }
  #contact-thanks .top__title {
    font-size: 3.4rem;
    margin-bottom: 4rem;
  }
  #contact-thanks .top__text {
    font-size: 1.4rem;
  }
  #contact-thanks .middle {
    padding: 4rem 0;
  }
  #contact-thanks .middle__title {
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
  #contact-thanks .middle__text {
    font-size: 1.4rem;
    margin-bottom: 4rem;
    width: 100%;
    text-align: left;
  }
  #contact-thanks .middle-lists__inner {
    font-size: 1.4rem;
    margin-top: 2.5rem;
  }
  #contact-thanks .middle-lists__inner--img {
    width: 1.9rem;
  }
  #contact-thanks .bottom {
    padding: 4rem 0 10rem 0;
  }
  #contact-thanks .bottom__title {
    font-size: 1.4rem;
    text-align: left;
    margin-bottom: 4rem;
    line-height: 1.85;
  }
  #contact-thanks .bottom__link {
    width: 100%;
    margin-right: 0 !important;
    padding-left: 3rem;
    height: 8rem;
    margin-bottom: 2rem;
    margin: 0 auto;
    max-width: 34rem;
    background-color: #f2f2f3;
  }
  #contact-thanks .bottom__link--img {
    width: 3.8rem;
    margin-right: 2rem;
  }
  #contact-thanks .bottom__link--text {
    font-size: 1.6rem;
  }
}
.privacy .subTop__title--ja {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3125;
  letter-spacing: 0.1em;
}
.privacy .main h2 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.125;
  letter-spacing: 0.04em;
  margin-bottom: 5rem;
}
.privacy .main h2 span {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 1rem;
}
.privacy .main h3 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin: 4.5rem 0 4rem;
}
.privacy .main ul {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.04em;
  margin-top: 2.4rem;
}
.privacy .main ul + p {
  margin-top: 12.5rem;
}
.privacy .main p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .privacy .subTop__title--en {
    margin-top: 1rem;
  }
  .privacy .main h2 {
    font-size: 2.4rem;
    line-height: 1.16667;
  }
  .privacy .main h3 {
    font-size: 1.8rem;
    line-height: 1.55;
    margin: 3.2rem 0 4rem;
  }
  .privacy .main ul {
    font-size: 1.4rem;
  }
  .privacy .main ul + p {
    margin-top: 6rem;
  }
  .privacy .main p {
    font-size: 1.4rem;
  }
}

.wpcf7-response-output {
  display: none;
}

.formErrorContent {
  font-size: 1.3rem;
  line-height: 1;
  margin-top: 0.8rem;
  color: #DA4432;
}

.is-error .wpcf7-validates-as-required,
.is-error .are,
.is-error .policy-checkbox .wpcf7-list-item-label:before {
  border-color: #DA4432 !important;
  background-color: #FFEAEA !important;
}

.is-error input::-webkit-input-placeholder,
.is-error input::-moz-placeholder,
.is-error input::-ms-placeholder,
.is-error input::placeholder {
  color: #DA4432 !important;
  opacity: 1;
}

.is-error .wpcf7-validates-as-required::-webkit-input-placeholder, .is-error .wpcf7-validates-as-required::-moz-placeholder, .is-error .wpcf7-validates-as-required::-ms-placeholder, .is-error .wpcf7-validates-as-required::placeholder {
  color: #DA4432 !important;
}

.wpcf7-not-valid-tip {
  display: none !important;
}/*# sourceMappingURL=style.css.map */