/*
*
* TOP styles
*
*/

/*****************************
COMMON
******************************/
@media (max-width: 767px){
  .home .section-title {
    font-size: 24px;
  }
  .home .section-sub-title {
    font-size: 14px;
  }
  body.home .has-img-right:not(.section-header) > .section-title,
  body.home .has-img-left:not(.section-header) > .section-title {
    text-align: left;
    font-size: 28px;
  }
}

/*****************************
SLIDER
******************************/
/* slider */
.fv_slider {
  position: relative;
}
.fv_title_block {
  position: absolute;
  top: min(7.6388vw, 110px);
  top: 100px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  z-index: 2;
  width: fit-content;
  width: 79%;
  width: 634px;
}
.fv_title_block::after {
  content: "";
  width: 77%;
  padding-top: 77%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: #fff;
  box-shadow: 0 0 30px rgba(0,0,0,.1);
  z-index: -1;
  border-radius: 50%;
}
.fv_summary {
  color: #1f4e79;
  font-size: clamp(18px, 1.875vw, 27px);
  font-size: 27px;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0;
}
.fv_summary em {
  font-style: normal;
  font-size: 120%;
}
.fv_title {
  font-size: clamp(35px,5vw,72px);
  font-size: 72px;
  font-weight: 700;
  letter-spacing: .1em;
  color: #1f4e79;
  padding: 0;
  border: 0 none;
  margin: .35em auto;
  line-height: 1.25;
}
.fv_title span {
  display: block;
  white-space: nowrap;
}
.fv_title span:nth-child(1) {
  color: #00a794;
}
.fv_txt {
  font-weight: 700;
  font-size: clamp(18px,1.66vw,24px);
  font-size: 24px;
  color: #000;
  line-height: 1.75;
  letter-spacing: .05em;
  padding-top: 1em;
  border-top: 5px dotted #1f4e79;
  width: fit-content;
  margin: auto;
}

.lightning_swiper{
  width: calc(100% - clamp(32px, 6.944vw, 100px));
  margin: 0 auto;
  overflow: hidden;
  border-radius: clamp(25px,3.4722vw,50px);
}
.ltg-slide picture{
  height: clamp(820px, 48.958vw, 940px);
  /*max-height: 940px;
  min-height: 820px;
  padding-top: 61.14%;*/
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
  background: #eaeae9;
  background: #e5e4e0;
}
.ltg-slide picture img{
  height: auto;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(to top, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
}
.lightning_swiper .swiper-pagination,
.lightning_swiper .swiper-button-next,
.lightning_swiper .swiper-button-prev{
  display: none;
}

@media (min-width: 450px){
  .fv_title_block .br{display: none;}
}
@media (max-width: 767.98px){
  .fv_title_block {
    width: calc(100% - 72px);
    top: 90px;
  }
  .fv_title_block::after{
    width: 84.8%;
    padding-top: 84.8%;
  }
  .fv_summary {
    font-size: 18px;
  }
  .fv_title {
    line-height: 1.428;
    font-size: 35px;
  }
  .fv_txt {
    line-height: 2.0;
    border-top-width: 3px;
    font-size: 18px;
  }
  .lightning_swiper {
    
  }
  .ltg-slide picture{
    height: calc(100svh - 90px - 16px);
  }
  .ltg-slide picture img {
    width: 140%;
    max-width: inherit;
    left: 50%;
    transform: translateX(-50%);
  }
  .admin-bar .ltg-slide picture{
    height: calc(100svh - 90px - 16px - 46px);
  }
}
@media (max-width: 449.98px){
  .fv_title_block::after{
    top: 43%;
  }
}
/*****************************
NEWS & INFO
******************************/
#top-info .wp-block-post.swiper-slide{
  align-items: flex-start;
  display: block;
  max-width: 100%;
}
#top-info .wp-block-post-date{
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 0;
}
@media (max-width: 600px) {
  #top-info .wp-block-query.cards_swiper{
    overflow: visible;
  }
  #top-info .is-layout-grid.swiper-wrapper{
    display: flex;
    gap: 15px;
  }
}


/*****************************
ABOUT
******************************/
/* about */
#top-about {
  position: relative;
  z-index: 0;
  padding-top: clamp(55px,9.02vw,130px);
  padding-bottom: clamp(50px,10.4166vw,150px);
  position: relative;
}
#top-about::before {
  content: "";
  width: 100%;
  height: 1.5625vw;
  min-height: 16px;
  position: relative;
  background: url(../img/wave-btm.svg) top center no-repeat;
  background-size: 100% auto;
  display: block;
  position: absolute;
  top: 0;
}
#top-about > * {
  z-index: 2;
  position: relative;
}
#top-about::after {
  content: "";
  display: block;
  position: absolute;
  background: #e8e3da url(../img/bg-beige.jpg) 0 0 repeat;
  background-size: clamp(256px,35.55vw,512px) auto;
  width: 100%;
  height: 43.75vw;
  max-height: 840px;
  /*height: 840px;*/
  bottom: 0;
  left: 0;
  -webkit-mask-image: radial-gradient( circle 300vw at 50% calc((300vw - min(11.45833vw,220px)) * -1), transparent 100%, #000 0 );
  
  z-index: 1;
}
#top-about .section-title {
  font-size: clamp(32px,3.33vw,48px);
}
#top-about .grid-cards {
  margin-top: clamp(30px,4.166vw,60px);
}

