@charset "UTF-8";
@import url("root.css");
/*-----*ブレイクポイントルール*-----*/
/* スマートフォン：max-width:767px */
/* タブレット：min-width:768px */
/* PC：min-width:1025px */
/***************************************
------------- TOP MAIN IMG -------------
***************************************/
#mv {
  background: #eef0f6;
  width: 100%;
  height: 70vh;
  max-height: 800px;
  overflow: hidden;
  .container {
    height: 100%;
    position: relative;
  }
}
#mv img { width: 100%; }

#mv .mv_img02 {
  width: auto;
  height: 85%;
  aspect-ratio: 10/15;
  z-index: 0;
  position: absolute;
  bottom: 0;
  right: -7.5%;
}

#mv .main_copy {
  position: absolute;
  top: 50%;
  bottom: auto;
  right: auto;
  left: min(10px, 2.5%);
  font-family: var(--title-font-family);
  z-index: 1;
  translate: 0 -50%;
}
#mv .main_copy .mv_img01 {
  width:min(67%, 600px);
  height: auto;
  aspect-ratio: 12/7;
  margin-bottom: 5%;
}

#mv .main_copy .text_wrap .copy_text_large {
  font-size: max(1rem, min(4.25vw, 46px));
  font-weight: 600;
  line-height: 1;
  margin: 0;
  position: relative;
  padding-bottom: 0.7em;
  margin-bottom: 0.5em;
}
#mv .main_copy .text_wrap .copy_text_large:after {
  content: "";
  display: block;
  position: absolute;
  width: min(calc(230 / 1920 * 100vw * 4.5 / 3), 230px);
  height: min(calc(5 / 1920 * 100vw * 4.5 / 3), 5px);
  top: auto;
  bottom: 0;
  right: auto;
  left: 0;
  margin: auto;
  background: var(--base-color01);
}
#mv .main_copy .text_wrap .copy_text_normal {
  font-size: max(1rem, min(2vw, 18px));
  font-weight: 500;
}

@media (min-width: 768px) {
  #mv .main_copy .text_wrap .copy_text_large,
  #mv .main_copy .text_wrap .copy_text_normal {
    text-shadow: 0 0 3px var(--base-color02), 0 0 3px var(--base-color02), 0 0 3px var(--base-color02);
  }
}

@media (max-width: 767px) {
  #mv {
    margin-top: min(120 / 900 * 100vw, 120px * 767 / 900);
    aspect-ratio: 1/1;
    height: auto;
  }
  #mv .main_copy {
    top: auto;
    bottom: 7.5%;
    left: 0;
    right: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.8);
    border-top: solid 1px #a49f9f;
    border-bottom: solid 1px #a49f9f;
    padding: min(35 / 900 * 100vw, 35px * 767 / 900) 0;
    
    translate: 0 0;
  }
  #mv .main_copy .text_wrap .copy_text_large {
    font-size: clamp(1.25rem, min(55 / 900 * 100vw, 55px * 767 / 900), 55px);
    text-align: center;
  }
  #mv .main_copy .text_wrap .copy_text_large:after {
    width: min(230 / 900 * 100vw, 230px * 767 / 900);
    height: min(5 / 900 * 100vw, 5px * 767 / 900);
    left: 0;
    right: 0;
  }
  #mv .main_copy .text_wrap .copy_text_normal {
    font-size: clamp(1.25rem, min(40 / 900 * 100vw, 40px * 767 / 900), 40px);
    text-align: center;
  }
}

/*splide*/
#mv .splide {
  width: 100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  opacity: 0;
}
#mv .splide.is-active {
  opacity: 1;
  transition: all 0.5s;
}
#mv .splide__arrow {
  display: none;
}
/*splide*/

/***************************************
------------- TOP COMMON -------------
***************************************/
.sec_about {
  padding: min(calc(100 / 1920 * 100vw * 4.5 / 3), 100px) 0 25vw;
  background: url(../img/bg01.jpg) no-repeat center bottom/100%;
}
@media (max-width: 767px) {
  .sec_about {
    padding: min(80 / 900 * 100vw, 80px * 767 / 900) 0 50vw;
    background: url(../img/sp_bg01.jpg) no-repeat center bottom/100%;
  }
}

