@charset "utf-8";

/* ==========================================================
   home.css  ─  トップページ専用スタイル
   ========================================================== */
main{
  overflow: hidden;
  padding-top: 0;
}


.mainvisual {
  position: relative;
  z-index: 0;
}

.mainvisual__inner {
  display: flex;
  height: 800px;
}

.mainvisual__img{
  flex: 1;
  background-image: url(../shared/home/img_home_catch_01.jpg);
  background-size: cover;
  background-position: right center;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 28rem;
  padding-bottom: 11.5rem;
}

.mainvisual__title {
  font-family: var(--font-base_maru);
}

.mainvisual__catch1 {
  font-size: 2.5rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;
  font-weight: 500;
}

.mainvisual__catch2 {
  font-weight: 500;
}

.mainvisual__tel_nav {
  box-sizing: border-box;
  width: 35%;
  background-image: url(../shared/home/img_home_catch_02.jpg);
  padding: 13.25rem 0 0 5rem;
}

.mv_tel {
  line-height: 1;
  margin-bottom: 1rem;
}

.mv_tel dt {
  font-weight: 600;
  font-size: 1.2rem;
  margin-bottom: 0.25rem;
  padding-left: 2rem;
}

.mv_tel dd {
  font-family: var(--font-base_en);
  font-weight: 700;
  font-size: 2rem;
}

.mv_tel dd a {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  position: relative;
}

  .mv_tel dd a::before{
    content: "";
    display: inline-block;
    width: 2rem;
    aspect-ratio: 1;
    background-image: url(../shared/icon_tel_b.png);
    background-size: contain;
  }

.mv_nav {
    display: flex;
    font-family: var(--font-base_maru);
    font-size: 1.6rem;
    margin-left: 1rem;
    gap: 0.1rem;
}

.mv_nav li {
    writing-mode: vertical-rl;
}

.mv_nav li a {
  display: inline-block;
  transition: all 0.3s ease;
}

.mv_nav li a:hover {
  color: var(--main_color3);
}







/* ==================================================
COMMON
================================================== */

.common_w{
  max-width: 920px;
  margin: 0 auto;
}

