.title .ja,
.title .en {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

#mainVisual {
  background: center/cover no-repeat url("../img/main_visual.jpg");
}

#mainVisual .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

#mainVisual .mainVisual__bg {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 75%;
  max-width: 600px;
  padding-top: 51px;
  padding-bottom: 21px;
}

#mainVisual .mainVisual__text {
  font: 400 3em/1.5em "Noto Sans JP";
  letter-spacing: 0.05em;
  color: #ffffff;
  padding: 292px 0px;
  text-shadow: 0px 0px 10px #000000;
  z-index: 1;
  margin-left: 660px;
}

@media screen and (max-width: 1080px) {
  #mainVisual .container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  #mainVisual .mainVisual__text {
    margin: 0 16px 0 0;
  }
}

@media screen and (max-width: 954px) {
  #mainVisual {
    font-size: 11px;
  }
  #mainVisual .container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #mainVisual .mainVisual__bg {
    padding: 0;
    max-width: 400px;
    width: 100%;
  }
  #mainVisual .mainVisual__text {
    margin: 0;
    padding: 6em 16px;
  }
}

#index__message {
  background: top center/cover no-repeat url("../img/index_message_bg.png");
}

#index__message .desc {
  font: 300 1.5em/2em "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 56px;
}

@media screen and (max-width: 954px) {
  #index__message .desc {
    font-size: 14px;
  }
}

#index__message #index__news {
  margin-top: 60px;
  position: relative;
}

#index__message #index__news .box__title {
  width: 360px;
  height: 360px;
  background: top center/cover no-repeat url("../img/index_news_bg.png");
  padding: 140px 64px;
}

#index__message #index__news .title {
  color: #ffffff;
  text-align: left;
}

#index__message #index__news .title .en {
  color: #ffffff;
}

#index__message #index__news .index__news__list {
  width: calc(100% - 280px);
  float: right;
  margin-top: -280px;
  padding: 72px 80px;
}

#index__message #index__news .index__news__list a {
  display: block;
}

#index__message #index__news .index__news__list li {
  margin-bottom: 28px;
  border-bottom: 1px solid #dddddd;
}

#index__message #index__news .index__news__list li time {
  font-size: 1.125em;
  letter-spacing: 0.05em;
}

#index__message #index__news .index__news__list li p {
  margin-top: 6px;
  margin-bottom: 32px;
  letter-spacing: 0.05em;
  font-size: 1.125em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

#index__message #index__news .index__news__list .btn {
  width: 140px;
  margin-top: 40px;
}

@media screen and (max-width: 954px) {
  #index__message #index__news .box__title {
    width: 200px;
    height: 120px;
    padding: 24px;
    margin-left: -8px;
  }
  #index__message #index__news .index__news__list {
    width: 98%;
    padding: 32px 16px;
    margin-top: -24px;
  }
  #index__message #index__news .index__news__list li time,
  #index__message #index__news .index__news__list li p {
    font-size: 14px;
    margin-bottom: 16px;
  }
}

#index__service {
  padding-top: 24px;
}

#index__service .index__service {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#index__service .index__service li {
  padding: 95px 0px;
  text-align: center;
}

@media screen and (max-width: 954px) {
  #index__service .index__service li {
    height: unset;
    padding: 40px 0px;
    margin-bottom: 16px;
  }
}

#index__service .index__service .bgGold {
  background-color: rgba(144, 126, 96, 0.9);
  background-blend-mode: soft-light;
  width: 90%;
  max-width: 360px;
  min-height: 200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 954px) {
  #index__service .index__service .bgGold {
    height: unset;
    padding: 2em 0em;
  }
}

#index__service .index__service .bgGold:hover {
  opacity: 1;
}

#index__service .index__service .bgGold:hover .btn {
  opacity: 0.5;
}

#index__service .index__service .bgGold .btn {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  margin-top: 16px;
  z-index: 1;
}

@media all and (-ms-high-contrast: none) {
  #index__service .index__service .bgGold .btn {
    margin: 16px 0px 0px;
  }
}

#index__service .index__service .bgGold .deco {
  position: absolute;
  font: 100 9.375em/1em "Noto Sans JP", sans-serif;
  bottom: -40px;
  opacity: 0.2;
  mix-blend-mode: soft-light;
  left: 0;
  right: 0;
}

#index__service .index__service.bigSize li {
  width: 100%;
}

#index__service .index__service.bigSize .bgGold {
  max-width: 555px;
}

@media screen and (max-width: 954px) {
  #index__service .index__service.bigSize .bgGold {
    max-width: 360px;
  }
}

#index__service .index__service.midSize {
  margin-top: 10px;
}