/***************************************
------------- SERVICE -------------
***************************************/

.sec_service_ttl {
  padding: min(calc(100 / 1920 * 100vw * 4.5 / 3), 100px) 0 min(calc(50 / 1920 * 100vw * 4.5 / 3), 50px);
}
.sec_service_ttl .h2.en_h2 {
  margin: 0;
}
.sec_service_bnr {
  padding: min(calc(100 / 1920 * 100vw * 4.5 / 3), 100px) 0;
  background: var(--base-color02);
}

.service_wrap {
  display: flex;
  flex-wrap: nowrap;
  gap: 0 min(2%, 20px);
}

.service_wrap p {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0;
}

.service_wrap .border_wrap {
  width: calc((100% - min(2%, 20px)) / 3);
  border: solid 5px var(--base-color01);
  border-radius: 10px;
  background: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.service_wrap .service_ttl {
  background: var(--base-color01);
  color: #fff;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
  font-size: clamp(20px,3vw,28px);
  padding: 0.8em 0;
  line-height: 1.4;
  width: 100%;
}
.service_wrap .service_ttl small {
  font-size: 0.5em;
  font-weight: 500;
  display: block;
}

.service_wrap .service_img {
  width: fit-content;
  height: 150px;
  margin: 20px;
}
.service_wrap .service_img img {
  max-height: 150px;
  object-fit: contain;
}

.service_wrap .con_text {
  width: 100%;
}
.service_wrap .service_text {
  font-size: min(18px, 4vw);
  line-height: 1.5;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service_wrap .button {
  font-size: min(16px, 3vw);
  width: 90%;
  margin: 20px auto;
  padding: min(.5em, 10px) 0 min(.7em, 12px);
  border-radius: 4px;
  line-height: 1.0;
}

@media (max-width: 767px) {
  .service_wrap {
    flex-wrap: wrap;
    gap: 20px 0;
  }
  .service_wrap .border_wrap {
    width: 100%;
  }
}


/***************************************
------------- NEWS ------------
***************************************/
.sec_news {
  margin: min(calc(100 / 1920 * 100vw * 4.5 / 3), 100px) 0;
}
@media (max-width: 767px) {
  .sec_news {
    margin: min(80 / 900 * 100vw, 80px * 767 / 900) 0;
  }
}
.sec_news .bg_wrap {
  padding: min(calc(40 / 1920 * 100vw * 4.5 / 3), 40px) min(calc(50 / 1920 * 100vw * 4.5 / 3), 50px) min(calc(55 / 1920 * 100vw * 4.5 / 3), 55px);
  background: var(--base-color02);
  border-radius: min(calc(16 / 1920 * 100vw * 4.5 / 3), 16px);
}
@media (max-width: 767px) {
  .sec_news .bg_wrap {
    padding: min(50 / 900 * 100vw, 50px * 767 / 900) min(40 / 900 * 100vw, 40px * 767 / 900) min(55 / 900 * 100vw, 55px * 767 / 900);
    border-radius: min(16 / 900 * 100vw, 16px * 767 / 900);
  }
}
.sec_news .news-lists {
  margin: 0;
}
@media (max-width: 767px) {
  .sec_news .news-lists {
    grid-template-columns: max-content 1fr;
  }
}
.sec_news .news-lists dt,
.sec_news .news-lists dd {
  border-bottom: #dddee1 solid 2px;
}

.sec_column {
  margin: min(calc(100 / 1920 * 100vw * 4.5 / 3), 100px) 0;
}
@media (max-width: 767px) {
  .sec_column {
    margin: min(80 / 900 * 100vw, 80px * 767 / 900) 0;
  }
}





.sec_profile {
  margin: 0;
  padding: min(calc(100 / 1920 * 100vw * 4.5 / 3), 100px) 0;
  background: var(--base-color02);
}