.page-category-home{
  background:#fff;
}
.m-link-header {
  position: relative;
  padding-right: 50%;
  margin-bottom: 20px;
}
.m-centered-header{
  text-align:center;
}
.m-subtitle {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 10px;
}
.page-category-home .site-id-ttss,.page-category-home .l-footer-logo{
  pointer-events: none;
}

/* TOP PAGE MAIN VISUAL - SLIDER */
.main-visual .swiper-slide {
  height:340px;
}
.main-visual .swiper-slide > div,.main-visual .swiper-slide > h1{
  height:100%;
  width:100%;
}
.main-visual .swiper-slide img{
  object-fit: cover;
  width:100%;
  height:100%;
}
.main-visual a.swiper-slide{
  transition:opacity 0.3s;
}
.main-visual a.swiper-slide:hover{
  opacity:0.7;
}
.main-visual .swiper-tools{
  display:flex;
  justify-content:center;
  align-items:center;
  height:60px;
}
.main-visual .swiper-tools .swiper-pagination{
  position:relative;
  width:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 5px;
  top:inherit;
  left:inherit;
  bottom:inherit;
  right:inherit;
}
.main-visual .swiper-tools .swiper-button-pause{
  border:none;
  background-color:transparent;
  cursor:pointer;
}
.main-visual .swiper-tools .swiper-button-pause,
.main-visual .swiper-tools .swiper-button-next,
.main-visual .swiper-tools .swiper-button-prev{
  position:relative;
  top:inherit;
  left:inherit;
  bottom:inherit;
  right:inherit;
  width:30px;
  height:30px;
  background-position:center center;
  background-repeat:no-repeat;
  margin:0 5px;
}
.main-visual .swiper-tools .swiper-button-next::after,
.main-visual .swiper-tools .swiper-button-prev::after{
  display:none;
}
.main-visual .swiper-tools .swiper-button-prev{
  background-image: var(--big-red-left-arrow);
}
.main-visual .swiper-tools .swiper-button-next{
  background-image: var(--big-red-right-arrow);
}
.main-visual .swiper-tools .swiper-button-pause{
  background-image: var(--pause-btn);
}
.main-visual .swiper-tools .swiper-button-pause.is-paused{
  background-image: var(--play-btn);
}
.swiper .swiper-pagination-bullets .swiper-pagination-bullet{
  width:12px;
  height:12px;
  background:var(--main-grey-light);
  margin:0 8px;
}
.swiper .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active{
  background:var(--main-red);
}
@media screen and (max-width: 767px){
  .main-visual .swiper-slide {
    height:auto;
  }
}

.main-visual .gramoch:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: url(../img/top/gm_pc.png) no-repeat;
  background-position: right top;
  position: absolute;
}
@media screen and (max-width: 767px){
  .main-visual .gramoch:before {
    height: 80%;
    background-size: contain;
  }
}
/* topics
   ========================================================================== */
.m-button-parent{
  position:relative;
}
.m-button-parent .m-button{
  position:absolute;
  right:0;
  top:0;
}
.m-button{
  border-radius:4px;
  overflow:hidden;
  flex-direction:column;
}
.m-button a{
  font-size:1.4rem;
  font-weight:bold;
  color:#fff;
  text-decoration: none;
  background-color:var(--main-black);
  padding:8px 15px;
  display:flex;
  justify-content:center;
  align-items:center;
  transition:background-color 0.2s;
}
.m-button a::before{
  content:'';
  background-image:var(--plus-white);
  background-repeat:no-repeat;
  background-position:center center;
  width:14px;
  height:14px;
  margin-right:6px;
}
.m-button a:hover{
  background-color:#707070;
}
@media screen and (max-width: 767px){
  .m-button-parent .m-button{
    position: relative;
    margin-top: 20px;
  }
  .m-button a{
    padding: 18px 15px;
    font-size: 1.6rem;
  }
}
.m-topics-list{
  padding-top:5px;
}
.m-topics-list > ul{
  display:flex;
  flex-direction:column;
  border-top:solid 1px var(--main-grey-light);
}
.m-topics-list > ul > li{
  border-bottom:solid 1px var(--main-grey-light);
  padding:20px 0;
  display:block;
}
.m-topics-list > ul > li .m-topics-list-head{
  display:flex;
  flex-wrap:wrap;
  gap:5px 5px;
}
.m-topics-list > ul > li .m-topics-list-head .m-topics-list-date{
  font-weight:bold;
  margin-right:5px;
  flex:0 0 auto;
 }