#index__service .index__service.midSize li {
  width: calc(50% - 6px);
}

@media screen and (max-width: 954px) {
  #index__service .index__service.midSize li {
    width: 100%;
  }
}

@media screen and (max-width: 954px) {
  #index__service .index__service.midSize {
    margin-top: 0px;
  }
}

#index__service .index__service .block1 {
  background: center/cover no-repeat url("../img/index_service_cst01.jpg");
}

#index__service .index__service .block1 .deco {
  left: 0;
}

#index__service .index__service .block1 .btn {
  background: #fb2f2a;
}

#index__service .index__service .block2 {
  background: center/cover no-repeat url("../img/index_service_cst02.jpg");
}

#index__service .index__service .block2 .deco {
  letter-spacing: 0.05em;
}

#index__service .index__service .block2 .btn {
  background: #02ceae;
}

#index__service .index__service .block3 {
  background: center/cover no-repeat url("../img/index_service_cst03.jpg");
}

#index__service .index__service .block3 .deco {
  font-size: 7.5em;
  bottom: -32px;
}

#index__service .index__service .block3 .btn {
  background: #fb7505;
}

#index__service .index__service .block4 {
  background: center/cover no-repeat url("../img/index_service_cst04.jpg");
}

#index__service .index__service .block4 .deco {
  font-size: 7.5em;
  bottom: -32px;
  left: -24px;
}

#index__service .index__service .block4 .btn {
  background: #53aa1d;
}

#index__service .index__service .block5 {
  background: center/cover no-repeat url("../img/index_service_cst05.jpg");
}

#index__service .index__service .block5 .deco {
  font-size: 7.5em;
  bottom: -32px;
  left: -24px;
}

#index__service .index__service .block5 .btn {
  background: #0048a6;
}

#index__service .index__service__title {
  width: 100%;
  font: 400 2.25em/1.333em "Noto Sans JP", sans-serif;
  text-shadow: 0px 0px 6px #000000;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 954px) {
  #index__service .index__service__title {
    font-size: 26px;
  }
}

#index__case {
  margin-top: 40px;
  background: center center/cover no-repeat url("../img/index_case_bg.jpg");
  width: 100%;
  min-height: 250px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  color: #ffffff;
}

#index__case .btn {
  max-width: 140px;
  margin-top: 16px;
}

#index__case p {
  text-align: center;
  font: 400 1.875em "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  text-shadow: 0px 0px 6px #000000;
  width: 100%;
}

#index__case .inner {
  max-width: 1120px;
}

#index__contact {
  margin-top: 80px;
  background: center center/cover no-repeat url("../img/index_contact_bg.jpg");
  width: 100%;
  min-height: 350px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#index__contact .contact__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 40px;
  min-height: 150px;
}

#index__contact .contact__box p {
  font: 400 1.5em "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  display: inline-block;
  margin-right: 16px;
}

#index__contact .contact__box .btn {
  display: inline-block;
  width: 240px;
  padding: 19px 40px;
  font-size: 1.375em;
}

@media screen and (max-width: 954px) {
  #index__contact .contact__box {
    width: 90%;
    max-width: 640px;
    padding: 16px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 12px;
    min-height: unset;
  }
  #index__contact .contact__box p {
    width: 100%;
    text-align: center;
    margin: 0;
  }
  #index__contact .contact__box .btn {
    display: block;
    width: 200px;
    margin-top: 8px;
  }
}

#index__company {
  margin-top: 76px;
  padding-bottom: 120px;
  background: bottom center/cover no-repeat url("../img/index_company_bg.jpg");
}

#index__company .title {
  padding-top: 32px;
}

#index__company ul {
  margin-top: 72px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#index__company ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 77px 0px;
  width: calc(33.33% - 30px);
  position: relative;
  z-index: 0;
  position: relative;
}

@media screen and (max-width: 954px) {
  #index__company ul {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  #index__company ul li {
    width: 100%;
    max-width: 320px;
    margin: 16px 4px;
    padding: 32px 0px;
  }
}

#index__company .index__company__logo.logo1 {
  width: 60px;
}

#index__company .index__company__logo.logo2 {
  width: 51px;
}

#index__company .index__company__logo.logo3 {
  width: 45px;
}

#index__company .index__company__title {
  width: 100%;
  text-align: center;
  margin-top: 20px;
  font: 600 1.875em "Yu Mincho", "YuMincho", serif;
}

#index__company .btn {
  margin-top: 18px;
}

@media all and (-ms-high-contrast: none) {
  #index__company .btn {
    margin: 12px 0px 0px;
  }
}
/*# sourceMappingURL=index.min.css.map */