html {
  font-size: 0.7320644217vw;
}

body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: clamp(14.88px, 1.6rem, 16px);
  font-weight: 300;
  letter-spacing: 0em;
  text-align: justify;
  text-justify: inter-character;
  word-break: break-all;
}

.en {
  font-family: "Outfit", sans-serif;
}

.wrap {
  overflow: hidden;
}

.header > .inner {
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
}
@media screen and (min-width: 1280px) {
  .header > .inner {
    padding-right: 0;
  }
}
.header > .inner > .inner02 {
  justify-content: space-between;
  padding-bottom: 20px;
  padding-top: 20px;
}
@media screen and (min-width: 1280px) {
  .header > .inner > .inner02 {
    padding-bottom: 0;
    padding-top: 0;
  }
}
.header > .inner > .inner02 > .h-unit:nth-of-type(1) {
  width: clamp(150px, 25rem, 250px);
}
.header > .inner > .inner02 > .h-unit:nth-of-type(2) {
  text-align: right;
  width: calc(100% - clamp(150px, 25rem, 250px));
}
.header > .inner > .inner02 > .h-unit:nth-of-type(2) > .link-A {
  margin-right: clamp(37.5px, 5rem, 50px);
}

.mainvisual {
  background-color: #CCC;
  margin-bottom: clamp(180px, 24rem, 240px);
}
@media screen and (min-width: 1280px) {
  .mainvisual {
    margin-bottom: clamp(90px, 12rem, 120px);
  }
}
.mainvisual > .inner {
  position: relative;
}
.mainvisual > .inner > .box {
  align-items: flex-end;
  bottom: clamp(-180px, -24rem, -240px);
  justify-content: space-between;
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
  position: absolute;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 1280px) {
  .mainvisual > .inner > .box {
    bottom: clamp(-90px, -12rem, -120px);
  }
}
.mainvisual > .inner > .box > .catch {
  margin-bottom: clamp(22.5px, 3rem, 30px);
}
@media screen and (min-width: 1280px) {
  .mainvisual > .inner > .box > .catch {
    margin-bottom: 0;
  }
}
.mainvisual > .inner > .box > .txt {
  font-size: clamp(14.88px, 1.6rem, 16px);
  line-height: 1.75;
}
.mainvisual > .inner > .inner02 {
  height: clamp(375px, 50rem, 500px);
  overflow: hidden;
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
  position: relative;
}
@media screen and (min-width: 1280px) {
  .mainvisual > .inner > .inner02 {
    aspect-ratio: 64/25;
    height: auto;
  }
}
.mainvisual > .inner > .inner02 > .movie > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.section-service > .inner {
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
}
.section-service > .inner > .inner02 {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: clamp(70px, 16rem, 160px);
  padding-top: clamp(30px, 5rem, 50px);
}
.section-service > .inner > .inner02 > .head-A {
  margin-bottom: clamp(19.98px, 6rem, 60px);
}
.section-service > .inner > .inner02 > .unit {
  margin-bottom: clamp(29.96px, 7rem, 70px);
}
.section-service > .inner > .inner02 > .unit:last-child {
  margin-bottom: 0;
}
.section-service > .inner > .inner02 > .unit > .num-A {
  margin-bottom: clamp(15px, 2rem, 20px);
}
@media screen and (min-width: 1280px) {
  .section-service > .inner > .inner02 > .unit > .num-A {
    display: none;
  }
}
.section-service > .inner > .inner02 > .unit > .read-A {
  margin-bottom: clamp(19.98px, 3rem, 30px);
}
@media screen and (min-width: 1280px) {
  .section-service > .inner > .inner02 > .unit > .read-A {
    display: none;
  }
}
.section-service > .inner > .inner02 > .unit > .img {
  margin-bottom: clamp(26.25px, 3.5rem, 35px);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media screen and (min-width: 1280px) {
  .section-service > .inner > .inner02 > .unit > .img {
    margin-bottom: 0;
    width: calc(100% - clamp(435px, 58rem, 580px));
  }
}
@media screen and (min-width: 1280px) {
  .section-service > .inner > .inner02 > .unit.fl:not(.fl-) > .img {
    margin-right: 0;
  }
  .section-service > .inner > .inner02 > .unit.fl:not(.fl-) > .unit-inner {
    padding-left: clamp(82.5px, 11rem, 110px);
  }
  .section-service > .inner > .inner02 > .unit.fl- > .img {
    margin-left: 0;
  }
  .section-service > .inner > .inner02 > .unit.fl- > .unit-inner {
    padding-right: clamp(82.5px, 11rem, 110px);
  }
}
@media screen and (min-width: 1280px) {
  .section-service > .inner > .inner02 > .unit > .unit-inner {
    width: clamp(435px, 58rem, 580px);
  }
}
.section-service > .inner > .inner02 > .unit > .unit-inner > .num-A {
  margin-bottom: clamp(15px, 2rem, 20px);
  display: none;
}
@media screen and (min-width: 1280px) {
  .section-service > .inner > .inner02 > .unit > .unit-inner > .num-A {
    display: block;
  }
}
.section-service > .inner > .inner02 > .unit > .unit-inner > .read-A {
  margin-bottom: clamp(19.98px, 3rem, 30px);
  display: none;
}
@media screen and (min-width: 1280px) {
  .section-service > .inner > .inner02 > .unit > .unit-inner > .read-A {
    display: block;
  }
}
.section-service > .inner > .inner02 > .unit > .unit-inner > .txt {
  line-height: 1.75;
}

.section-banner > .inner > .inner02 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
}
@media screen and (min-width: 1280px) {
  .section-banner > .inner > .inner02 > .box-A {
    padding-left: clamp(480px, 64rem, 640px);
  }
}
.section-banner > .inner > .inner02 > .box-A > .read-B {
  margin-bottom: clamp(19.98px, 3rem, 30px);
}
.section-banner > .inner > .inner02 > .box-A > .txt {
  line-height: 1.75;
}
.section-banner > .inner > .inner02 > .box-A > .txt > a {
  color: #32769A;
}