.m-simple-list > li:not(:last-of-type){
  padding-bottom:10px;
}
.m-topics-list > ul > li > a,
.m-simple-list > li > a{
  text-underline-offset: 2px;
  transition:color 0.2s;
}
.m-topics-list > ul > li > a:hover,
.m-simple-list > li > a:hover{
  text-underline-offset: 2px;
  text-decoration-line: underline;
}
.m-topics-list > ul > li > a:not(.m-arrow-link):hover,
.m-simple-list > li > a:not(.m-arrow-link):hover{
  color:#757575;
}
/* Solution
   ========================================================================== */
.m-solution-list > ul{
  display:flex;
  flex-wrap:wrap;
  margin-top: 20px;
}
.m-solution-list > ul > li{
  width: 180px;
  margin-right: 73.333px;
  padding-bottom:30px;
}
.m-solution-list > ul > li:nth-child(4n){
  margin-right: 0;
}
.m-solution-list > ul > li > a{
  text-decoration:none;
  display:block;
}
.m-solution-list > ul > li a .m-circle-arrow-link {
  text-decoration-line: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.2s;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.m-solution-list > ul > li a:hover .m-circle-arrow-link {
  text-decoration-color: initial;
}
.m-solution-list > ul > li > a > figure{
  margin-top: 9px;
}
@media screen and (max-width: 767px){
  .m-solution-list > ul{
    justify-content: space-between;
  }
  .m-solution-list > ul > li{
    width: 48%;
    margin-right: 0;
  }
}

/* お客様サポート
   ========================================================================== */
.m-support-list > ul{
  display:flex;
  justify-content:space-around;
  margin-top: 30px;
}
.m-support-list > ul > li a{
  display:flex;
  flex-direction:column;
  justify-content: center;
  align-items:center;
  overflow:hidden;
  aspect-ratio: 1/1;
  width:240px;
  gap: 12px 0;
  box-sizing:border-box;
  text-decoration:none;
  border-radius:100%;
  border:solid 2px var(--main-red);
  background-color: #fff;
  padding: 20px;
  margin: 0 auto 5px;
}
.m-support-list > ul > li a .m-arrow-link{
  font-size:1.4rem;
}
@media screen and (max-width: 767px){
  .m-support-list > ul{
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .m-support-list > ul > li{
    width: 48%;
    margin-bottom: 10px;
  }
  .m-support-list > ul > li:last-child{
    margin-bottom: 0;
  }
  .m-support-list > ul > li a{
    width: auto;
    padding:20px;
  }
}
/* 画像リスト
   ========================================================================== */
.m-images-list > ul{
  display: flex;
  justify-content: space-between;
}
.m-images-list > ul li a{
  display: block;
}
.m-images-list > ul li.m-images a{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.m-images-list > ul li.m-images.type-01 {
  width: 49%;
}
.m-images-list > ul li.m-images.type-01 a{
  width: 100%;
  height: 200px;
}
.m-images-list > ul.recruit li:first-child a{
  width: 550px;
  background-image: url(../img/top/img_bg_03.png);
  background-position: top;
min-height:190px;
}
.m-images-list > ul.contactcenter{
  justify-content: center;
}
.m-images-list > ul.contactcenter li a{
  width: 550px;
  height: 200px;
  background-image: url(../img/top/img_bg_04.png);
  background-size: cover;
}
@media screen and (max-width: 767px){
  .m-images-list > ul li.m-images a{
    font-size: 1.6rem;
  }
  .m-images-list > ul li.m-images.type-01 a{
    height: 100px;
  }
  .m-images-list > ul.recruit li:first-child{
    width: 50%;
    margin-right: 2%;
  }
  .m-images-list > ul.recruit li:last-child{
    width: 50%;
  }
  .m-images-list > ul.recruit li:first-child a{
    width: 100%;
  }
  .m-images-list > ul.contactcenter li,.m-images-list > ul.contactcenter li a{
    width: 100%;
    height: 100px;
  }
}