@media (max-width: 767px) {
  #top-about::before {
    background-size: 250% auto;
  }
  #top-about::after {
    height: 57.33vw;
  }
  #top-about .section-title span {
    display: block;
  }
}

/*****************************
ABOUT2
******************************/
#top-about2{
  background: linear-gradient(180deg, #fff 0%, #ffecd4 100%);
  padding-top: clamp(50px,10.4166vw,150px);
  padding-bottom: calc(clamp(50px,10.4166vw,150px) + min(5.55vw,80px));
  
  position: relative;
}
#top-about2::before {
  content: "";
  width: 100%;
  height: 1.5625vw;
  /*min-height: 16px;*/
  position: relative;
  background: url(../img/wave-top.svg) top center no-repeat;
  background-size: 100% auto;
  display: block;
  position: absolute;
  bottom: 100%;
  margin-bottom: calc(min(2px,0.1388vw) * -1);
  margin-bottom: -1px;
}
#top-about2 .container{
  max-width: 1460px;
}

#top-about2 .section-body.card {
  padding-bottom: clamp(45px,5.9027vw,85px);
}
#top-about2 .title-01 {
  margin-bottom: .75em;
}
.case-list{
  display: flex;
  flex-wrap: wrap;
  max-width: 1210px;
  margin: 0 auto;
  gap: 20px 10px;
  padding-left: 0;
}
.case-list li {
  width: calc(50% - 5px);
  position: relative;
  display: block;
  list-style: none;
}
.case-img img {
  position: absolute;
  right: 0;
  top: 0;
}
.case-img .img-2 {
  bottom: 0;
  left: 0;
  right: inherit;
  top: inherit;
}
.case-cap{
  margin-bottom: 0;
}
.case-cap dt {
  font-size: clamp(20px,1.944vw,28px);
  font-weight: 600;
  color: var(--vk-color-custom-1);
  margin-bottom: .75em;
}
.case-cap dt span.num {
  font-size: 130%;
  font-weight: 500;
}
.case-cap dd {
  font-size: clamp(20px,1.944vw,28px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--vk-color-custom-2);
}

@media (min-width: 767px){
  .case-cap dd .br {
    display: block;
  }
}

li.case-01{padding-top: min(32.66%, 196px);}
li.case-02{padding-top: min(25%, 150px);}
li.case-03{padding-top: min(15.66%, 172px); padding-bottom: 16px; padding-left: min(16.66%, 190px);}
li.case-04{padding-top: min(29%, 174px);}

li.case-01 img{width: min(77.833%, 467px); right: 20px;}
li.case-02 img{width: min(48.833%, 293px);}
li.case-03 img.img-1{width: min(45.5%, 273px);}
li.case-03 img.img-2{width: min(27.5%, 165px);}
li.case-04 img{width: min(62.66%, 376px); top: 16px;}

@media (max-width: 767px) {
  #top-about2 {
    background: linear-gradient(180deg, #fff 0%, #ffecd4 40%, #fff 100%);
    padding-bottom: 50px;
  }
  #top-about2::before {
    background-size: 250% auto;
    min-height: 16px;
    margin-bottom: -2px;
  }
  #top-about2 .section-body.card {
    padding-top: 30px;
    padding-left: clamp(15px,2.77vw,30px);
    padding-right: clamp(15px,2.77vw,30px);
    margin-left: -15px;
    margin-right: -15px;
  }
  #top-about2 .section-header-img{
    max-width: 270px;
  }
  #top-about2 .section-body.card > .title-01 {
    text-align: center;
  }
  
  .case-list li {
    width: 100%;
    padding-top: 0;
  }
  .case-img img {
    position: relative;
  }
  .case-img {
    text-align: center;
  }
  
  li.case-01{padding-top:0;}
  li.case-01 img{width: 100%;right: inherit;margin-bottom: -3.5em;}
  li.case-02 img{width: 56.26%; min-width: 193px;}
  li.case-03{padding-left: 0;padding-bottom: 0;}
  li.case-03 .case-img {display: flex;flex-direction: row-reverse;justify-content: center;align-items: flex-end;}
  li.case-03 img.img-1{width: 62.09%;}/*右*/
  li.case-03 img.img-2{width: 37.6%;}/*左*/
  li.case-04 img{width: 76.67%; min-width: 263px;}
}

/*****************************
ABOUT3
******************************/
#top-about3 {
  padding-bottom: 0;
}
#top-about3 .section-header {
  text-align: left;
  margin-bottom: clamp(30px,6.25vw,90px);
}
#top-about3 .section-header .section-title {
  line-height: 1.5;
}
#top-about3 .sub-section:nth-child(2) img {
  width: 66%;
  text-align: center;
}

@media (max-width: 767px){
  #top-about3.card{
    margin-top: 0;
    padding: 0;
    border-radius: 0;
  }
  #top-about3 .sub-section:not(.sub-section--col--two):nth-child(1){
    border-bottom: 0 none;
    padding-bottom: 0;
  }
  #top-about3 .title-01{
    font-size: 20px;
    text-align: center;
  }
}