html {
  /* font-feature-settings: 'palt'; */
  font-size: 62.5%;
  scroll-behavior: smooth;
}
@media screen and (max-width:1240px) {
  html {
    font-size: calc(100vw / 1220 * 10);
  }
}
/* @media screen and (min-width:1440px) {
  html {
    
  }
} */
@media screen and (max-width:768px) {
  html {
    font-size: calc(100vw / 375 * 10);
  }
}
body {
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: normal;
}
.f_hubballi {
  font-family: 'Hubballi', cursive;
}
@media screen and (max-width: 768px) {
  body::before {
    background-size: 50rem;
  }
}
.body_container {
  opacity: 0;
  overflow: hidden;
  padding-top: 12.8rem;
  transition: .6s ease;
}
.lazy .body_container {
  opacity: 1;
}
.max1200 {
  margin: 0 auto;
  max-width: 120rem;
}
.max1000 {
  margin: 0 auto;
  max-width: 100rem;
}
img {
  height: auto;
  max-width: 100%;
  width: 100%;
}
img.fit {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .body_container {
    min-width: 100%;
    overflow: hidden;
    padding-top: 6.5rem;
  }
}
a {
  transition: .3s;
}
.anchor {
  display: flex;
  margin-top: -12.8rem;
  padding-top: 12.8rem;
}
@media screen and (max-width: 768px) {
  .anchor {
    margin-top: -6.5rem;
    padding-top: 6.5rem;
  }
}
/* ---------------------------------------------------------------------------
//  fv
--------------------------------------------------------------------------- */
.fv .container {
  background-image: url(../img/fv.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(100vh - 12.8rem);
}
.fv .wrap {
  margin: 0 auto;
  max-width: 133.4rem;
  position: relative;
}
.fv .wrap .h1 {
  left: 3rem;
  position: absolute;
  top: 3rem;
}
@media screen and (max-width: 768px) {
  .fv .container {
    background-image: url(../img/fv_sp.jpg);
    background-position: center bottom;
    height: calc(100vh - 6.5rem);
    min-height: 57rem;
  }
  .fv .wrap .h1 {
    left: 0;
    margin: auto;
    right: 0;
    width: 24.756rem;
  }
}
/* ---------------------------------------------------------------------------
//  sec01
--------------------------------------------------------------------------- */
.sec01 .wrap01 {
  padding: 8rem 0 0;
}
.sec01 .wrap01 .ttl01 {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.sec01 .wrap01 .ttl01 .h2 {
  font-size: 3.2rem;
  line-height: calc(40/32);
}
.sec01 .wrap01 .ttl01 .eng {
  margin-top: .6rem;
  width: 19rem;
}
.sec01 .wrap01 .reasons {
  margin-top: 4.8rem;
  position: relative;
}
.sec01 .wrap01 .reasons .reason {
  display: flex;
  position: relative;
}
.sec01 .wrap01 .reasons .reason + .reason {
  margin-top: 3rem;
}
.sec01 .wrap01 .reasons .reason:nth-of-type(even) {
  flex-direction: row-reverse;
}
.sec01 .wrap01 .reasons .reason .txts {
  padding-left: 10.9rem;
  padding-top: 5.8rem;
  position: relative;
  width: 50%;
}
.sec01 .wrap01 .reasons .reason02 .txts {
  padding-left: 0;
  padding-right: 4rem;
  padding-top: 11.6rem;
}
.sec01 .wrap01 .reasons .reason03 .txts {
  padding-top: 11.3rem;
}
.sec01 .wrap01 .reasons .reason .txts .circle {
  background: #ffea00;
  border-radius: 100%;
  height: 25.6rem;
  left: -3rem;
  position: absolute;
  top: 0;
  width: 25.6rem;
  z-index: -1;
}
.sec01 .wrap01 .reasons .reason01 .txts .circle {
  top: -6rem;
}
.sec01 .wrap01 .reasons .reason:nth-of-type(even) .txts .circle {
  left: inherit;
  right: -3rem;
}
.sec01 .wrap01 .reasons .reason .txts .circle span {
  display: block;
  position: relative;
}
.sec01 .wrap01 .reasons .reason .txts .circle span img {
  position: absolute;
}
.sec01 .wrap01 .reasons .reason01 .txts .circle span img {
  left: 3.7rem;
  top: 3.1rem;
  width: 10.0943rem;
}
.sec01 .wrap01 .reasons .reason02 .txts .circle span img {
  right: 3.4rem;
  top: 6.4rem;
  width: 11.5rem;
}
.sec01 .wrap01 .reasons .reason03 .txts .circle span img {
  left: 4.9rem;
  top: 5.5rem;
  width: 9rem;
}
.sec01 .wrap01 .reasons .reason .txts .h3 {
  border-bottom: solid 1px;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: calc(50/27);
  padding-bottom: 1.2rem;
}
.sec01 .wrap01 .reasons .reason02 .txts .h3 {
  padding-left: 15.3rem;
  white-space: nowrap
}
.sec01 .wrap01 .reasons .reason .txts .h3 strong {
  color: #0074c1;
}
.sec01 .wrap01 .reasons .reason .txts .p1 {
  line-height: 2;
  margin-top: 1.4rem;
}
.sec01 .wrap01 .reasons .reason02 .txts .p1 {
  padding-left: 15.3rem;
}
.sec01 .wrap01 .reasons .reason .img {
  width: 50%;
}
.sec01 .wrap02 {
  display: flex;
  padding: 8rem 0;
}
.sec01 .wrap02 .ttl01 {
  position: relative;
  width: 30.6rem;
}
.sec01 .wrap02 .ttl01 .h2 {
  font-size: 3.4rem;
  font-weight: bold;
  line-height: calc(72/34);
}
.sec01 .wrap02 .ttl01 .deco {
  bottom: 0;
  position: absolute;
  right: 4.3rem;
  width: 13.5rem;
  z-index: -1;
}
.sec01 .wrap02 .importants {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 30.6rem);
}
.sec01 .wrap02 .importants .important {
  width: calc((100% - 6.8rem) / 3);
}
.sec01 .wrap02 .importants .important {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  height: 32.5841rem;
  padding: 8.8rem 1.7rem 1.7rem;
  width: 27.4rem;
}
.sec01 .wrap02 .importants .important .h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: calc(32/20);
}
.sec01 .wrap02 .importants .important .p1 {
  line-height: 1.5;
  margin-top: 1rem;
}
.sec01 .wrap02 .importants .important01 {
  background-image: url(../img/important01.svg);
}
.sec01 .wrap02 .importants .important02 {
  background-image: url(../img/important02.svg);
}
.sec01 .wrap02 .importants .important03 {
  background-image: url(../img/important03.svg);
}
@media screen and (max-width: 768px) {
  .sec01 .wrap01 {
    padding: 6rem 2rem 0;
  }
  .sec01 .wrap01 .ttl01 .h2 {
    font-size: 2.8rem;
    line-height: calc(35/28);
  }
  .sec01 .wrap01 .ttl01 .eng {
    margin-top: .525rem;
    width: 16.625rem;
  }
  .sec01 .wrap01 .reasons {
    margin-top: 4.2rem;
  }
  .sec01 .wrap01 .reasons .reason {
    display: block;
  }
  .sec01 .wrap01 .reasons .reason + .reason {
    margin-top: 2.8rem;
  }
  .sec01 .wrap01 .reasons .reason .txts {
    padding-left: 0!important;
    padding-right: 0!important;
    padding-top: 5.5rem!important;
    width: 100%;
  }
  .sec01 .wrap01 .reasons .reason03 .txts {
    padding-top: 11.3rem;
  }
  .sec01 .wrap01 .reasons .reason .txts .circle {
    height: 17.7rem;
    left: inherit!important;
    right: 0!important;
    top: 0!important;
    width: 17.7rem;
  }
  .sec01 .wrap01 .reasons .reason01 .txts .circle span img {
    left: inherit;
    right: 2.127rem;
    top: 2.6rem;
    width: 6.6777rem;
  }
  .sec01 .wrap01 .reasons .reason02 .txts .circle span img {
    right: 2.524rem;
    top: 3.35rem;
    width: 7.6075rem;
  }
  .sec01 .wrap01 .reasons .reason03 .txts .circle span img {
    left: inherit;
    right: 2.851rem;
    top: 3.6rem;
    width: 5.9537rem;
  }
  .sec01 .wrap01 .reasons .reason .txts .h3 {
    font-size: 2rem;
    line-height: calc(34/20);
    padding-left: 0!important;
    width: calc(100% + 2rem);
  }
  .sec01 .wrap01 .reasons .reason .txts .p1 {
    padding-left: 0!important;
  }
  .sec01 .wrap01 .reasons .reason .img {
    margin-top: 1.4rem;
    width: 100%;
  }
  .sec01 .wrap02 {
    display: block;
    padding: 5rem 2rem;
  }
  .sec01 .wrap02 .ttl01 {
    position: relative;
    width: 100%;
  }
  .sec01 .wrap02 .ttl01 .h2 {
    font-size: 2.4rem;
    line-height: calc(50/24);
    padding-bottom: 4.8rem;
  }
  .sec01 .wrap02 .ttl01 .deco {
    right: 1.55rem;
    width: 15rem;
  }
  .sec01 .wrap02 .importants {
    align-items: center;
    flex-direction: column;
    width: 100%;
  }
  .sec01 .wrap02 .importants .important + .important {
    margin-top: 2rem;
  }
}
/* ---------------------------------------------------------------------------
//  sec02
--------------------------------------------------------------------------- */
.sec02 .wrap01 {
  padding: 0 0 12.5rem;
}
.sec02 .sv {
  align-items: center;
  background-attachment: fixed;
  background-image: url(../img/02_sv.jpg);
  background-position: center right 30%;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  height: 47.1rem;
  justify-content: flex-end;
  padding-bottom: 9rem;
  position: relative;
}
.sec02 .sv::before {
  background: #ffaf92;
  content: '';
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  opacity: .73;
  position: absolute;
  top: 0;
  width: 100%;
}
.sec02 .sv .h2 {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: calc(44/24);
  position: relative;
}
.sec02 .sv .p1 {
  color: #fff;
  line-height: 1.5;
  margin-top: 1.8rem;
  position: relative;
}
.sec02 .wrap01 {
  margin-top: -5.9rem;
  position: relative;
}
.sec02 .wrap01 .supports {
  display: flex;
  justify-content: space-between;
}
.sec02 .wrap01 .supports .support {
  background: #fff;
  padding: 2rem 2.7rem 0;
  width: calc((100% - 13.6rem) / 3);
}
.sec02 .wrap01 .supports .support .h3 {
  color: #0074c1;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
}
.sec02 .wrap01 .supports .support .p1 {
  line-height: 1.5;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sec02 .wrap01 {
    padding: 0 2rem 2.5rem;
  }
  .sec02 .sv {
    background-attachment: inherit;
    background-image: url(../img/02_sv.jpg);
    background-position: top 20% right 30%;
    background-size: 136%;
    height: 24.4rem;
    padding-bottom: .7rem;
  }
  .sec02 .sv .h2 {
    font-size: 2rem;
    line-height: calc(32/20);
    text-align: center;
  }
  .sec02 .sv .p1 {
    bottom: -11.5rem;
    color: #000;
    line-height: 2;
    margin-top: 0;
    position: absolute;
    text-align: center;
  }
  .sec02 .wrap01 {
    margin-top: 13.4rem;
  }
  .sec02 .wrap01 .supports {
    display: block;
  }
  .sec02 .wrap01 .supports .support {
    border-top: 1px solid #d9d9d9;
    padding: 1.6rem 0 2.4rem;
    width: 100%;
  }
  .sec02 .wrap01 .supports .support .p1 {
    margin-top: 1.3rem;
  }
}
/* ---------------------------------------------------------------------------
//  sec03
--------------------------------------------------------------------------- */
.sec03 {
  overflow: hidden;
}
.sec03 .wrap01 .head {
  background: #faf9f2;
  padding-bottom: 10.5rem;
  text-align: center;
}
.sec03 .wrap01 .head .ttl01 {
  align-items: center;
  background: #0074c1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.9rem 0;
}
.sec03 .wrap01 .head .ttl01 .h2 {
  color: #fff;
  font-size: 3.2rem;
  line-height: 1.25;
}
.sec03 .wrap01 .head .ttl01 .eng {
  margin-top: .6rem;
  width: 22.3rem;
}
.sec03 .wrap01 .head .p1 {
  color: #0c0c0c;
  font-weight: 500;
  line-height: 2;
  margin-top: 3rem;
}
.sec03 .wrap01 .properties_area .properties {
  background: #fff;
  border-top: 1px solid #b5b5b5;
  position: relative;
}
.sec03 .wrap01 .properties_area .properties .h3 {
  align-items: center;
  background: #000;
  border-radius: 1rem 1rem 0 0;
  color: #fff;
  display: flex;
  font-size: 2.4rem;
  height: 4.7rem;
  justify-content: center;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  text-align: center;
  top: -4.7rem;
  width: 22.4rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property {
  margin-top: 11.1rem;
  position: relative;
}
.sec03 .wrap01 .properties_area .propertiesA .property .eng {
  align-items: center;
  background: #fff;
  border: solid 1px;
  color: #0074c1;
  display: flex;
  font-size: 2.4rem;
  height: 4.1rem;
  justify-content: center;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 10rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property .eng::before {
  background: #0074c1;
  border: solid 1px #0074c1;
  content: '';
  height: 4.1rem;
  left: 100%;
  position: absolute;
  width: calc((100vw - 120rem) / 2 + 1px);
}
.sec03 .wrap01 .properties_area .propertiesA .property .gallery .main_img {
  aspect-ratio: 1/1;
  overflow: hidden;
  width: 50%;
}
.sec03 .wrap01 .properties_area .propertiesA .property .gallery .min_imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 5rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property .gallery .min_imgs .min_img {
  aspect-ratio: 189.377/141.682;
  overflow: hidden;
  width: calc((100% - 6rem) / 6);
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .open {
  display: none;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts {
  position: absolute;
  right: 0;
  top: 0;
  width: 51.3rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .min_imgs {
  display: none;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .h4 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.83;
  padding-top: 8.4rem;
  position: relative;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .h4::before {
  background: #ffea00;
  border-radius: 100%;
  content: '';
  height: 12.4rem;
  left: -5rem;
  position: absolute;
  top: 3rem;
  width: 12.4rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property:nth-of-type(even) .ac .txts .h4::before {
  left: 23.9rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property:nth-of-type(3) .ac .txts .h4::before {
  top: 1rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property:nth-of-type(4) .ac .txts .h4::before {
  top: 5rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .h4 span {
  position: relative;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .dl {
  line-height: 1.5;
  margin-top: 2rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .dl + .dl {
  margin-top: 1.6rem;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .dl dt {
  color: #0074c1;
  font-weight: 500;
}
.sec03 .wrap01 .properties_area .propertiesA .property .ac .close {
  display: none;
}
.sec03 .wrap01 .properties_area .propertiesB {
  margin-top: 17.4rem;
}
.sec03 .wrap01 .properties_area .propertiesB + .propertiesB {
  margin-top: 13.9rem;
}
.sec03 .wrap01 .properties_area .propertiesB .property {
  margin-top: 6.5rem;
  position: relative;
}
.sec03 .wrap01 .properties_area .propertiesB .property .gallery {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}
.sec03 .wrap01 .properties_area .propertiesB .property .gallery .main_img {
  aspect-ratio: 600/449;
  overflow: hidden;
  width: 50%;
}
.sec03 .wrap01 .properties_area .propertiesB .property .gallery .min_imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2.7rem;
  width: calc(50% - 3.2rem);
}
.sec03 .wrap01 .properties_area .propertiesB .property .gallery .min_imgs .min_img {
  aspect-ratio: 270/202;
  overflow: hidden;
  width: calc((100% - 2.7rem) / 2);
}
.sec03 .wrap01 .properties_area .propertiesB .property .p1 {
  font-weight: bold;
  line-height: 1.5;
  position: absolute;
  right: 0;
  top: -.5rem;
  width: calc(50% - 3.2rem);
}
.sec03 .wrap01 .contact_area {
  align-items: center;
  background: #0074c1;
  color: #fff;
  display: flex;
  flex-direction: column;
  margin-top: 7.6rem;
  padding: 3.4rem 0 4.6rem;
  position: relative;
  text-align: center;
}
.sec03 .wrap01 .contact_area::before {
  background-image: url(../img/contact_deco.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 35.32rem;
  left: -6rem;
  position: absolute;
  top: -4.1rem;
  width: 51.9rem;
}
.sec03 .wrap01 .contact_area .p1 {
  font-size: 2.4rem;
  line-height: 1.8333;
}
.sec03 .wrap01 .contact_area .tel {
  align-items: center;
  background: #ffea00;
  border-radius: 100rem;
  color: #0074c1;
  cursor: default;
  display: flex;
  font-size: 4.8rem;
  height: 6rem;
  justify-content: center;
  margin-top: 1.4rem;
  pointer-events: none;
  width: 45.1rem;
}
@media screen and (max-width: 768px) {
  .sec03 {
    overflow: visible;
  }
  .sec03 .wrap01 .head {
    padding-bottom: 8rem;
  }
  .sec03 .wrap01 .head .ttl01 {
    padding: 5.1rem 0 5.7rem;
  }
  .sec03 .wrap01 .head .ttl01 .h2 {
    font-size: 2.8rem;
  }
  .sec03 .wrap01 .head .ttl01 .eng {
    margin-top: .525rem;
    width: 19.3rem;
  }
  .sec03 .wrap01 .head .p1 {
    margin-top: 1.6rem;
  }
  .sec03 .wrap01 .properties_area .properties {
    padding: 0 2rem;
  }
  .sec03 .wrap01 .properties_area .properties .h3 {
    border-radius: .7rem .7rem 0 0;
    font-size: 2rem;
    height: 3.44rem;
    top: -3.44rem;
    width: 16.4rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA {
    padding-top: 4rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property {
    margin-top: 0;
    padding-bottom: 9rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .eng {
    font-size: 2.2rem;
    height: 3.1rem;
    position: static;
    right: 0;
    text-align: center;
    top: 0;
    width: 10rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .eng::before {
    height: 3.1rem;
    left: inherit;
    right: 0;
    width: calc(100% - 10rem);
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .gallery {
    margin-top: 9.8rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .gallery .main_img {
    width: 100%;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .gallery .min_imgs {
    display: none;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .gallery .min_imgs .min_img {
    width: calc((100% - 1.2rem) / 2);
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac {
    margin-top: 1.2rem;
    position: relative;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .open {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    text-align: center;
    top: -4.2rem;
    transition: .3s;
    width: 9.5rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .open.hidden {
    opacity: 0;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .open span {
    align-items: center;
    background: #a7dcff;
    border: solid 1px #fff;
    border-radius: 100%;
    color: #fff;
    color: #0074c1;
    display: flex;
    flex-direction: column;
    font-size: 2.2rem;
    height: 6rem;
    justify-content: center;
    width: 6rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .open strong {
    color: #0074c1;
    font-size: 2.2rem;
    line-height: 1;
    margin-top: .4rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts {
    max-height: 0;
    pointer-events: none;
    position: static;
    transition: .3s;
    width: 100%;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts.active {
    max-height: 1000rem;
    pointer-events: all;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts > * {
    opacity: 0;
    transition: .3s;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts.active > * {
    opacity: 1;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .min_imgs {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .min_imgs .min_img {
    aspect-ratio: 189.377/141.682;
    overflow: hidden;
    width: calc((100% - 1.2rem) / 2);
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .h4 {
    align-items: center;
    display: flex;
    flex-direction: column;
    font-size: 1.8rem;
    height: 9.8rem;
    justify-content: center;
    line-height: 1.555;
    opacity: 1;
    padding-top: 0;
    position: absolute;
    text-align: center;
    top: -44.5rem;
    width: 100%;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .h4::before {
    bottom: 0!important;
    height: 7.5rem;
    left: 0!important;
    margin: auto;
    top: 0!important;
    width: 7.5rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property:nth-of-type(even) .ac .txts .h4::before {
    left: inherit!important;
    right: 0!important;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .dl:last-of-type {
    padding-bottom: 6rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .txts .h4 span {
    position: relative;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .close {
    bottom: -2rem;
    display: block;
    left: 0;
    margin: 1.7rem auto 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 6rem;
  }
  .sec03 .wrap01 .properties_area .propertiesA .property .ac .close span {
    align-items: center;
    background: #a7dcff;
    border: solid 1px #fff;
    border-radius: 100%;
    color: #fff;
    color: #0074c1;
    display: flex;
    flex-direction: column;
    font-size: 2.2rem;
    height: 6rem;
    justify-content: center;
    line-height: .7;
    text-align: center;
    width: 6rem;
  }
  .sec03 .wrap01 .properties_area .propertiesB {
    margin-top: 4rem;
  }
  .sec03 .wrap01 .properties_area .propertiesB + .propertiesB {
    margin-top: 8rem;
  }
  .sec03 .wrap01 .properties_area .propertiesB .property {
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
  }
  .sec03 .wrap01 .properties_area .propertiesB .property .gallery {
    display: block;
  }
  .sec03 .wrap01 .properties_area .propertiesB .property .gallery .main_img {
    margin-top: 1rem;
    width: 100%;
  }
  .sec03 .wrap01 .properties_area .propertiesB .property .gallery .min_imgs {
    gap: 1.2rem;
    margin-top: 1rem;
    width: 100%;
  }
  .sec03 .wrap01 .properties_area .propertiesB .property .gallery .min_imgs .min_img {
    width: calc((100% - 1.2rem) / 2);
  }
  .sec03 .wrap01 .properties_area .propertiesB .property .p1 {
    order: -1;
    position: static;
    width: 100%;
  }
  .sec03 .wrap01 .contact_area {
    margin-top: 3.4rem;
    padding: 1.8rem 2rem 14.4rem;
  }
  .sec03 .wrap01 .contact_area::before {
    aspect-ratio: 1058/728 ;
    bottom: -3.74rem;
    height: auto;
    left: 0;
    margin: auto;
    right: 0;
    top: inherit;
    width: 25rem;
  }
  .sec03 .wrap01 .contact_area .p1 {
    font-size: 2rem;
    line-height: 1.6;
  }
  .sec03 .wrap01 .contact_area .tel {
    cursor: pointer;
    font-size: 3.5rem;
    height: 4.42rem;
    pointer-events: all;
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  sec04
--------------------------------------------------------------------------- */
.sec04 .container {
  background: #e7f3fb;
}
.sec04 .wrap01 {
  padding: 7.5rem 0;
}
.sec04 .wrap01 .h2 {
  background: #0074c1;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.833;
  padding: 1.7rem 0;
  text-align: center;
}
.sec04 .wrap01 .works {
  display: flex;
  gap: .6rem;
  justify-content: space-between;
}
.sec04 .wrap01 .works .work {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: calc((100% - .6rem) / 2);
}
.sec04 .wrap01 .works .work .h3 {
  color: #0074c1;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6;
  padding-top: 2.5rem;
  text-align: center;
}
.sec04 .wrap01 .works .work .p1 {
  line-height: 1.5;
  margin-bottom: 2.5rem;
  margin-top: 1.2rem;
}
.sec04 .wrap01 .works .work .bas {
  width: 100%;
}
.sec04 .wrap01 .works .work .bas .ba {
  background-image: url(../img/arrow01.svg);
  background-position: center top 7.5rem;
  background-repeat: no-repeat;
  background-size: 3.3rem;
  display: flex;
  gap: 0 4.2rem;
  text-align: center;
}
.sec04 .wrap01 .works .work .bas .ba + .ba {
  margin-top: .7rem;
}
.sec04 .wrap01 .works .work .bas .ba .img {
  aspect-ratio: 277/164;
  overflow: hidden;
}
.sec04 .wrap01 .works .work .bas .ba span {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.sec04 .wrap01 .works .work .bas .ba .a span {
  color: #0074c1;
}
.sec04 .wrap01 .works .work .bnr {
  background-image: url(../img/bg_bnr.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  flex-grow: 1;
  position: relative;
  width: 100%;
}
.sec04 .wrap01 .works .work .bnr .btn {
  bottom: 2.6rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 32.8rem;
}
.sec04 .wrap01 .works .work .bnr .btn:hover {
  opacity: .7;
}
@media screen and (max-width: 768px) {
  .sec04 .wrap01 {
    padding: 5.1rem 2rem 6rem;
  }
  .sec04 .wrap01 .h2 {
    font-size: 2rem;
    line-height: 1.6;
    padding: .7rem 0;
  }
  .sec04 .wrap01 .works {
    display: block;
    margin-top: 1.1rem;
  }
  .sec04 .wrap01 .works .work {
    width: 100%;
  }
  .sec04 .wrap01 .works .work + .work {
    margin-top: 1.5rem;
  }
  .sec04 .wrap01 .works .work .h3 {
    font-size: 1.8rem;
    line-height: 1.77;
    padding-top: 0;
  }
  .sec04 .wrap01 .works .work:nth-of-type(1) .h3 {
    letter-spacing: -.04em;
    white-space: nowrap;
  }
  .sec04 .wrap01 .works .work .p1 {
    margin-bottom: 1.4rem;
    margin-top: .6rem;
  }
  .sec04 .wrap01 .works .work .bas {
    width: 100%;
  }
  .sec04 .wrap01 .works .work .bas .ba {
    background-image: url(../img/arrow02.svg);
    background-position: center top 3.7rem;
    background-size: 1.9rem;
    gap: 0 2.35rem;
  }
  .sec04 .wrap01 .works .work .bas .ba + .ba {
    margin-top: .4rem;
  }
  .sec04 .wrap01 .works .work .bas .ba .img {
    aspect-ratio: 277/164;
    overflow: hidden;
  }
  .sec04 .wrap01 .works .work .bas .ba span {
    display: block;
    font-size: 1rem;
    line-height: 1.2;
  }
  .sec04 .wrap01 .works .work .bas .ba .a span {
    color: #0074c1;
  }
  .sec04 .wrap01 .works .work .bnr {
    height: 20.33rem;
  }
  .sec04 .wrap01 .works .work .bnr .btn {
    bottom: 1.4rem;
    width: 18.32rem;
  }
}
/* ---------------------------------------------------------------------------
//  sec05
--------------------------------------------------------------------------- */
.sec05 .container {
  padding-top: 7.7rem;
}
.sec05 .ttl01 {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.sec05 .ttl01 .h2 {
  font-size: 3.2rem;
  line-height: calc(40/32);
}
.sec05 .ttl01 .eng {
  margin-top: .6rem;
  width: 22.3rem;
}
.sec05 .wrap01 {
  padding: 6rem 0;
}
.sec05 .wrap01 .company {
  display: flex;
}
.sec05 .wrap01 .company .txts {
  width: 50%;
}
.sec05 .wrap01 .company .txts .dl {
  display: flex;
  line-height: 2;
}
.sec05 .wrap01 .company .txts .dl dt {
  font-weight: 500;
  width: 9.4rem;
}
.sec05 .wrap01 .company .txts .dl dd {
  width: calc(100% - 9.4rem);
}
.sec05 .wrap01 .company .img {
  width: 50%;
}
.sec05 .map {
  height: 34.3rem;
}
.sec05 .map iframe {
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 767.9px) {
  .sec05 .container {
    padding-top: 4.3rem;
  }
  .sec05 .ttl01 .h2 {
    font-size: 2.8rem;
  }
  .sec05 .ttl01 .eng {
    margin-top: .525rem;
    width: 19.3rem;
  }
  .sec05 .wrap01 {
    padding: 3.1rem 2rem 4.1rem;
  }
  .sec05 .wrap01 .company {
    display: block;
  }
  .sec05 .wrap01 .company .txts {
    width: 100%;
  }
  .sec05 .wrap01 .company .txts .dl {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.714;
  }
  .sec05 .wrap01 .company .txts .dl dt {
    width: 8.6rem;
  }
  .sec05 .wrap01 .company .txts .dl dd {
    width: calc(100% - 8.6rem);
  }
  .sec05 .wrap01 .company .img {
    margin-top: 1.4rem;
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  footer
--------------------------------------------------------------------------- */
.footer01 .container {
  background: #faf9f2;
}
.footer01 .wrap01 {
  padding: 6rem 0;
}
.footer01 .wrap01 .border {
  border: solid 1px #bbb;
  border-radius: 2rem;
  display: flex;
  padding: 1.6rem 0;
}
.footer01 .wrap01 .border .left {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
}
.footer01 .wrap01 .border .left .h2 {
  font-size: 3.2rem;
  line-height: 1.5;
}
.footer01 .wrap01 .border .left  .tel {
  color: #0074c1;
  cursor: default;
  display: block;
  font-size: 4.8rem;
  line-height: .5;
  margin-top: 2rem;
  pointer-events: none;
}
.footer01 .wrap01 .border .left .p1 {
  line-height: 1.5;
  margin-top: 2.2rem ;
}
.footer01 .wrap01 .border .right {
  align-items: center;
  border-left: 1px solid #bbb;
  display: flex;
  gap: 4rem;
  justify-content: center;
  width: 50%;
}
.footer01 .wrap01 .border .right .txts {
  line-height: 1.5;
  width: 20.1rem;
}
.footer01 .wrap01 .border .right .txts .h3 {
  color: #0074c1;
  font-weight: 500;
}
.footer01 .wrap01 .border .right .txts .sup {
  display: flex;
  flex-shrink: 0;
}
.footer01 .wrap01 .border .right .txts .sup span {
  flex-shrink: 0;
}
.footer01 .wrap01 .border .right .img {
  width: 23.9rem;
}
.footer02 .container {
  background: #0074c1;
  color: #fff;
}
.footer02 .container .wrap01 {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 4.7rem 0 2.8rem;
}
.footer02 .container .wrap01 .logo {
  width: 28.8rem;
}
.footer02 .container .wrap01 .logo:hover {
  opacity: .7;
}
.footer02 .container .wrap01 .copyright {
  font-size: 1.2rem;
  line-height: 2;
  margin-top: 6.3rem;
}
@media screen and (max-width: 767.9px) {
  .footer01 .wrap01 {
    padding: 2.7rem 2rem 3rem;
  }
  .footer01 .wrap01 .border {
    display: block;
    padding: 2rem 2rem 3rem;
  }
  .footer01 .wrap01 .border .left {
    display: block;
    padding-bottom: 1.6rem;
    width: 100%;
  }
  .footer01 .wrap01 .border .left .h2 {
    font-size: 2.4rem;
  }
  .footer01 .wrap01 .border .left  .tel {
    cursor: pointer;
    font-size: 3.6rem;
    margin-top: 1.46rem;
    pointer-events: all;
  }
  .footer01 .wrap01 .border .left .p1 {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 1.46rem;
  }
  .footer01 .wrap01 .border .right {
    border-left: none;
    border-top: 1px solid #bbb;
    flex-direction: column;
    gap: 1.3rem;
    padding-top: 1.3rem;
    width: 100%;
  }
  .footer01 .wrap01 .border .right .txts {
    font-size: 1.4rem;
    line-height: 1.7;
    width: 100%;
  }
  .footer02 .container .wrap01 {
    padding: 3.8rem 2rem 2.2rem;
  }
  .footer02 .container .wrap01 .logo {
    width: 23.2rem;
  }
  .footer02 .container .wrap01 .copyright {
    font-size: 1rem;
    line-height: 2;
    margin-top: 5rem;
  }
}
/* ---------------------------------------------------------------------------
//  to_top
--------------------------------------------------------------------------- */
.to_top {
  bottom: 3rem;
  display: block;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 5rem;
  width: 9.05rem;
  z-index: 10;
}
.to_top:hover {
  opacity: .7;
}
.to_top.active {
  opacity: 1;
  pointer-events: all;
}
@media screen and (max-width: 767.9px) {
  .to_top {
    bottom: 1rem;
    right: 2rem;
    width: 6rem;
  }
}
/* ---------------------------------------------------------------------------
//  header
--------------------------------------------------------------------------- */
.header {
  background: rgba(255,255,255,.9);
  left: 0;
  position: fixed;
  top: 0;
  transition: .3s;
  transition-delay: .2s;
  width: 100%;
  z-index: 100;
}
.header_inner {
  align-items: center;
  display: flex;
  height: 12.8rem;
  margin: 0 auto;
  padding: 0 3.5rem;
}
.header .logo {
  position: relative;
  width: 22.187rem;
  z-index: 99;
}
.header .logo:hover {
  opacity: .7;
}
.global_nav {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: .9rem;
  justify-content: center;
  margin-left: auto;
}
.global_nav .blue {
  color: #0074c1;
  font-weight: 500;
  line-height: 1.75;
}
.nav_list {
  align-items: center;
  display: flex;
  gap: 6rem;
  gap: 4.8rem;
  justify-content: flex-end;
  width: 100%;
}
.nav_item {
  position: relative;
}
.nav_item + .nav_item::before {
  bottom: 0;
  content: '／';
  left: -3rem;
  margin: auto;
  position: absolute;
  top: .18rem;
}
.nav_item a {
  color: #020202;
  display: block;
  font-weight: 500;
  line-height: 1.75;
}
.nav_item a:hover {
  opacity: .7;
}
@media screen and (max-width: 768px) {
  .header_inner {
    height: 6.5rem;
    padding: 0 1.4rem;
  }
  .header_inner::before {
    background: #fff;
    content: '';
    height: 6.5rem;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: .3s;
    width: 100%;
    z-index: 11;
  }
  .nav_open .header_inner::before {
    opacity: 1;
  }
  .header .logo {
    width: 16.6rem!important;
  }
  .global_nav {
    align-items: center;
    background-color: rgba(255,255,255,.9);
    gap: 0;
    height: 100vh;
    justify-content: flex-start;
    left: 0;
    opacity: 0;
    overflow: auto;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: .3s;
    width: 100%;
  }
  .global_nav .blue {
    display: none;
  }
  .nav_open .global_nav {
    opacity: 1;
    pointer-events: all;
  }
  .nav_list {
    align-items: center;
    flex-direction: column;
    flex-grow: 1;
    flex-shrink: 0;
    gap: 3rem;
    justify-content: center;
    margin-top: 6.5rem;
    min-height: 40rem;
    padding: 4rem 2rem;
  }
  .nav_item {
    margin: auto;
  }
  .nav_item::before {
    display: none!important;
  }
  .nav_item a {
    font-size: 2rem;
  }
  .global_nav .contact {
    align-items: center;
    background-image: url(../img/tri01.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100%;
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    font-size: 2rem;
    font-weight: 500;
    gap: 2rem;
    height: 21rem;
    justify-content: center;
    width: 24.7rem;
  }
  .global_nav .contact span {
    font-size: 2.6rem;
  }
  .header .tel_btn {
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(0) translateY(0);
    width: 7.3rem;
  }
  .nav_open .header .tel_btn {
    transform: translateX(100%) translateY(-100%);
  }
  .hamburger {
    cursor: pointer;
    display: block;
    height: 100%;
    position: absolute;
    right: 2rem;
    transform: translateX(-6.5rem);
    transition: .3s;
    width: 3rem;
    z-index: 1000;
  }
  .nav_open .hamburger {
    transform: translateX(0);
  }

  .hamburger span {
    background: #000;
    border-radius: 10rem;
    height: .1rem;
    position: absolute;
    transition: .3s;
    width: 100%;
  }

  .hamburger span:nth-child(1) {
    top: 2.2rem;
  }
  .hamburger span:nth-child(2) {
    top: 3.2rem;
  }
  .hamburger span:nth-child(3) {
    top: 4.2rem;
  }
  .hamburger.open  span:nth-child(1) {
    top: 3.2rem;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .hamburger.open  span:nth-child(2) {
    opacity: 0;
    width: 0;
  }
  .hamburger.open  span:nth-child(3) {
    top: 3.2rem;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
}
/* ---------------------------------------------------------------------------
//  PC/SP
--------------------------------------------------------------------------- */
.forSP {
  display: none;
}
@media screen and (max-width:768px) {
  .forSP {
    display: block;
  }
  .forPC {
    display: none;
  }
}
/* ---------------------------------------------------------------------------
//  モーダル
--------------------------------------------------------------------------- */
.min_img {
  cursor: pointer;
  transition: .3s;
}
.min_img img {
  transform: scale(1.02);
}
.min_img:hover {
  opacity: .7;
}
.image-modal {
  align-items: center;
  background: rgba(0,0,0,.8);
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity .3s ease, visibility 0s linear .3s;
  visibility: hidden;
  width: 100%;
  z-index: 10000;
}
.image-modal.active {
  opacity: 1;
  transition-delay: 0s;
  visibility: visible;
}

/* 画像切替フェード */
.modal-content-wrapper {
  aspect-ratio: 189.377/141.682;
  overflow: hidden;
  width: 60rem;
}
.modal-content-wrapper img {
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .3s ease;
  width: 100%;
  width: 100%;
}
.modal-content-wrapper img.visible {
  opacity: 1;
}

/* 閉じるボタン */
.image-modal .modal-close {
  color: #fff;
  cursor: pointer;
  font-size: 4rem;
  position: absolute;
  right: 3rem;
  top: 3rem;
  z-index: 10001;
}

/* prev/next ボタン */
.image-modal .modal-prev, .image-modal .modal-next {
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 4rem;
  padding: 0 2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  user-select: none;
  z-index: 10001;
}
.image-modal .modal-prev {
  left: 2rem;
}
.image-modal .modal-next {
  right: 2rem;
}
@media screen and (max-width:768px) {
  .modal-content-wrapper {
    aspect-ratio: 189.377/141.682;
    overflow: hidden;
    width: calc(100% - 4rem);
  }
  .image-modal .modal-prev {
    left: -1rem;
  }
  .image-modal .modal-next {
    right: -1rem;
  }
  .image-modal .modal-close {
    font-size: 3rem;
    right: 2rem;
    top: 2rem;
  }
}