.section-environment > .inner {
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
}
.section-environment > .inner > .inner02 {
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(49.98px, 14rem, 140px);
  max-width: 1280px;
}
.section-environment > .inner > .inner02 > .head-A {
  margin-bottom: clamp(30px, 5rem, 50px);
}
.section-environment > .inner > .inner02 > .txt {
  line-height: 1.75;
  margin-bottom: clamp(30px, 4rem, 40px);
  text-align: center;
}
.section-environment > .inner > .inner02 > .box-B {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media screen and (min-width: 1280px) {
  .section-environment > .inner > .inner02 > .box-B {
    margin-left: 0;
    margin-right: 0;
  }
}
.section-environment > .inner > .inner02 > .box-B > .unit > a > .inner > .tit {
  margin-bottom: clamp(15px, 2rem, 20px);
}
.section-environment > .inner > .inner02 > .box-B > .unit > a > .inner > .txt {
  margin-bottom: clamp(15px, 2rem, 20px);
}
.section-environment > .inner > .inner02 > .box-B > .unit > a > .inner > .btn-B {
  margin-left: auto;
}
@media screen and (min-width: 1280px) {
  .section-environment > .inner > .inner02 > .box-B > .unit {
    width: 50%;
  }
}

@media screen and (min-width: 1280px) {
  .footer > .inner {
    padding-left: clamp(15px, 2.4rem, 24px);
    padding-right: clamp(15px, 2.4rem, 24px);
  }
}
.footer > .inner > .inner02 {
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 {
    padding-top: clamp(60px, 8rem, 80px);
    margin-left: auto;
    margin-right: auto;
    max-width: 1280px;
  }
}
.footer > .inner > .inner02 > .inner03:nth-of-type(1) {
  margin-bottom: clamp(50px, 10rem, 100px);
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
  padding-top: clamp(30px, 8rem, 80px);
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 > .inner03:nth-of-type(1) {
    margin-bottom: 0;
    padding-bottom: clamp(30px, 8rem, 80px);
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
  }
}
.footer > .inner > .inner02 > .inner03:nth-of-type(2) {
  padding-bottom: clamp(30px, 8rem, 80px);
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 > .inner03:nth-of-type(2) {
    padding-left: 0;
    padding-right: 0;
    text-align: right;
  }
}
.footer > .inner > .inner02 > .inner03:nth-of-type(3) {
  width: 100%;
}
.footer > .inner > .inner02 > .inner03 > .ci {
  margin-bottom: 20px;
}
.footer > .inner > .inner02 > .inner03 > .address {
  margin-bottom: clamp(10px, 2rem, 20px);
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 > .inner03 > .address {
    line-height: 1.5;
    margin-bottom: clamp(52.5px, 7rem, 70px);
  }
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 > .inner03 > .txt {
    line-height: 1.5;
  }
}
.footer > .inner > .inner02 > .inner03 > .f-navi {
  margin-bottom: clamp(30px, 6rem, 60px);
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 > .inner03 > .f-navi {
    margin-bottom: clamp(123.75px, 16.5rem, 165px);
  }
}
.footer > .inner > .inner02 > .inner03 > .f-navi > .item {
  display: block;
  margin-bottom: clamp(10px, 2rem, 20px);
}
.footer > .inner > .inner02 > .inner03 > .f-navi > .item:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 > .inner03 > .f-navi > .item {
    display: inline-block;
  }
  .footer > .inner > .inner02 > .inner03 > .f-navi > .item.btn-B {
    margin-left: clamp(37.5px, 5rem, 50px);
  }
}
.footer > .inner > .inner02 > .inner03 > .map {
  filter: grayscale(100%);
  height: clamp(600px, 80rem, 800px);
}
@media screen and (min-width: 1280px) {
  .footer > .inner > .inner02 > .inner03 > .map {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
.footer > .inner > .inner02 > .inner03 > .map > iframe {
  height: 100%;
  width: 100%;
}

.ci {
  width: clamp(150px, 25rem, 250px);
}

.link-A {
  border-bottom: 1px solid #32769A;
}
@media screen and (min-width: 1280px) {
  .link-A {
    border-bottom: none;
  }
}
.link-A > a {
  font-size: clamp(11.9px, 1.4rem, 14px);
}

.btn-A {
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .btn-A {
    position: static;
    max-width: 200px;
  }
}
.btn-A > a {
  background-color: #32769A;
  color: #FFF;
  line-height: clamp(57px, 7.6rem, 76px);
  text-align: center;
}

.btn-B {
  background-color: #32769A;
  color: #FFF;
  display: block;
  font-size: 14px;
  line-height: 36px;
  text-align: center;
  width: 200px;
}
.btn-B > a {
  line-height: 36px;
}

.catch > .txt {
  background-color: #333;
  color: #FFF;
  display: inline-block;
  font-size: clamp(32px, 6.4rem, 64px);
  font-weight: 300;
  margin-bottom: clamp(7.5px, 1rem, 10px);
}
.catch > .txt:last-child {
  margin-bottom: 0;
}

.head-A {
  text-align: center;
}
.head-A > * {
  display: block;
}
.head-A > .en {
  color: #EEE;
  font-size: clamp(38.4px, 12.8rem, 128px);
  font-weight: 600;
}
.head-A > .ja {
  font-size: clamp(36px, 4.8rem, 48px);
  font-weight: 300;
}
.head-A.head-A- > .en {
  color: rgba(255, 255, 255, 0.3);
}
.head-A.head-A- > .ja {
  color: #FFF;
}

.num-A {
  color: #32769A;
  width: 100%;
}
.num-A > * {
  vertical-align: middle;
}
.num-A > .label {
  font-size: clamp(9.8px, 1.4rem, 14px);
  margin-right: clamp(7.5px, 1rem, 10px);
}
.num-A > .num {
  font-size: clamp(48px, 6.4rem, 64px);
}

.read-A {
  font-size: clamp(24px, 3.2rem, 32px);
  padding-left: clamp(15px, 2rem, 20px);
  position: relative;
  width: 100%;
}
.read-A::before {
  background-color: #32769A;
  border-radius: 50%;
  bottom: 0;
  content: "";
  display: block;
  height: 6px;
  margin: auto 0;
  left: 0;
  position: absolute;
  top: 0;
  width: 6px;
}

.read-B {
  font-size: clamp(36px, 4.8rem, 48px);
  line-height: 1.5;
  padding-left: clamp(15px, 2rem, 20px);
  position: relative;
  width: 100%;
}
.read-B::before {
  background-color: #32769A;
  border-radius: 50%;
  content: "";
  display: block;
  height: 6px;
  left: 0;
  position: absolute;
  top: 25%;
  width: 6px;
}

.box-A {
  background: url(../img/back01.jpg) no-repeat center center/cover;
  background-color: #333;
  color: #FFF;
  padding-bottom: clamp(50px, 10rem, 100px);
  padding-left: clamp(15px, 2.4rem, 24px);
  padding-right: clamp(15px, 2.4rem, 24px);
  padding-top: clamp(50px, 10rem, 100px);
}

.box-B > .unit {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  color: #FFF;
  height: clamp(409.5px, 75rem, 750px);
  width: 100%;
}
.box-B > .unit:nth-of-type(1) {
  background-image: url(../img/back02.jpg);
}
.box-B > .unit:nth-of-type(2) {
  background-image: url(../img/back03.jpg);
}
.box-B > .unit > a {
  padding-bottom: clamp(30px, 4rem, 40px);
  padding-left: clamp(22.5px, 3rem, 30px);
  padding-right: clamp(22.5px, 3rem, 30px);
  padding-top: clamp(30px, 4rem, 40px);
  position: relative;
}
.box-B > .unit > a > .num {
  display: block;
}
.box-B > .unit > a > .num > * {
  display: block;
}
.box-B > .unit > a > .num > .min {
  font-size: 16px;
  font-weight: 300;
}
.box-B > .unit > a > .num > .max {
  font-size: 64px;
  font-weight: 100;
}
.box-B > .unit > a > .inner {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  display: block;
  padding-top: clamp(10px, 4rem, 40px);
  position: absolute;
  bottom: clamp(30px, 4rem, 40px);
  width: calc(100% - clamp(60px, 8rem, 80px));
}
.box-B > .unit > a > .inner > * {
  display: block;
}
.box-B > .unit > a > .inner > .tit {
  font-size: clamp(15.6px, 2.6rem, 26px);
  font-weight: 500;
  padding-left: clamp(15px, 2rem, 20px);
  position: relative;
}
.box-B > .unit > a > .inner > .tit::before {
  background-color: #FFF;
  border-radius: 50%;
  bottom: 0;
  content: "";
  display: block;
  height: clamp(4px, 0.8rem, 8px);
  left: 0;
  margin: auto 0;
  position: absolute;
  top: 0;
  width: clamp(4px, 0.8rem, 8px);
}

.box-C {
  background: url(../img/back04.jpg) no-repeat center center/cover;
  height: clamp(405px, 54rem, 540px);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media screen and (min-width: 1280px) {
  .box-C {
    margin-left: 0;
    margin-right: 0;
  }
}
.box-C > a {
  position: relative;
}
.box-C > a > .inner {
  display: block;
  left: clamp(15px, 2.4rem, 24px);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.box-C > a > .inner > * {
  display: block;
}
.box-C > a > .inner > .head-A {
  margin-bottom: clamp(30px, 5rem, 50px);
  text-align: left;
}

.bl {
  display: block;
  height: 100%;
  width: 100%;
}

.fl {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}

.fl- {
  flex-direction: row-reverse;
}

._sp {
  display: block;
}
@media screen and (min-width: 768px) {
  ._sp {
    display: none;
  }
}

.ib {
  letter-spacing: -0.4em;
}
.ib > * {
  display: inline-block;
  letter-spacing: 0em;
}

.is-hide {
  opacity: 0;
  pointer-events: none;
}/*# sourceMappingURL=style.css.map */