
.l-scroll-area{
  position: relative;
    height: 2280px;
}

@media only screen and (max-width: 768px) {
.l-scroll-area{
        height: 190vh;
}
}



.l-scroll-area-back{
  position: absolute;
  top:100px;
      width: 100%;
}

@media only screen and (max-width: 768px) {
.l-scroll-area-back{
  top:60px;
}
}



.l-scroll-content{
  position: absolute;
  top:20%;
  width:720px;
  margin-left: 10%;
        z-index: 10;
}
@media only screen and (max-width: 1600px) {
.l-scroll-content{
  width:40%;
}
}
@media only screen and (max-width: 768px) {
.l-scroll-content{
  display: none;
}

}

.l-scroll-content.is-sticky{
  position: sticky;
  top:28%;
}

svg path {
  fill: #000000;
}


.l-scroll-content.is-sticky-end{
  position: absolute;
    top: 58%;
}

.l-scroll-sticky.path-white svg path {
  fill: #ffffff;
}


.l-scroll-content.is-sticky-end h2 svg path {
  fill: #ffffff;
}





#section01{
  background-image: url(../../images/top/fv_pc.png);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*    margin-top: 100px;  */
    width:100%;
        height:980px;
}

@media only screen and (max-width: 768px) {
#section01{
   height: 90vh;
}
}

@media only screen and (max-width: 768px) {
#section01{
  background-image: url(../../images/top/fv_sp.png);
          background-position: bottom;
}
}

.l-top-content__section01{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height:980px;
}

@media only screen and (max-width: 768px) {
.l-top-content__section01{
   height: 90vh;
}
}

.l-top-content__section01 h2{
  width:720px;
}

.l-main__copy-sp{
  display: none;
}

@media only screen and (max-width: 768px) {
.l-main__copy-sp{
  display: block;
  width:90%;
  margin-top: -9vh;
  margin-right: auto;
   margin-left: auto;
 margin-bottom: -9vh;
        position: relative;
        z-index: 10;
}
}

#section02{
  background-image: url(../../images/top/about_pc.png);
    background-position: center left;
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 100px;
        height:1100px;
}

@media only screen and (max-width: 768px) {
#section02{
  background-image: url(../../images/top/about_sp.png);
          background-position: top;
      padding-top: 0;
     height: 90vh;
}
}

.l-top-content__section02{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height:1117px;
}

@media only screen and (max-width: 768px) {
.l-top-content__section02{
    height:80vh;
}

}

.l-top-content__section02 h2{
  width:540px;
  margin-right:10%;
}
@media only screen and (max-width: 1600px) {
.l-top-content__section02 h2 {
    width: 40%;
    margin-right: 0;
}
}

@media only screen and (max-width: 768px) {
    .l-top-content__section02 h2 {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        padding-bottom: 100px;
    }
}


#section03{
    padding-top:150px;
    padding-bottom:150px;
     background-color: #f7f2f9;
}

@media only screen and (max-width: 768px) {
#section03{
    padding-top:100px;
    padding-bottom:50px;
}

}

.l-top-content__section03{
    display: flex;
    justify-content: space-between;
}
@media only screen and (max-width: 768px) {
.l-top-content__section03{
  padding: 0;
  flex-direction: column;
  align-items: stretch;
}
}


.l-main-title__section03{
  width:290px;
  align-self: flex-start;
}

@media only screen and (max-width: 1600px) {
.l-main-title__section03{
  width:25%;
}

}

@media only screen and (max-width: 768px) {
    .l-main-title__section03 {
        width: 54%;
    }
}

.l-main-copy__section03{
   width:calc(100% - 770px);
}

@media only screen and (max-width: 1600px) {

.l-main-copy__section03{
   width:40%;
}

}

@media only screen and (max-width: 768px) {

.l-main-copy__section03{
   width:100%;
}

}

.l-main-button_more{
  width:240px;
  margin-right: 20px;
  margin-left: 20px;
          align-self: flex-end;
}


@media only screen and (max-width: 1600px) {
.l-main-button_more{
  width:20%;
}

}

@media only screen and (max-width: 768px) {
    .l-main-button_more {
        width: 60%;
        margin-top: 20px;
        margin-right: 0;
    }
}

#section04{
  background-image: url(../../images/top/back-business.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    margin-top:150px;
}

.l-top-content__section04{
    display: flex;
    justify-content:flex-start;
}

@media only screen and (max-width: 768px) {
.l-top-content__section04{
    flex-wrap: wrap;
}

}

.l-main-title__section04{
  width:290px;
}

@media only screen and (max-width: 768px) {
.l-main-title__section04{
        width: 50%;
        margin-bottom: 20px;
}
}

.l-main-tile__section04{
    display: flex;
    justify-content: center;
    align-items: center;
    height:1000px;
}

@media only screen and (max-width: 768px) {
  .l-main-tile__section04{
height: auto;
    flex-wrap: wrap;
  }
}

.l-main-tile__tile01{
    align-self: flex-end;
      margin-right: 15px;
  margin-left: 15px;
    position: relative;
}

.l-main-tile__tile02{
    align-self: center;
    margin-right: 15px;
  margin-left: 15px;
    position: relative;
}

.l-main-tile__tile03{
    align-self: flex-start;
    margin-right: 15px;
  margin-left: 15px;
  position: relative;
}