.section__header {
  line-height: 1;
  margin-bottom: 2rem;
}
.section__header h2 {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.section__header .lbl_en {
  font-family: var(--font-base_en);
  font-weight: 700;
  font-size: 3rem;
}

.section__inner {
}

.section__footer {
}

.btn_goto {
}

.btn_goto a {
}


/* ==================================================
SERVICES
================================================== */
.services {
  position: relative;
  z-index: 1;
  background-image: url(../shared/home/bg_home_catch.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  margin-top: -12rem;
  padding-top: 17rem;
  padding-bottom: 5rem;
}

.services .section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

.services .section__inner {
  position: relative;
  z-index: 1;
}

  .pickup_news_blog {
    max-width: 920px;
    margin: 2rem auto;
    position: relative;
  }

    .pickup_news_blog ul {
      width: 33.75rem;
    }

    .pickup_news_blog li {}

    .pickup_news_blog li .slide_obj {
      width: 33.75rem;
      line-height: 1.4;
    }

    .pickup_news_blog li .slide_obj a {
      display: flex;
      gap: 1rem;
    }

    .pickup_news_blog li .slide_obj .fig {
      width: 17.5rem;
      aspect-ratio: 280 / 175;
      overflow: hidden;
      border-radius: 1rem;
      /*background-color: #fff;*/
    }

    .pickup_news_blog li .slide_obj .fig img{
      min-width: 100%;
      height: auto;
      border-radius: 1rem;
    }

    .pickup_news_blog li .slide_obj dl {
      flex: 1;
      padding-top: 0.4rem;
      padding-right: 1rem;
    }

    .pickup_news_blog li .slide_obj dt {
      font-weight: 600;
      font-size: 1.1rem;
      margin-bottom: 0.5rem;
    }

    .pickup_news_blog li .slide_obj dd {
      font-size: 0.9rem;
    }

    .pickup_news_blog .slick-prev,
    .pickup_news_blog .slick-next {
      width: 2rem;
      height: auto;
      aspect-ratio: 1;
      border-radius: 50%;
      background-color: #fff;
      background-size: 1rem auto;
      background-repeat: no-repeat;
      background-position: center;
      transition: all 0.3s ease;
    }

    .pickup_news_blog .slick-prev:hover,
    .pickup_news_blog .slick-next:hover {
      background-color: var(--base_color1);
    }


    .pickup_news_blog .slick-prev{
      left: -3rem;
      background-image: url(../shared/icon_arrow_b_l.png);
    }

    .pickup_news_blog .slick-next{
      right: -3rem;
      background-image: url(../shared/icon_arrow_b_r.png);
    }


    .pickup_news_blog .slick-prev::before,
    .pickup_news_blog .slick-next::before{
      content: none;
    }

    .pickup_news_blog ul.slick-dots{
        bottom: -2.5rem;
    }


.services__list {
  max-width: 1000px;
  height: 300px;
  margin: 0 auto;
}

.services__list ul {
  position: relative;
  line-height: 1;
  font-weight: 100;
  width: 100%;
  height: 100%;
}

.services__list li {
  position: absolute;
}

@keyframes fadeFloat {
  0% {
    opacity: 0;
    filter: blur(20px);
  }

  10% {
    opacity: 1;
    filter: blur(0);
  }

  70% {
    opacity: 1;
    filter: blur(0);
  }

  100% {
    opacity: 0;
    filter: blur(10px);
  }
}

@keyframes drift {
  0% {
    transform: translate(0,0);
  }

  100% {
    transform: translate(3.5rem,-2rem);
  }
}

@keyframes dotFloat {
  from {
    transform: translateY(0px);
  }

  to {
    transform: translateY(-16px);
  }
}

.keyword {
  opacity: 0;
  transform: translateY(2rem) scale(0.8);
  animation:
    fadeFloat 5s infinite ease-in-out,
    drift 4s infinite ease-in-out alternate;
  white-space: nowrap;
}

.keyword.xbig {
  font-size: 7rem;
}

.keyword.big {
  font-size: 5rem;
}

.keyword.mid {
  font-size: 3.75rem;
}

.keyword.small {
  font-size: 3rem;
}

.keyword.blue {
  color: var(--main_color3);
}

.keyword.green {
  color: var(--main_color4);
}

.keyword.orange {
  color: var(--main_color2);
}

/*縦書き*/
.k2,
.k6,
.k8,
.k13{
  writing-mode: vertical-rl;
}

.k1 {
  top: -7rem;
  right: calc(50% - 32rem);
  animation-delay: .2s;
}

.k2 {
  top: -8rem;
  left: calc(50% - 21rem);
   animation-delay: .5s;
}

.k3 {
  top: 5rem;
  left: calc(50% - 39rem);
   animation-delay: .7s;
}

.k4 {
    top: 13rem;
    right: calc(50% - 40rem);
   animation-delay: .1s;
}

.k5 {
  top: 0rem;
  right: calc(50% - 32rem);
  animation-delay: .8s;
}

.k6 {
  top: -12rem;
  right: calc(50% - 40rem);
 animation-delay: 1.1s;
}

.k7 {
  top: 10rem;
  right: calc(50% - 38rem);
 animation-delay: 1.3s;
}

.k8 {
  top: 1rem;
  right: calc(50% - 16.5rem);
 animation-delay: 1.6s;
}

.k9 {
  top: -8rem;
  left: calc(50% - 34.5rem);
 animation-delay: 2s;
}

.k10 {
  top: 13rem;
  left: calc(50% - 40.5rem);
 animation-delay: 1.5s;
}

.k11 {
  top: 8rem;
  right: calc(50% - 9.5rem);
 animation-delay: 3s;
}

.k12 {
  top: 8rem;
  left: calc(50% - 19.5rem);
 animation-delay: 4s;
}

.k13 {
  top: -2.5rem;
  left: calc(50% - 28.5rem);
 animation-delay: 3.5s;
}

.k14 {
  top: 16rem;
  left: calc(50% - 45rem);
 animation-delay: 2.2s;
}

.k15 {
  top: 1rem;
  left: calc(50% - 10rem);
  animation-delay: 0.2s;
}



.mv_news_blog {
  width: 15.5rem;
  position: absolute;
  top: -3.5rem;
  right: calc(50% - 32rem);
  z-index: 1;
}

.mv_news_blog a {
  display: block;
  border-radius: 50%;
  box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.mv_news_blog a:hover {
  box-shadow: none;
  box-shadow: 0 0 10px 1px var(--main_color1);
  transform: translateY(2px);
}

  .mv_news_blog a img{
    transition: all 0.3s ease;
  }

  .mv_news_blog a:hover img{
    filter: brightness(1.05);
  }

.dots_list{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

  .dots_list ul{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
  }

  .dots_list ul li.d1 { width: 22px; height: 22px; top: 10%; left: 80%; }
  .dots_list ul li.d2 { width: 14px; height: 14px; top: 35%; left: 52%; animation-delay: 1s; }
  .dots_list ul li.d3 { width: 36px; height: 36px; top: 30%; left: 65%; animation-delay: .5s; }
  .dots_list ul li.d4 { width: 28px; height: 28px; top: 40%; left: 37%; animation-delay: 1.5s; }
  .dots_list ul li.d5 { width: 18px; height: 18px; top: 50%; left: 85%; animation-delay: 2.5s; }
  .dots_list ul li.d6 { width: 44px; height: 44px; top: 60%; left: 12%; animation-delay: 0.8s; }

.dot {
  position: absolute;
  border-radius: 50%;
  animation: dotFloat 6s infinite ease-in-out alternate;
}

.dot.blue {
  background: #156bc0;
}

.dot.green {
  background: #3ca543;
}

.dot.orange {
  background: #f28b12;
}

.dot.red {
  background: #ff295c;
}


/* ==================================================
ABOUT US
================================================== */
.aboutus {
  background-color: var(--base_color1);
  background-image: url(../shared/home/bg_aboutus.png);
  background-repeat: no-repeat;
  background-size: 19rem auto;
  background-position: top 5rem left calc(50% - 36rem);
  padding: 5rem 0;
}

.aboutus .section__header {

}

.aboutus .section__inner {
  margin-bottom: 5rem;
  display: flex;
}

.aboutus__text{
  box-sizing: border-box;
  width: 80%;
  padding-left: 5rem;
  padding-right: 5rem;
}

.aboutus .section__inner .aboutus__catch {
  font-size: 2.6rem;
  font-family: var(--font-base_maru);
  margin-bottom: 2.75rem;
  line-height: 1.2;
}

.aboutus .section__inner .aboutus__desc {
    font-size: 1.14rem;
    line-height: 1.8;
}

.aboutus__text .btn_goto{
  margin-top: 2rem;
}

  .aboutus__text .btn_goto a{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: var(--text-color);
    color: #fff;
    padding: 0.75rem 2rem 0.75rem 1rem;
    border-radius: 100vh;
    line-height: 1;
    transition: all 0.3s ease;
  }

    .aboutus__text .btn_goto a::before{
        content: "";
        width: 2rem;
        aspect-ratio: 1;
        border-radius: 50%;
        background-color: var(--text-color);
        background-image: url(../shared/icon_arrow_w.png);
        background-size: 1rem auto;
        background-position: left calc(50% + 1px) center;
        background-repeat: no-repeat;
    }

  .aboutus__text .btn_goto a:hover{
    background-color: #fff;
    color: var(--text-color);
  }

  .aboutus__text .btn_goto a:hover::before{

  }


.aboutus__fig{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

.aboutus__fig_img{
  position: absolute;
  top: 0;
  left: -17.5rem;
  width: 30rem;
  /*border-radius: 2rem;*/
  border-radius: 1.75rem;
  overflow: hidden;
}

.aboutus__nav {
}

.aboutus__nav ul {
  display: flex;
  gap: 2.5rem;
}

.aboutus__nav li {
  width: calc((100% - 5rem) / 3);
}

.aboutus__nav a {
  display: flex;
  flex-direction: column;
}

.aboutus__nav .fig {
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.aboutus__nav .fig img {
  transition: all 0.3s ease;
}

.aboutus__nav a:hover .fig img {
  transform: scale(1.05);
  filter: brightness(1.1);
}

.aboutus__nav .lbl {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}

.aboutus__nav .lbl::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--text-color);
  background-size: 1rem auto;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../shared/icon_arrow_w_s.png);
}


/* ==================================================
BUSINESS
================================================== */

.business {
  padding: 5rem 0;
}

.business .section__header {
}

.business .section__inner {
}

.business__list {
}

.business__list ul {
}

.business__list_item {
  position: relative;
  opacity: 0;
  transition: all 0.8s ease;
  transform: translateY(2rem);
}

.business__list_item.show {
  opacity: 1;
  transform: translateY(0);
}

.business__list_item a {
  display: block;
  padding: 5rem;
  position: relative;
  z-index: 1;
}

.business__list_item h3 {
  position: relative;
  z-index: 1;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: all 0.3s ease;
}

  .business__list_item h3::after{
    content: "";
    display: inline-block;
    width: 2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--text-color);
    background-size: 1rem auto;
    background-repeat: no-repeat;
    background-position: left calc(50% + 1px) center;
    background-image: url(../shared/icon_arrow_w.png);
    transition: all 0.3s ease;
  }

    .business__list_item h3::before{
      font-family: var(--font-base_en);
      position: absolute;
      right: 0;
      top: 0;
      font-size: 3.25rem;
      font-weight: normal;
      line-height: 1;
    }

.business__list_item p {
  font-size: 1.1rem;
}

.business__list_tags {
  font-size: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
  margin-top: 1rem;
}

.business__list_tags li::before {
  content: "#"; 
}

.business__list_item .img_business::before{
  content: "";
  position: absolute;
  width: 1.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #555;
  z-index: 1;
}

.business__list_item.for_custom {
  padding-right: 16rem;
  z-index: 1;
}

  .business__list_item.for_custom a:hover h3{
      color: var(--main_color3);
  }

  .business__list_item.for_custom h3::before{
      content: "01";
      color: var(--main_color3);
  }

  .business__list_item.for_custom a:hover h3::after{
    background-color: var(--main_color3);
  }

  .business__list_item.for_custom .img_business{
    position: absolute;
    top: 0;
    right: -25rem;
    z-index: 0;
    width: 42.5rem;
  }

  .business__list_item.for_custom .img_business::before{
      background-color: var(--main_color3);
      left: -0.75rem;
      top: 6rem;
  }

.business__list_item.for_reform {
  padding-left: 16rem;
}

  .business__list_item.for_reform a:hover h3{
      color: var(--main_color2);
  }

  .business__list_item.for_reform h3::before{
      content: "02";
      color: var(--main_color2);
  }

  .business__list_item.for_reform a:hover h3::after{
      background-color: var(--main_color2);
  }

  .business__list_item.for_reform .img_business{
    position: absolute;
    top: -16rem;
    left: -25rem;
    z-index: 0;
    width: 42.5rem;
  }

  .business__list_item.for_reform .img_business::before{
      background-color: var(--main_color2);
      right: -0.75rem;
      top: 22rem;
  }

.business__list_item.for_zeh {
  padding-right: 16rem;
}

  .business__list_item.for_zeh a:hover h3{
      color: var(--main_color4);    
  }

  .business__list_item.for_zeh h3::before{
      content: "03";
      color: var(--main_color4);
  }

  .business__list_item.for_zeh a:hover h3::after{
      background-color: var(--main_color4);
  }

  .business__list_item.for_zeh .img_business{
    position: absolute;
    top: 0;
    right: -25rem;
    z-index: 0;
    width: 42.5rem;
  }

    .business__list_item.for_zeh .img_business img{
      border-radius: 1rem;
    }

  .business__list_item.for_zeh .img_business::before{
      background-color: var(--main_color4);
      left: -0.75rem;
      top: 6rem;
  }

.business__list_item.for_custom .business__list_tags{
  color: var(--main_color3);
}

.business__list_item.for_reform  .business__list_tags{
  color: var(--main_color2);
}



/* ==================================================
WORKS
================================================== */
.works {
  background: var(--light_color1);
  padding: 5rem 0 2.5rem;
}

.works .section__header,
.news_blog .section__header {
  position: relative;
}

  .works .section__header .more,
  .news_blog .section__header .more{
    position: absolute;
    bottom: 0;
    right: 0;
  }

    .works .section__header .more a,
    .news_blog .section__header .more a{
      display: flex;
      align-items: center;
      gap: 1rem;
    }

      .works .section__header .more a::after,
      .news_blog .section__header .more a::after{
        box-sizing: border-box;
        content: "";
        display: inline-block;
        width: 2rem;
        aspect-ratio: 1;
        border-radius: 50%;
        background-color: var(--text-color);
        background-size: 1rem auto;
        background-repeat: no-repeat;
        background-position: left calc(50% + 1px) center;
        background-image: url(../shared/icon_arrow_w.png);
        transition: all 0.3s ease;
      }

      .works .section__header .more a:hover::after,
      .news_blog .section__header .more a:hover::after{
        transform: translateX(0.25rem);
      }


.works__slider {
  width: 57.5rem;
  margin: 0 auto;
}

.works__slider ul {
}

.works__slider li {
}

.works__slider_item {
  width: 17.5rem;
  margin: 0 1.25rem;
}

.works__slider_item a {
  display: block;
}

.works__slider_item_img {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 0 0.5rem 0.5rem  0.5rem;
  background-color: #fff;
}

.works__slider_item_img img {
  position: relative;
  z-index: 0;
  transition: .3s all ease;
}

a:hover .works__slider_item_img img {
  transform: scale(1.05);
  filter: brightness(1.1);
}

.works__slider_item_cat {
    padding: 0.1rem 0.8rem 0.2rem;
    background: #333333;
    color: #fff;
    font-size: 0.9rem;
    position: absolute;
    top: 0;
    left: 0;
}

.works__slider_item_lbl {
  margin: 0.5rem 0.2rem 0 0.2rem;
}

    .works__slider .slick-prev,
    .works__slider .slick-next {
      width: 2rem;
      height: auto;
      aspect-ratio: 1;
      border-radius: 50%;
      background-color: #fff;
      background-size: 1rem auto;
      background-repeat: no-repeat;
      transition: all 0.3s ease;
    }

    .works__slider .slick-prev:hover,
    .works__slider .slick-next:hover {
      background-color: var(--base_color1);
    }

    .works__slider .slick-prev{
      left: -4rem;
      background-image: url(../shared/icon_arrow_b_l.png);
      background-position: left calc(50% - 1px) center;

    }

    .works__slider .slick-next{
      right: -4rem;
      background-image: url(../shared/icon_arrow_b_r.png);
      background-position: right calc(50% - 1px) center;
    }

    .works__slider .slick-prev::before,
    .works__slider .slick-next::before{
      content: none;
    }

.slick-dots li button:hover,
.slick-dots li button:focus{
    color: #f54b0f;
    opacity: 0.75;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before{
    color: #f54b0f;
    opacity: 0.75;
}

.slick-dots li.slick-active button:before{
    color: #f54b0f;
    opacity: 1;
}

.works__slider ul.slick-dots{
    bottom: -2.5rem;
}

.works__slider ul.slick-dots li{
    padding-left: 0;
    margin: 0 0.3rem;
}

.works__slider ul.slick-dots li:before{
    display: none;
}

.slick-dots li button:before{
    font-size: 0.55rem;
}



/* ==================================================
NEWS BLOG
================================================== */

.news_blog {
  background: var(--light_color1);
  padding: 5rem 0;
}

.news_blog .section__inner {
}

.sec-news__item{
  border-bottom: 1px solid rgba(0,0,0,0.15);
}

  .sec-news__item a{
    display: flex;
    padding: 1em;
    /*transition: all 0.3s ease;*/
  }

  .sec-news__item a:hover{
    /*background-color: #fff;*/
  }

  .sec-news__date_category{
    width: 9em;
  }

  .sec-news__category_title{
    flex: 1;
  }

  .sec-news__category .lbl_cat::before {
    font-family: FontAwesome;
    content:"\f111";
    margin-right: 0.5em;
    font-size: 0.8rem;
    transform: translateY(-0.1rem);
  }

  .sec-news__item .sec-news__category_large{
    font-weight: 500;
  }

  .sec-news__item:has(.cat_event) .sec-news__category_large::before,
  .sec-news__item:has(.cat_news) .sec-news__category_large::before{
    content:"お知らせ";
     color: var(--main_color3);
  }

  .sec-news__item:has(.cat_club) .sec-news__category_large::before,
  .sec-news__item:has(.cat_genba) .sec-news__category_large::before{
     content:"ブログ";
     color: var(--main_color4);
  }

  .sec-news__date{
    font-family: var(--font-base_en);
  }

  .sec-news__title{
    font-weight: 500;
    transition: all 0.3s ease;
  }

  a:hover .sec-news__title{
    color: var(--main_color3);
  }




/* ==================================================
COMPANY
================================================== */

.company {
  padding: 5rem 0 2.5rem;
}

.company .section__inner {
  width: 55rem;
  aspect-ratio: 1760 / 528;
  margin: 0 auto;
}

.company .section__inner a {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    padding: 3.5rem 0 0;
    border-radius: 1rem;
    overflow: hidden;
    transition: all 0.3s ease;
}

.company .section__inner a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../shared/home/bg_company.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transition: all 0.3s ease;
}

.company .section__inner a:hover::before {
    transform: scale(1.05);
    filter: brightness(1.1);
}

.goto_company__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
}

.goto_company__header h2 {
  font-size: 1.1rem;
  margin-bottom: 1rem;
}

.goto_company__header .lbl_en {
    font-family: var(--font-base_en);
    font-weight: 700;
    font-size: 3rem;
    position: relative;
}

.goto_company__header .lbl_en::after {
    box-sizing: border-box;
    content: "";
    display: inline-block;
    width: 2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: #fff;
    background-size: 1rem auto;
    background-repeat: no-repeat;
    background-position: left calc(50% + 1px) center;
    background-image: url(../shared/icon_arrow_b_r.png);
    transition: all 0.3s ease;
    position: absolute;
    right: -3.5rem;
    top: 0.5rem;
}

a:hover .goto_company__header .lbl_en::after {
    transform: translateX(0.25rem);
    background-color: var(--base_color1);
}

.goto_company__inner {
  position: relative;
  z-index: 1;
}

.goto_company__inner p {
  text-align: center;
  font-size: 1.1rem;
}


/*1280px以下*/
@media screen and (min-width:1px) and (max-width:1280px){

}


/*1180px以下*/
@media screen and (min-width:1px) and (max-width:1180px){
    .mainvisual__img{
        justify-content: flex-start;
        padding-right: 0;
        padding-left: 7vw;
    }
}

/*1080px以下*/
@media screen and (min-width:1px) and (max-width:1080px){

}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
  .mainvisual__inner{
    height: 70vw;
  }

  .mainvisual__tel_nav{
    padding-left: 3.5rem;
  }

  .mv_news_blog{
    top: -2.5rem;
    right: calc(50% - 30rem); 
  }

  .common_w{
    width: 90vw;
  }

  .services{
    margin-top: -14rem;
  }

  .pickup_news_blog{
    padding-left: 10vw;
    padding-right: 10vw;
  }

  .company .section__inner{
    width: 90vw;
  }
}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:575px) {

.mainvisual {}

.mainvisual.show {}

  .mainvisual__inner{
    height: 135vw;
  }

.mainvisual__img {
  background-position: left -82vw center;
  padding-left: 9vw;
  padding-bottom: 8.5rem;
}

.mainvisual__title {}

.mainvisual__catch1 {
  font-size: 2.1rem;
  margin-bottom: 1rem;
}

.mainvisual__catch2 {}

  .mainvisual__tel_nav{
    width: 16vw;
  }

  .mv_tel,
  .mv_nav{
    display: none;
  }

.section__header h2 {}

.section__header .lbl_en {
  font-size: 2.3rem;
}

.services {
  padding-top: 15rem;
  padding-bottom: 1.5rem;
  margin-top: -14rem;
}

.services__list{
  height: 40vw;
}


.keyword.xbig {
  font-size: 4rem;
}

.keyword.big {
  font-size: 3rem;
}

.keyword.mid {
  font-size: 1.5rem;
}

.keyword.small {
  font-size: 1rem;
}

.k1 {
  top: -1rem;
  right: 1rem;
}

.k2 {
  top: 0;
  left: 6rem;
}

.k3 {
  top: 5rem;
  left: 10rem;
}

.k4 {
  top: 12rem;
  right: 0;
}

.k5 {
  top: 2rem;
  right: 5rem;
}

.k6 {
  top: -8rem;
  right: 1rem;
}

.k7 {
  top: 10rem;
  right: 4rem;
}

.k8 {
  top: 1rem;
  right: 12rem;
}

.k9 {
  top: -7rem;
  left: 1rem;
}

.k10 {
  top: 9rem;
  left: 9rem;
}

.k11 {
  top: 4rem;
  right: 1rem;
}

.k12 {
  top: 8rem;
  left: 0;
}

.k13 {
  top: -2.5rem;
  left: 1.5rem;
}

.k14 {
  top: 11rem;
  left: 6rem;
}

.k15 {
  top: 1rem;
  left: 10rem;
}

.mv_news_blog{
    width: 13rem;
    position: absolute;
    top: -1rem;
    right: 1.5rem;
    z-index: 1;
}

.pickup_news_blog{
  padding-left: 12vw;
  padding-right: 5vw;
  margin-top: 2.5rem;
}

.pickup_news_blog ul{
  width: 50vw;
}

.pickup_news_blog li .slide_obj{
  box-sizing: border-box;
  width: 50vw;
  padding-right: 0;
  padding-left: 0;
}

  .pickup_news_blog li .slide_obj a{
    flex-direction: column;
  }

    .pickup_news_blog li .slide_obj .fig {
      width: 100%;
    }

    .pickup_news_blog li .slide_obj dd{
        display: none;
    }

    .pickup_news_blog .slick-next{
    }

    .pickup_news_blog .slick-prev{
    }

.common_w{
    width: 88vw;
}

.section__header {
  margin-bottom: 1.5rem;
}

.works .section__header .more a::after,
.news_blog .section__header .more a::after{
  width: 1.5rem;
}

.aboutus {
  padding: 4rem 0 2.5rem;
  background-size: 14rem auto;
  background-position: top 3rem left -5rem;
}

.aboutus .section__header,
.business .section__header,
.works .section__header,
.news_blog .section__header{
    padding-left: 1.5rem;
}

.aboutus .section__inner{
  margin-bottom: 2rem;
}

.aboutus__text {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.aboutus .section__inner .aboutus__catch{
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.aboutus .section__inner .aboutus__desc{
    padding-left: 1.5rem;
}

.aboutus__text .btn_goto{
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
}

.aboutus__fig_img {
  width: 25rem;
  left: -8.5rem;
  border-radius: 1.25rem;
}

.aboutus__nav ul {
  gap: 1rem;
}

.aboutus__nav li {
  width: calc((100% - 2rem) / 3);
}

.aboutus__nav .fig{
  border-radius: 0.5rem;
}

.aboutus__nav .lbl{
  font-size: 1rem;
}

.aboutus__nav .lbl::before{
  width: 1rem;
}

.business {
  padding: 3rem 0 1.5rem;
}

.business__list_item{
  margin-bottom: 2rem;
}

.business__list_item:last-child{
  margin-bottom: 0;
}

.business__list_item a {
  padding: 0.5rem;
}

.business__list_item.for_custom,
.business__list_item.for_zeh{
  padding-right: 10rem
}

.business__list_item.for_reform{
  padding-left: 10rem
}

.business__list_item .img_business::before{
  width: 1rem;
}

.business__list_item.for_custom .img_business{
    width: 18rem;
    right: -9rem;
}

.business__list_item.for_reform .img_business{
  width: 19rem;
  top: 0;
  left: -10rem;
}

.business__list_item.for_zeh .img_business{
    width: 30rem;
    right: -21.5rem;
}

.business__list_item h3 {
  font-size: 1.7rem;
}

.business__list_item h3::before{
  font-size: 2.5rem;
}

.business__list_item h3::after{
  width: 1.5rem;
}

.business__list_item p {
  font-size: 1rem;
  line-height: 1.5;
}

.business__list_item p br{
  display: none;
}

.business__list_tags {
  font-size: 0.8rem;
  line-height: 1.5;
  margin-top: 0.75rem;
}

.business__list_item.for_custom .img_business::before{
  left: -0.5rem;
  top: 1.5rem;
}

.business__list_item.for_reform .img_business::before {
    right: -0.5rem;
    top: 1.5rem;
}

.business__list_item.for_zeh .img_business::before{
  left: -0.5rem;
  top: 1.5rem;
}

.works {
  padding: 2.5rem 0 1.5rem;
}

.works__slider {
  width: 82vw;
}

.works__slider > ul {}

.works__slider_item {
  box-sizing: border-box;
  width: 39vw;
  margin: 0 2vw;
}

.works__slider .slick-prev,
.works__slider .slick-next{
  width: 5vw;
}

.works__slider .slick-prev{
  left: -7vw;
}

.works__slider .slick-next{
  right: -7vw;
}

.news_blog{
  padding: 1.5rem 0 2.5rem;
}

  .sec-news__item a{
    line-height: 1.5;
    padding: 0.7em;
  }

.sec-news__date_category{
  width: 6.5em;
}

.company {
  padding: 0
}

.company .section__inner {
  width: 100%;
  aspect-ratio: initial;
}

.company .section__inner a {
  border-radius: 0;
  padding: 2rem 3.5rem 1rem;
}

.goto_company__header {
  margin-bottom: 1.5rem;
}

.goto_company__header h2 {
  margin-bottom: 1rem;
}

.goto_company__header .lbl_en {
    font-size: 2.3rem;
}

.goto_company__header .lbl_en::after,
.yano_contents__header .lbl_en a::after {
  top: 0.125rem;
}

.goto_company__inner p {
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.6;
}

.goto_company__inner p br{
  display: none;
}



}

/* ##########印刷用########## */
@media print{

    
}