@charset "UTF-8";
/*==========================================
変数 inc.scss
===========================================*/
/*==========================================
 リフォーム
===========================================*/
.page-reform {
  /* sec01 */
  /* sec02 */
  /* reform-list */
}
.page-reform .jumbotron {
  width: 100vw;
  height: clamp(648px, 54vw, 1037px);
  background-image: url(../img/reform/main_img.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-reform .jumbotron {
    background-image: url(../img/reform/main_img_sp.jpg);
  }
}
.page-reform .jumbotron_headWrap {
  width: clamp(200px, 31vw, 587px);
  margin-left: clamp(30px, 18.75vw, 360px);
  position: relative;
}
@media screen and (max-width: 1200px) {
  .page-reform .jumbotron_headWrap {
    margin-left: clamp(20px, 10vw, 80px);
  }
}
.page-reform .jumbotron_headWrap img {
  display: block;
}
.page-reform .jumbotron_head {
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}
.page-reform .jumbotron_head_en {
  font-family: "Bebas Neue", cursive;
  font-size: clamp(4rem, 7.3vw, 14rem);
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.page-reform .jumbotron_head_ja {
  font-size: clamp(1.4rem, 2.5vw, 1.6rem);
  font-weight: 900;
  letter-spacing: 0.4em;
}
.page-reform .sec01 {
  padding-top: 60px;
  margin-top: clamp(-200px, -10.5vw, -100px);
  margin-bottom: 120px;
  background: #fff;
  border-radius: 30px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .page-reform .sec01 {
    padding-bottom: 60px;
  }
}
.page-reform .sec01::before {
  content: "";
  display: block;
  width: calc(100% + (100vw - 100%) / 2);
  height: clamp(80px, 10vw, 193px);
  background: #edf1f4;
  border-radius: 0 0 0 30px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page-reform .sec01::before {
    height: 60%;
  }
}
.page-reform .sec01_head {
  margin-bottom: 120px;
  line-height: 1;
  font-weight: 900;
  color: #6e6e6e;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .page-reform .sec01_head {
    margin-bottom: 60px;
  }
}
.page-reform .sec01_head_small {
  margin-bottom: 20px;
  font-size: clamp(1.6rem, 3vw, 3.6rem);
  letter-spacing: 0.2em;
}
.page-reform .sec01_head_big {
  font-size: clamp(1.8rem, 5vw, 6rem);
  letter-spacing: 0.2em;
}
.page-reform .sec01_head_big .strong {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.page-reform .sec01_head_big .strong::before {
  content: "";
  display: block;
  width: 100%;
  height: clamp(4px, 1.8vw, 20px);
  background: #ffe4a0;
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: -1;
}
.page-reform .sec01_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page-reform .sec01_inner {
    padding: 0 2.5vw;
  }
}
.page-reform .sec01_box {
  width: 44%;
  max-width: 740px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-reform .sec01_box {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }
  .page-reform .sec01_box:first-child {
    margin-bottom: 40px;
  }
}
.page-reform .sec01_box_human {
  display: block;
  width: clamp(84px, 9.334vw, 168px);
  position: absolute;
  right: -20px;
  bottom: -20px;
}
@media screen and (max-width: 768px) {
  .page-reform .sec01_box_human {
    width: clamp(69px, 21vw, 138px);
    right: -2.5vw;
    bottom: -10px;
  }
}
.page-reform .sec01 .round-wrap {
  width: 100%;
  max-width: 740px;
  height: clamp(365px, 31.5vw, 565px);
}
@media screen and (max-width: 768px) {
  .page-reform .sec01 .round-wrap {
    height: clamp(200px, 73vw, 460px);
  }
}
.page-reform .sec01 .round {
  width: 100%;
  height: 100%;
  border-radius: 30% 70% 60% 40%/30% 40% 60% 70%;
  animation: round_anime 10s linear infinite;
  background-image: url(../img/reform/reform01.jpg);
  background-size: cover;
  overflow: hidden;
}
@keyframes round_anime {
  0% {
    border-radius: 72% 28% 32% 68%/50% 42% 58% 50%;
  }
  25% {
    border-radius: 50% 50% 50% 50%/50% 50% 50% 50%;
  }
  50% {
    border-radius: 70% 30% 30% 70%/50% 70% 30% 50%;
  }
  75% {
    border-radius: 50% 50% 50% 50%/50% 50% 50% 50%;
  }
  100% {
    border-radius: 72% 28% 32% 68%/50% 42% 58% 50%;
  }
}
.page-reform .sec01_text {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 576px) {
  .page-reform .sec01_text {
    font-size: 1.6rem;
  }
}
.page-reform .sec01_text + .sec01_text {
  margin-top: 30px;
}
@media screen and (max-width: 576px) {
  .page-reform .sec01_text + .sec01_text {
    margin-top: 20px;
  }
}
.page-reform .sec02 {
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .page-reform .sec02 {
    margin-bottom: 80px;
  }
}
.page-reform .sec02_head {
  margin-bottom: 80px;
  font-size: clamp(1.8rem, 4vw, 3.6rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.2em;
  color: #6e6e6e;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-reform .sec02_head {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 576px) {
  .page-reform .sec02_head {
    margin-bottom: 40px;
  }
}
.page-reform .sec02_list {
  height: calc(21.85vw + 50px);
  max-height: 400px;
  margin-bottom: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
}
.page-reform .sec02_list::before {
  content: "";
  display: block;
  width: calc(100% + (100vw - 100%) / 2);
  height: clamp(80px, 10vw, 193px);
  background: #edf1f4;
  border-radius: 0 0 30px 0;
  position: absolute;
  right: 0;
  bottom: -30px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page-reform .sec02_list {
    height: auto;
    max-height: inherit;
    justify-content: space-between;
  }
  .page-reform .sec02_list::before {
    height: 80%;
  }
}
.page-reform .sec02_item {
  width: 23%;
  max-width: 350px;
  height: 21.85vw;
  max-height: 350px;
  margin: 0 1%;
  background: #fff;
  border: 3px solid #ededed;
  border-radius: 50%;
  overflow: hidden;
}
.page-reform .sec02_item:nth-child(odd) {
  align-self: flex-end;
}
@media screen and (max-width: 768px) {
  .page-reform .sec02_item {
    width: 47%;
    height: 44.65vw;
    margin-bottom: 10px;
  }
}
.page-reform .sec02_item_text {
  height: 100%;
  font-size: clamp(1.4rem, 1.5vw, 2.4rem);
  line-height: 2;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: #004a95;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .page-reform .sec02_item_text {
    font-size: clamp(1.2rem, 3vw, 2.4rem);
  }
}
.page-reform .sec02_text {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 576px) {
  .page-reform .sec02_text {
    font-size: 1.6rem;
  }
}
.page-reform .sec02_text + .sec02_text {
  margin-top: 30px;
}
@media screen and (max-width: 576px) {
  .page-reform .sec02_text + .sec02_text {
    margin-top: 20px;
  }
}
.page-reform .reform-list {
  width: 100vw;
  height: 18.2291666667vw;
}
.page-reform .reform-list_item {
  width: 25vw;
  height: 18.2291666667vw;
}
@media screen and (max-width: 1200px) {
  .page-reform .reform-list {
    height: 24.3055555556vw;
  }
  .page-reform .reform-list_item {
    width: 33.3333333333vw;
    height: 24.3055555556vw;
  }
}
@media screen and (max-width: 768px) {
  .page-reform .reform-list {
    height: 36.4583333333vw;
  }
  .page-reform .reform-list_item {
    width: 50vw;
    height: 36.4583333333vw;
  }
}
@media (max-width: 480px) {
  .page-reform .reform-list {
    height: 72.9166666667vw;
  }
  .page-reform .reform-list_item {
    width: 100vw;
    height: 72.9166666667vw;
  }
}
.page-reform .lead-form_inner {
  position: relative;
}
.page-reform .lead-form_text {
  margin-bottom: 60px;
  font-size: clamp(1.6rem, 4vw, 3.6rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.2em;
  color: #6e6e6e;
  text-align: center;
}
@media screen and (max-width: 576px) {
  .page-reform .lead-form_text {
    width: 90vw;
    margin-bottom: 40px;
    margin-left: -3vw;
  }
}
.page-reform .lead-form_text .strong {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.page-reform .lead-form_text .strong::before {
  content: "";
  display: block;
  width: 100%;
  height: clamp(4px, 1.8vw, 20px);
  background: #ffe4a0;
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: -1;
}
.page-reform .lead-form_star {
  display: block;
  width: clamp(96px, 20vw, 288px);
  position: absolute;
  top: clamp(-100px, -6.667vw, -33px);
  left: clamp(-120px, -8vw, -25px);
}
.page-reform .lead-form_human {
  display: block;
  width: clamp(70px, 15vw, 210px);
  position: absolute;
  right: clamp(-75px, -5vw, -25px);
  bottom: clamp(-40px, -3vw, -10px);
}
@media (max-width: 1400px) {
  .page-reform .lead-form_human {
    right: -3vw;
  }
}

.entry-btn {
  width: 396px;
  height: 70px;
  margin: 0 auto 120px;
}
@media screen and (max-width: 576px) {
  .entry-btn {
    width: 300px;
    max-width: 100%;
  }
}
.entry-btn a {
  margin-bottom: 20px;
}
.entry-btn .tel {
  color: #000;
  text-align: center;
  padding: 3px 1%;
}
.entry-btn .tel .span03 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  font-family: "Bebas Neue", cursive;
  font-size: 3rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1200px) {
  .entry-btn .tel .span03 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .entry-btn .tel .span03 {
    font-size: 2.6rem;
  }
}
.entry-btn .tel .span03::before {
  content: "";
  background: url("../img/common/icon_freedial.svg") no-repeat center/contain;
  width: 40px;
  height: 23px;
  display: inline-block;
}

.entry-btn .tel .span03 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  font-family: "Bebas Neue", cursive;
  font-size: 3rem;
  letter-spacing: 0.05em;
}/*# sourceMappingURL=reform.css.map */