.l-main-tile__link{
    width:calc(100% - 40px);
    position: absolute;
    right: 0;
    left:0;
    bottom:0;
    padding: 20px;
}


.l-main__section-wrap{
  background-image: url(../../images/top/back-blog-2.svg);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

#section05{
    margin-top:150px;
        margin-bottom:-150px;
}

.l-top-content__section05{
   margin-left:10%;
}

.l-main-title__section05{
  width:196px;
}
@media only screen and (max-width: 768px) {
.l-main-title__section05{
  width:40%;
}
}

/* タブ全体を囲むコンテナの設定 */
.tab-switch {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    justify-content: flex-end;
    gap: 30px;
    margin-top: -20px;
}

@media only screen and (max-width: 768px) {
.tab-switch{
    justify-content: flex-start;
    gap: 3px;
    margin-top: 20px;
}
}

/* 各タブボタンの設定 */
.tab-switch > label {
    order: -1; /* 上部に表示する */
    position: relative; /* 絶対位置指定用の基準 */
   padding: .5em 0; /* 上下左右の内側余白 */
    background-color: #ffffff; /* 背景色 */
    color: #000000; /* 文字色 */
    text-align: center; /* 文字を中央揃え */
    cursor: pointer; /* ポインターを指アイコンに変更 */
    transition:.3s all;
    border: 1px solid #999999;
    border-radius: 30px;
}

.tab-switch > label:first-of-type {
    flex: 0 1 132px;
}

.tab-switch > label:nth-of-type(2) {
    flex: 0 1 175px;
}

.tab-switch > label:nth-of-type(3) {
    flex: 0 1 128px;
}

.tab-switch > label:nth-of-type(4) {
    flex: 0 1 200px;
    margin-right: 10%;
}

/* タブボタンのホバーおよび選択状態のスタイル */
.tab-switch > label:hover,
.tab-switch label:has(:checked) {
    background-color: #9380b5; /* ホバー/選択時の背景色 */
    color: #fff; /* ホバー/選択時の文字色 */
}

/* ラジオボタン自体は非表示 */
.tab-switch input {
    display: none; /* 見た目に表示されないようにする */
}

/* タブコンテンツのスタイル */
.tab-switch > div.tab-content {
    display: none; /* 初期状態では非表示 */
    width: 100%; /* コンテンツ幅を全体に */
   /* padding: 1.5em 0 1em 1.5em; */ /* 内側余白 */
}

/* 選択されたタブのコンテンツを表示 */
.tab-switch label:has(:checked) + div.tab-content {
    display: block; /* 選択されたタブに対応するコンテンツを表示 */
}


.l-main__news-wrap{
    display: flex;
    margin: auto;
    justify-content: flex-start;
    gap: 30px;
}

.l-main__news{
  width:20%;
  background-color: #ffffff;
  border: 1px solid #999999;
  border-radius: 10px;
  padding:20px;
}
@media only screen and (max-width: 768px) {
.l-main__news{
  width:50%;
}
}
.c-news-time{
  font-size:24px;
  font-weight:bold;
 color:#999999;
}

.c-news-category{
  width:130px;
  font-size:16px;
  font-weight:bold;
    text-align: center;
  background-color: #9380b5;
  color: #ffffff; 
   border-radius: 10px;
  padding: 2px 10px 4px;
  margin-top: 16px;
  margin-bottom: 16px;
}

.c-news-text{
  font-size:20px;
    line-height: 29px;
  text-align: justify;
    overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.c-news-link{
width:42px;
margin-top: 20px;
margin-right: 0;
margin-left: auto;
}

.l-main-button_viewall{
  width:240px;
  text-align: right;
  margin-top: 30px;
    margin-right: 10%;
      margin-left:auto;
}

#section06{
    padding-top:300px;
        padding-bottom:150px;
}


.l-top-content__section06{
   margin-left:10%;
}

.l-main-title__section06{
  width:156px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
.l-main-title__section06{
  width:30%;
}
}



.l-main__blog-wrap{
    display: flex;
    margin: auto;
    justify-content: flex-start;
    gap: 30px;
}

.l-main__blog{
 /*   width: 16.28%;  */
  background-color: #ffffff;
  border: 1px solid #999999;
  border-radius: 10px;
  padding:20px;
}

.l-main__blog a{
  color: #000000;
}

.l-main__blog a:visited{
  color: #000000;
}

.c-blog-title{
    width: 100%;
      font-size:24px;
      font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
    margin-top: 6px;
}

.c-blog-text{
  font-size:20px;
  line-height: 29px;
  text-align: justify;
    overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  margin-top: 10px;
}

/*  swiper    */
.swiper-wrapper{
  margin-bottom: 30px !important;
}
.swiper-button-prev,
.swiper-button-next {
  position: static !important;
}


.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: '' !important;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after{
  content: '' !important;
}

.swiper-button-next, .swiper-button-prev{
  width:42px !important;
}

.swiper-button-next{
    margin-top: -42px !important;
    margin-left: 80px !important;
}

/*  swiper    */


/*    アニメーション    */
.grayscale-image {
  filter: grayscale(100%);
  transition: filter 0.3s ease; /* スムーズな変化 */
}


/*     ニュース読み込み     */
.l-news-iframe{
    width:100%;
    height:400px;
}

.l-news-iframe iframe{
  width:100%;
  height:400px;
}
