@charset "UTF-8";

/* スタイルシート
作成者：Hatomi Inc.
作成日：R8.03.06
-------------------------------------------------------------------------------------*/

/* =========================================================
  TOP page background
========================================================= */
.home,
.front-page{
  position: relative;
}

/* ---------------------------------------------------------
  PC大 : 1331px～
--------------------------------------------------------- */
@media (min-width: 1331px){

  .home::before,
  .home::after,
  .front-page::before,
  .front-page::after{
    content: "";
    position: fixed;
    top: 0;
    pointer-events: none;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: contain;
    height: 680px;
  }

  .home::before,
  .front-page::before{
    left: 0;
    width: 612px;
    background-image: url(../images/hero_bg_left.png);
    background-position: left top;
  }

  .home::after,
  .front-page::after{
    right: 0;
    width: 468px;
    background-image: url(../images/hero_bg_right.png);
    background-position: right top;
  }
}

/* ---------------------------------------------------------
  PC中 : 961px～1330px
  → 重なり回避のため少し縮める
--------------------------------------------------------- */
@media (min-width: 961px) and (max-width: 1330px){

  .home::before,
  .home::after,
  .front-page::before,
  .front-page::after{
    content: "";
    position: fixed;
    top: 0;
    pointer-events: none;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: contain;
    height: 600px;
  }

  .home::before,
  .front-page::before{
    left: 0;
    width: 520px;
    background-image: url(../images/hero_bg_left.png);
    background-position: left top;
  }

  .home::after,
  .front-page::after{
    right: 0;
    width: 400px;
    background-image: url(../images/hero_bg_right.png);
    background-position: right top;
  }
}

/* ---------------------------------------------------------
  TB / SP : ～960px
--------------------------------------------------------- */
@media (max-width: 960px){

  .home,
  .front-page{
    background: url(../images/hero_bg_sp.png) center top / 100% auto no-repeat;
  }

  .home::before,
  .home::after,
  .front-page::before,
  .front-page::after{
    content: none;
  }
}






/* =========================================================
  TOP MV
========================================================= */
.topMv{
  position: relative;
  padding: 2.5rem 0 3rem;
}

.topMv__layout{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
}

.topMv__text{
  flex: 0 0 44%;
  min-width: 0;
}

.topMv__visual{
  flex: 0 0 52%;
  min-width: 0;
}

/* -------------------------
  Text
------------------------- */
.topMv__title{
  font-size: clamp(2.25rem, 2.1vw + 1rem, 1rem);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .02em;
}

.topMv__lead{
  margin-top: 2.25rem;
  font-size: 1rem;
  line-height: 2;
  color: #666;
}

.topMv__lead p + p{
  margin-top: .1em;
}

/* -------------------------
  CTA
------------------------- */
.topMv__cta{
  margin-top: 3rem;
  width: 100%;
  max-width: 28rem;
  min-height: 3.2rem;
  padding: .5rem 3rem .5rem 1.5rem;
  border-radius: 999px;
  background: #7AC943;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-decoration: none;
  transition: transform .2s ease, opacity .2s ease;
}

.topMv__cta:hover{
  opacity: 1;
  transform: translateY(-1px);
}

.topMv__ctaLabel{
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
}

.topMv__ctaArrow{
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 1.75rem;
  height: 1.75rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .22s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cg%3E%3Cg%3E%3Cline x1='7' y1='14' x2='20' y2='14' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='21' y1='14' x2='16.1' y2='18.9' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='16.1' y1='9.1' x2='21' y2='14' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='13.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
}

.topMv__cta:hover .topMv__ctaArrow{
  transform: translateY(-50%) translateX(.35rem);
}

/* -------------------------
  Slider
------------------------- */
.topMvSlider{
  width: 100%;
}

.topMvSlider__track{
  position: relative;
  width: 100%;
  aspect-ratio: 900 / 560;
}

.topMvSlider__slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility .6s ease;
}

.topMvSlider__slide.is-active{
  opacity: 1;
  visibility: visible;
}

.topMvSlider__slide img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.75rem;
}

/* dots */
.topMvSlider__dots{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .85rem;
  margin-top: 1.35rem;
}

.topMvSlider__dot{
  appearance: none;
  border: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(122, 201, 67, .25);
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, opacity .2s ease;
  padding: 0;
}

.topMvSlider__dot.is-active{
  background: #7AC943;
}

.topMvSlider__dot:hover{
  transform: scale(1.08);
}

/* =========================================================
  Responsive
========================================================= */
@media (max-width: 1100px){
  .topMv__layout{
    gap: 2.5rem;
  }

  .topMv__text{
    flex-basis: 46%;
  }

  .topMv__visual{
    flex-basis: 50%;
  }
}

@media (max-width: 800px){
  .topMv{
    padding: 1.5rem 0 2.5rem;
  }

  .topMv__layout{
    flex-direction: column-reverse;
    gap: 2rem;
  }

  .topMv__text,
  .topMv__visual{
    flex: 0 0 auto;
    width: 100%;
  }

  .topMv__title{
    font-size: clamp(1.8rem, 1.2vw + 1.4rem, 2.4rem);
			 text-align: center;
  }

  .topMv__lead{
    margin-top: 1.5rem;
  }

  .topMv__cta{
    margin-top: 2rem;
    max-width: 100%;
  }
}

@media (max-width: 480px){
  .topMvSlider__track{
    aspect-ratio: 16 / 10;
  }

  .topMvSlider__slide img{
    border-radius: 1.25rem;
  }

  .topMvSlider__dots{
    gap: .7rem;
    margin-top: 1rem;
  }

  .topMvSlider__dot{
    width: 10px;
    height: 10px;
  }

  .topMv__cta{
    min-height: 3.6rem;
    padding: .75rem 3rem .75rem 1.25rem;
  }

  .topMv__ctaArrow{
    right: 16px;
  }
}


/* =========================================================
  TOP NEWS
========================================================= */
.topNews{
  padding: 4rem 0;
}

/* =========================================================
  inner
========================================================= */
.topNews__inner{
  display: flex;
  align-items: stretch;
  gap: 3rem;
  padding: 2.25rem 2.5rem;
  border: 1px solid #BFBFBF;
  border-radius: 1.5rem;
  background: #fff;
}

@media (max-width: 900px){
  .topNews__inner{
    gap: 2rem;
    padding: 2rem;
  }
}

@media (max-width: 700px){
  .topNews__inner{
    flex-direction: column;
    gap: 1.75rem;
    padding: 1.5rem 2rem;
    border-radius: 1rem;
  }
}

/* =========================================================
  head
========================================================= */
.topNews__head{
  flex: 0 0 13rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
	 justify-content: center;
}

@media (max-width: 900px){
  .topNews__head{
    flex-basis: 13rem;
  }
}

@media (max-width: 700px){
  .topNews__head{
    flex: 0 0 auto;
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
  }
}

/* =========================================================
  heading
========================================================= */
.topNews__heading{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

/* =========================================================
  en
========================================================= */
.topNews__en{
  color: #7AC943;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1;
}

@media (max-width: 900px){
  .topNews__en{
    font-size: 2.5rem;
  }
}

@media (max-width: 700px){
  .topNews__en{
    font-size: 2.2rem;
  }
}

@media (max-width: 480px){
  .topNews__en{
    font-size: 2rem;
  }
}

/* =========================================================
  ja
========================================================= */
.topNews__ja{
  margin-top: .5rem;
  color: #7AC943;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

@media (max-width: 700px){
  .topNews__ja{
    margin-top: .35rem;
  }
}

/* =========================================================
  more button
========================================================= */
.topNews__more{
  position: relative;
  margin-top: 2rem;
  min-width: 10rem;
  min-height: 2rem;
  padding: .55rem 2.4rem .55rem 1rem;
  border-radius: 999px;
  background: #7AC943;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform .2s ease;
  flex: 0 0 auto;
}

.topNews__more:hover{
  opacity: 1;
  transform: translateY(-1px);
}

@media (max-width: 700px){
  .topNews__more{
    margin-top: 0;
    min-width: 9.5rem;
  }
}

@media (max-width: 480px){
  .topNews__more{
    min-width: 8.75rem;
    padding: .5rem 2.2rem .5rem .9rem;
  }
}

.topNews__moreLabel{
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

@media (max-width: 480px){
  .topNews__moreLabel{
    font-size: .95rem;
  }
}

.topNews__moreArrow{
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: .95rem;
  height: .75rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .22s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.5 10.8'%3E%3Cg%3E%3Cline x1='1' y1='5.4' x2='12.7' y2='5.4' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='13.5' y1='5.4' x2='9.1' y2='9.8' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='9.1' y1='1' x2='13.5' y2='5.4' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
}

.topNews__more:hover .topNews__moreArrow{
  transform: translateY(-50%) translateX(10px);
}

/* =========================================================
  body
========================================================= */
.topNews__body{
  flex: 1 1 auto;
  min-width: 0;
}

/* =========================================================
  list
========================================================= */
.topNews__list{
  margin: 0;
  padding: 0;
  list-style: none;
}

/* =========================================================
  item
========================================================= */
.topNews__item{
  border-bottom: 1px dashed #BFBFBF;
}

.topNews__item:last-child{
  border-bottom: 0;
}

/* =========================================================
  link
========================================================= */
.topNews__link{
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) 2.5rem;
  align-items: center;
  column-gap: 1.5rem;
  min-height: 4rem;
  padding: .8rem 0;
  color: #111;
  text-decoration: none;
}

.topNews__link:hover{
  opacity: 1;
}

@media (max-width: 900px){
  .topNews__link{
    grid-template-columns: 6.5rem minmax(0, 1fr) 2.25rem;
    column-gap: 1rem;
  }
}

@media (max-width: 700px){
  .topNews__link{
    grid-template-columns: 1fr 2rem;
    grid-template-areas:
      "date arrow"
      "title arrow";
    row-gap: .35rem;
    min-height: 0;
    padding: .9rem 0;
  }
}

/* =========================================================
  date
========================================================= */
.topNews__date{
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

@media (max-width: 700px){
  .topNews__date{
    grid-area: date;
    font-size: .95rem;
  }
}

/* =========================================================
  title
========================================================= */
.topNews__title{
  min-width: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 700px){
  .topNews__title{
    grid-area: title;
    font-size: 1rem;
  }
}

/* =========================================================
  item arrow
========================================================= */
.topNews__itemArrow{
  justify-self: end;
  width: 1.75rem;
  height: 1.75rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .22s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cg%3E%3Cg%3E%3Cline x1='7' y1='14' x2='20' y2='14' fill='none' stroke='%2379BE49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='21' y1='14' x2='16.1' y2='18.9' fill='none' stroke='%2379BE49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='16.1' y1='9.1' x2='21' y2='14' fill='none' stroke='%2379BE49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='13.5' fill='none' stroke='%2379BE49' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
}

.topNews__link:hover .topNews__itemArrow{
  transform: translateX(10px);
}

@media (max-width: 700px){
  .topNews__itemArrow{
    grid-area: arrow;
    align-self: center;
  }
}


/* =========================================================
  TOP GUIDE
========================================================= */
.topGuide{
  padding: 4rem 0;
  background: url(../images/home_guide_bg.jpg) center center / cover no-repeat;
}
@media (max-width: 700px){
  .topGuide{
    padding: 3rem 0;
  }
}

.topGuide__head{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3rem;
}
@media (max-width: 700px){
  .topGuide__head{
    margin-bottom: 1.5rem;
  }
}

.topGuide__icon{
  flex: 0 0 auto;
  width: 3.125rem;
  height: 3.125rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Ccircle fill='%2379BE49' cx='25' cy='25' r='25'/%3E%3Cpath fill='%23FFFFFF' d='M20.1,29.8c-0.1-0.1-0.4,0-0.6-0.1c-2.1-0.4-3.8-1.3-5.2-2.9c-1.4-1.7-2-3.6-2-5.9c0-1.6,0-3,0-4.2c0-0.7,0.1-1.3,0.4-1.8c0.3-0.6,0.8-1.1,1.6-1.4c0.3-0.1,0.7-0.1,1.1-0.1c0.1,0,0.1,0,0.1-0.1c0.1-0.2,0.2-0.5,0.5-0.7c0.8-0.6,2.2-0.3,2.6,0.6c0.5,0.9,0,2-1,2.4c-0.1,0-0.5,0.1-1.1,0c0,0-0.1,0-0.1,0c-0.5-0.2-0.9-0.6-1-1.1c0-0.1-0.1-0.1-0.1-0.1c-0.3,0-0.6,0-0.9,0.1c-0.6,0.4-0.9,1-0.9,1.8c0,1.9,0,3.3,0,4.1c0,1.1,0,1.9,0.2,2.5c0.2,1,0.7,2,1.3,2.8c0.7,0.9,1.7,1.7,2.7,2.2c0.6,0.3,1.2,0.5,1.9,0.6c1.2,0.2,2.4,0.1,3.6-0.3c0.1-0.1,0.2-0.1,0.3-0.1c0.2-0.1,0.3-0.1,0.4-0.2c1-0.6,1.7-1.2,2.4-2c1.1-1.3,1.6-3.1,1.6-4.8c0-0.9,0-2.5,0-4.9c0-0.2-0.1-0.5-0.3-0.9c-0.3-0.7-0.9-1-1.8-0.9c0,0-0.1,0-0.1,0c-0.1,0.1-0.1,0.3-0.2,0.5c-0.3,0.5-0.8,0.7-1.4,0.7c-0.9,0-1.5-0.5-1.7-1.4c-0.1-0.4,0-0.8,0.3-1.2c0.5-0.6,1.1-0.9,1.8-0.7c0.5,0.1,0.9,0.4,1,0.9c0,0,0.1,0.1,0.1,0.1c0.5,0,1,0,1.5,0.1c0.7,0.2,1.2,0.8,1.5,1.4c0.1,0.2,0.2,0.5,0.2,0.7c0,0.2,0,0.3,0.1,0.4c0,0.1,0,0.1,0,0.2v5.5c0,0,0,0.1,0,0.1c-0.1,0.3-0.1,0.6-0.1,1c-0.5,2.5-1.8,4.4-3.9,5.7c-1.1,0.7-2.2,1-3.4,1.1c-0.1,0-0.1,0-0.1,0.1c-0.1,0.2-0.1,0.4,0,0.7c0.1,0.3,0.1,0.7,0.2,0.9c0.7,1.9,2,3.2,4,3.9c0.3,0.1,0.9,0.2,1.8,0.3c0.1,0,0.2,0,0.3,0c0.4-0.1,0.9-0.1,1.3-0.2c0.8-0.2,1.4-0.5,1.8-0.8c1.3-0.9,2.1-2.1,2.6-3.5c0.2-0.5,0.3-1.1,0.3-1.8c0-1,0-1.8,0-2.3c0-0.1-0.1-0.2-0.1-0.2c-0.8-0.2-1.4-0.5-1.8-1.2c-0.4-0.6-0.5-1.4-0.3-2.1c0.5-2.2,3.2-3,4.8-1.5c0.3,0.3,0.6,0.7,0.8,1.3c0.1,0.5,0.2,0.9,0,1.5c-0.3,1.1-1,1.8-2.2,2.1c-0.1,0-0.1,0.1-0.1,0.1c0,1.2,0,2.3-0.1,3.3c-0.1,0.8-0.3,1.6-0.7,2.4c-0.5,1-1.2,1.8-2,2.5c-1.1,1-2.5,1.5-4,1.5c-0.8,0-1.8,0-2.6-0.2c-1.2-0.3-2.3-1-3.2-1.9C21,33.2,20.3,31.7,20.1,29.8C20.2,29.8,20.2,29.8,20.1,29.8 M17,13.4c-0.4,0-0.6,0.4-0.6,0.8c0,0.4,0.4,0.7,0.8,0.6c0.4,0,0.6-0.4,0.6-0.8C17.7,13.6,17.4,13.3,17,13.4 M24.1,13.4c-0.4-0.1-0.7,0.2-0.8,0.6c-0.1,0.4,0.2,0.7,0.6,0.8c0.4,0.1,0.7-0.2,0.8-0.6C24.7,13.8,24.5,13.4,24.1,13.4 M35.9,23.6c-0.2-0.9-1.2-1.5-2.2-1.3c-1,0.2-1.6,1.2-1.3,2.1c0.2,0.9,1.2,1.5,2.2,1.3C35.5,25.5,36.1,24.5,35.9,23.6L35.9,23.6z'/%3E%3C/svg%3E");
}
@media (max-width: 480px){
  .topGuide__icon{
    width: 2.75rem;
    height: 2.75rem;
  }
}

.topGuide__title{
  font-size: clamp(1.5rem, 1.1vw + 1.2rem, 2rem);
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 960px){
  .topGuide__title{
    font-size: clamp(1.15rem, 1.2vw + .9rem, 1.5rem);
  }
}
@media only screen and (max-width: 480px){
  .topGuide__title{
    font-size: 1.3rem;
  }
}

/* =========================================================
  grid
========================================================= */
.topGuide__layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 2rem;
  align-items: stretch;
}
@media (max-width: 1100px){
  .topGuide__layout{
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.topGuide__main{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  height: 100%;
}
@media (max-width: 1100px){
  .topGuide__main{
    gap: 1rem;
    height: auto;
  }
}
@media (max-width: 600px){
  .topGuide__main{
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1rem;
  }
}

.topGuide__side{
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 1.25rem;
  width: 400px;
  height: 100%;
}
@media (max-width: 1100px){
  .topGuide__side{
    width: auto;
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 1rem;
  }
}
@media (max-width: 700px){
  .topGuide__side{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
  card
========================================================= */
.topGuideCard{
  display: block;
  text-decoration: none;
  color: #111;
  background: #fff;
  border: 1px solid #BFBFBF;
  border-radius: 1rem;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}

.topGuideCard:hover{
  opacity: 1;
  transform: translateY(-1px);
}

.topGuideCard__thumb{
  overflow: hidden;
}

.topGuideCard__thumb img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topGuideCard__body{
  position: relative;
}

.topGuideCard__label{
  color: #79BE49;
  font-weight: 700;
  line-height: 1.5;
}

/* arrow */
.topGuideCard__arrow{
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 1.75rem;
  height: 1.75rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .22s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cg%3E%3Cg%3E%3Cline x1='7' y1='14' x2='20' y2='14' fill='none' stroke='%2379BE49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='21' y1='14' x2='16.1' y2='18.9' fill='none' stroke='%2379BE49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='16.1' y1='9.1' x2='21' y2='14' fill='none' stroke='%2379BE49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='13.5' fill='none' stroke='%2379BE49' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
}

.topGuideCard--vertical .topGuideCard__arrow{
  top: 70%;
}

.topGuideCard:hover .topGuideCard__arrow{
  transform: translateY(-50%) translateX(10px);
}

@media (max-width: 700px){
  .topGuideCard__arrow{
    width: 1.3rem;
    height: 1.3rem;
  }
}

/* -------------------------
  vertical card
------------------------- */
.topGuideCard--vertical{
  display: block;
}

.topGuideCard--vertical .topGuideCard__thumb{
  padding: .8rem .8rem 0;
  aspect-ratio: 320 / 210;
}
@media (max-width: 480px){
  .topGuideCard--vertical .topGuideCard__thumb{
    padding: 1rem 1rem 0;
  }
}

.topGuideCard--vertical .topGuideCard__thumb img{
  border-radius: .75rem;
}

.topGuideCard--vertical .topGuideCard__body{
  padding: 1rem 1rem 1.5rem 1rem;
  min-height: 5.5rem;
  display: flex;
  align-items:flex-start;
  justify-content: center;
}
@media (max-width: 480px){
  .topGuideCard--vertical .topGuideCard__body{
    padding-right: 1rem;
  }
}

.topGuideCard--vertical .topGuideCard__label{
  font-size: 1.1rem;
  text-align: center;
}

@media (min-width: 1101px){
  .topGuideCard--vertical{
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .topGuideCard--vertical .topGuideCard__thumb{
    flex: 0 0 auto;
  }

  .topGuideCard--vertical .topGuideCard__body{
    flex: 1 1 auto;
  }
}

/* -------------------------
  horizontal card
------------------------- */
.topGuideCard--horizontal{
  display: flex;
  align-items: center;
  min-height: 6.25rem;
  height: 100%;
}
@media (max-width: 700px){
  .topGuideCard--horizontal{
    min-height: 0;
    height: auto;
  }
}

.topGuideCard--horizontal .topGuideCard__thumb{
  flex: 0 0 7.5rem;
  padding: 1rem 0 1rem 1rem;
}
@media (max-width: 1100px){
  .topGuideCard--horizontal .topGuideCard__thumb{
    flex-basis: 6.5rem;
  }
}
@media (max-width: 1000px){
  .topGuideCard--horizontal .topGuideCard__thumb{
    padding: .7rem 0 .7rem .7rem;
  }
}

.topGuideCard--horizontal .topGuideCard__thumb img{
  border-radius: .6rem;
  aspect-ratio: 4 / 3;
}

.topGuideCard--horizontal .topGuideCard__body{
  flex: 1 1 auto;
  min-width: 0;
  padding: 1rem 3.5rem 1rem 1rem;
  display: flex;
  align-items: center;
}
@media (max-width: 480px){
  .topGuideCard--horizontal .topGuideCard__body{
    padding-right: 3.25rem;
  }
}

.topGuideCard--horizontal .topGuideCard__label{
  font-size: 1rem;
}


/* =========================================================
  TOP SHORTCUT
========================================================= */

.topShortcut{
  padding: 3.5rem 0 3rem ;
  background: #FFF;
}


/* =========================================================
  grid
========================================================= */

.topShortcut__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.5rem;
}

@media (max-width:900px){
  .topShortcut__grid{
     gap: 1rem;
  }
}

@media (max-width:700px){
  .topShortcut__grid{
    /*grid-template-columns: repeat(2, minmax(0,1fr));*/
			 grid-template-columns: 1fr;
  }
}

@media (max-width:550px){
  .topShortcut__grid{
    grid-template-columns: 1fr;
  }
}


/* =========================================================
  item
========================================================= */

.topShortcut__item{
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  height: 4.25rem;

  background: #F4EBE2;
  border-radius: 999px;

  text-decoration: none;
  color: #111;

  font-weight: 600;
  letter-spacing: .03em;

  transition: transform .2s ease;
}

.topShortcut__item:hover{
  transform: translateY(-2px);
	 color: #555;
}

@media (min-width:701px) and (max-width:800px) {
  .topShortcut__item{
     font-size: 90%;
  }
}


/* =========================================================
  label
========================================================= */

.topShortcut__label{
  /*padding-right: 2.5rem;*/
}


/* =========================================================
  arrow
========================================================= */

.topShortcut__arrow{
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);

  width: 1.75rem;
  height: 1.75rem;

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  transition: transform .2s ease;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cg%3E%3Ccircle cx='13' cy='13' r='12.5' fill='%23FFFFFF' stroke='%2379BE49' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cg%3E%3Cline x1='7.4' y1='13' x2='17.9' y2='13' fill='none' stroke='%2379BE49' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cline x1='18.6' y1='13' x2='14.7' y2='16.9' fill='none' stroke='%2379BE49' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cline x1='14.7' y1='9.1' x2='18.6' y2='13' fill='none' stroke='%2379BE49' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.topShortcut__item:hover .topShortcut__arrow{
  transform: translateY(-50%) translateX(6px);
}



/* =========================================================
  TOP FEATURE BANNERS
========================================================= */
.topFeatureBanners{
  position: relative;
  padding: 5rem 0;
  background: url("../images/home_feature_bg.jpg") center center / cover no-repeat;
  overflow: hidden;
}

.topFeatureBanners::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  pointer-events: none;
}

.topFeatureBanners .column__outer,
.topFeatureBanners .column__inner{
  position: relative;
  z-index: 1;
}
@media (max-width: 960px){
  .topFeatureBanners{
    padding: 4rem 0;
  }
}
@media (max-width: 480px){
  .topFeatureBanners{
    padding: 3rem 0;
  }
}


/* =========================================================
  grid
========================================================= */
.topFeatureBanners__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
@media (max-width: 600px){
  .topFeatureBanners__grid{
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}


/* =========================================================
  banner
========================================================= */
.topFeatureBanner{
  position: relative;
  display: block;
  min-height: 13rem;
  /*border: 6px solid rgba(255,255,255,.35);*/
  border: 4px solid rgba(180,180,180,.7);
  text-decoration: none;
  color: #111;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform .2s ease, opacity .2s ease;
}

.topFeatureBanner::before{
  content: "";
  position: absolute;
  inset: 0;
}

.topFeatureBanner:hover{
  opacity: 1;
  transform: translateY(-2px);
}

@media (max-width: 1200px){
  .topFeatureBanner{
    min-height: 10rem;
  }
}
@media (max-width: 700px){
  .topFeatureBanner{
    height: 10rem;
			 min-height: 0;
  }
}

@media (max-width: 400px){
  .topFeatureBanner{
    height: auto;
			 min-height: 0;
  }
}


/* 各カード背景 */
.topFeatureBanner--recruit{
  background-image: url("../images/home_banner_recruit.jpg");
  background-position: right center;
}

.topFeatureBanner--seminar{
  background-image: url("../images/home_banner_seminar.jpg");
  background-position: right center;
}


/* =========================================================
  content
========================================================= */
.topFeatureBanner__content{
  position: relative;
  z-index: 1;
  min-height: 100%;
  width: 100%;
  padding: 2.25rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 700px){
  .topFeatureBanner__content{
    padding: 1.5rem 1.25rem;
  }
}

.topFeatureBanner__eyebrow{
  margin: 0 0 .5rem;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
}

.topFeatureBanner--recruit .topFeatureBanner__eyebrow{
  color: #79BE49;
}

.topFeatureBanner--seminar .topFeatureBanner__eyebrow{
  color: #4C9FD8;
}

.topFeatureBanner__title{
  margin: 0;
  font-size: clamp(1.05rem, 0.4vw + 0.95rem, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 480px){
  .topFeatureBanner__title{
    font-size: 1.1rem;
  }
}

/* =========================================================
  arrow
========================================================= */
.topFeatureBanner__arrow{
  display: block;
  width: 1.7rem;
  height: 1.7rem;
  margin-top: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .2s ease;
}

.topFeatureBanner:hover .topFeatureBanner__arrow{
  transform: translateX(6px);
}

.topFeatureBanner__arrow--green{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cg%3E%3Ccircle cx='13' cy='13' r='12.5' fill='%23FFFFFF' stroke='%2379BE49' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cg%3E%3Cline x1='7.4' y1='13' x2='17.9' y2='13' fill='none' stroke='%2379BE49' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cline x1='18.6' y1='13' x2='14.7' y2='16.9' fill='none' stroke='%2379BE49' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cline x1='14.7' y1='9.1' x2='18.6' y2='13' fill='none' stroke='%2379BE49' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.topFeatureBanner__arrow--blue{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cg%3E%3Cg%3E%3Cline x1='7' y1='14' x2='20' y2='14' fill='none' stroke='%234C9FD8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cline x1='21' y1='14' x2='16.1' y2='18.9' fill='none' stroke='%234C9FD8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3Cline x1='16.1' y1='9.1' x2='21' y2='14' fill='none' stroke='%234C9FD8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='13.5' fill='none' stroke='%234C9FD8' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'/%3E%3C/g%3E%3C/svg%3E");
}











/* =========================================================
  BLOG ARCHIVE
========================================================= */
.blogArchive{
  padding: 2rem 0 5rem;
  background-color: #FFF;
}
@media only screen and (max-width: 960px){
  .blogArchive{
    padding: 2rem 0 4rem;
  }
}
@media only screen and (max-width: 480px){
  .blogArchive{
    padding: 2rem 0 3rem;
  }
}

.blogArchive__head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 960px){
  .blogArchive__head{
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 700px){
  .blogArchive__head{
    align-items: center;
  }
}

.blogArchive__heading{
  min-width: 0;
}

.blogArchive__title{
  margin: 0;
  color: #7AC943;
  font-size: clamp(3rem, 4vw, 5.25rem);
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 480px){
  .blogArchive__title{
    font-size: 3rem;
  }
}

.blogArchive__lead{
  margin: 1.25rem 0 0;
  color: #111;
  font-size: 1.75rem;
  line-height: 1.5;
  font-weight: 700;
}
@media only screen and (max-width: 960px){
  .blogArchive__lead{
    font-size: 1.25rem;
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 480px){
  .blogArchive__lead{
    font-size: 1rem;
  }
}

.blogArchive__allLink{}
@media only screen and (max-width: 700px){
  .blogArchive__allLink{
    align-self: flex-end;
  }
}

.blogArchive__allBtn{
  width: 8rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #7AC943;
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .6rem;
  text-align: center;
  transition: transform .25s ease, opacity .25s ease;
}
.blogArchive__allBtn:hover{
  transform: translateY(-2px);
  opacity: .95;
}
@media only screen and (max-width: 960px){
  .blogArchive__allBtn{
    width: 7rem;
  }
}
@media only screen and (max-width: 700px){
  .blogArchive__allBtn{
    width: 6.5rem;
  }
}
@media only screen and (max-width: 480px){
  .blogArchive__allBtn{
    width: 5.5rem;
  }
}

.blogArchive__allBtnText{
  font-size: .8rem;
  line-height: 1.4;
  font-weight: 700;
}
@media only screen and (max-width: 700px){
  .blogArchive__allBtnText{
    font-size: .7rem;
  }
}

.blogArchive__allBtnArrow{
  width: 1.75rem;
  height: 1.75rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .25s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cg%3E%3Cg%3E%3Cline x1='7' y1='14' x2='20' y2='14' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='21' y1='14' x2='16.1' y2='18.9' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='16.1' y1='9.1' x2='21' y2='14' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='13.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
}
.blogArchive__allBtn:hover .blogArchive__allBtnArrow{
  transform: translateX(6px);
}
@media only screen and (max-width: 480px){
  .blogArchive__allBtnArrow{
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* =========================================================
  main tabs
========================================================= */
.blogArchive__mainTabs{
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 960px){
  .blogArchive__mainTabs{
    gap: .7rem 1rem;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 700px){
  .blogArchive__mainTabs{
    gap: .7rem 1rem;
  }
}
@media only screen and (max-width: 480px){
  .blogArchive__mainTabs{
    gap: .7rem 1rem;
  }
}

.blogArchive__mainTabs li{
  margin: 0;
  padding: 0;
}

.blogArchive__mainTabs li button{
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0 0 .55rem;
  margin: 0;
  cursor: pointer;
  color: #111;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.4;
  font-weight: 700;
  position: relative;
  transition: color .2s ease;
}
.blogArchive__mainTabs li button::after{
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #D9D9D9;
  margin-top: .35rem;
  transition: background .2s ease;
}
@media only screen and (max-width: 700px){
  .blogArchive__mainTabs li button{
    font-size: .9rem;
  }
}
@media only screen and (max-width: 480px){
  .blogArchive__mainTabs li button{
    font-size: .8rem;
    padding-bottom: .45rem;
  }
  .blogArchive__mainTabs li button::after{
    height: 3px;
  }
}

.blogArchive__mainTabs li.is-active button{
  color: #7AC943;
}
.blogArchive__mainTabs li.is-active button::after{
  background: #7AC943;
}

/* =========================================================
  sub tabs
========================================================= */
.blogArchive__subTabsWrap{
  margin-bottom: 2rem;
}
@media only screen and (max-width: 960px){
  .blogArchive__subTabsWrap{
    margin-bottom: 1.5rem;
  }
}

.blogArchive__subTabs{
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1rem;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 700px){
  .blogArchive__subTabs{
    gap: .4rem .8rem;
  }
}

.blogArchive__subTabs li{
  margin: 0;
  padding: 0;
}
.blogArchive__subTabs li:not(:last-child)::after{
  content: "／";
  margin-left: 1rem;
  color: #111;
  font-weight: 700;
}
@media only screen and (max-width: 700px){
  .blogArchive__subTabs li:not(:last-child)::after{
    margin-left: .8rem;
  }
}

.blogArchive__subTabs li button{
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: #111;
  font-size: clamp(1rem, 1vw, 1.25rem);
  line-height: 1.4;
  font-weight: 700;
  transition: color .2s ease;
}
@media only screen and (max-width: 480px){
  .blogArchive__subTabs li button{
    font-size: .95rem;
  }
}

.blogArchive__subTabs li.is-active button{
  color: #7AC943;
}

/* =========================================================
  panels
========================================================= */
.blogArchive__panel{
  display: none;
}
.blogArchive__panel.is-active{
  display: block;
}

/* =========================================================
  list
========================================================= */
.blogArchive__list{
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #DADADA;
}

.blogArchive__item{
  border-bottom: 1px solid #DADADA;
}

/* 共通 */
.blogArchive__itemLink{
  width: 100%;
  min-height: 5.25rem;
  display: grid;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem 0;
  color: #111;
  transition: opacity .25s ease;
	 cursor: pointer;
}
.blogArchive__itemLink:hover{
  opacity: .8;
}

/* ラベルあり */
.blogArchive__itemLink.is-withLabel{
  grid-template-columns: 8rem max-content minmax(0, 1fr) auto;
}

/* ラベルなし */
.blogArchive__itemLink.is-noLabel{
  grid-template-columns: 8rem minmax(0, 1fr) auto;
}

@media only screen and (max-width: 960px){
  .blogArchive__itemLink{
    gap: 1rem;
    padding: 1.25rem 0;
  }

  .blogArchive__itemLink.is-withLabel{
    grid-template-columns: 7rem max-content minmax(0, 1fr) auto;
  }

  .blogArchive__itemLink.is-noLabel{
    grid-template-columns: 7rem minmax(0, 1fr) auto;
  }
}

@media only screen and (max-width: 700px){
  .blogArchive__itemLink,
  .blogArchive__itemLink.is-withLabel,
  .blogArchive__itemLink.is-noLabel{
    grid-template-columns: 1fr auto;
    gap: .85rem 1rem;
    align-items: start;
    padding: 1rem 0;
  }
}

.blogArchive__date{
  display: block;
  font-size: clamp(1rem, 1vw, 1.15rem);
  line-height: 1.4;
  font-weight: 700;
  white-space: nowrap;
}
@media only screen and (max-width: 700px){
  .blogArchive__date{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
}

.blogArchive__labelWrap{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  min-width: 0;
}
@media only screen and (max-width: 700px){
  .blogArchive__labelWrap{
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
}

.blogArchive__labelItem{
  display: inline-flex;
}

.blogArchive__label{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12rem;
  min-height: 2.2rem;
  padding: .35rem 1rem;
  border-radius: 9999px;
  color: #fff;
  font-size: .95rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: opacity .2s ease;
		background: #3cb371 ;/*保険*/
}
.blogArchive__label:hover{
  opacity: .85;
}
@media only screen and (max-width: 960px){
  .blogArchive__label{
    min-width: 12rem;
    font-size: .88rem;
  }
}
@media only screen and (max-width: 700px){
  .blogArchive__label{
    min-width: 10rem;
    min-height: 2rem;
    font-size: .82rem;
    padding: .3rem .8rem;
  }
}

.blogArchive__label.is-message{
  background: #7AC943;
}
.blogArchive__label.is-jimucho{
  background: #3FA9F5;
}
.blogArchive__label.is-press{
  background: #FF931E;
}
.blogArchive__label.is-book{
  background: #FF7BAC;
}
.blogArchive__label.is-cultivation{
  background: #BDCCD4;
}
.blogArchive__label.is-kenshin{
  background: #ff69b4;
}
.blogArchive__label.is-actionreport{
  background: #191970;
}
.blogArchive__label.is-other{
  background: #3cb371;
}

.blogArchive__itemTitle{
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 700;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}
@media only screen and (max-width: 700px){
  .blogArchive__itemTitle{
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }
}
@media only screen and (max-width: 480px){
  .blogArchive__itemTitle{
    font-size: .98rem;
    line-height: 1.6;
  }
}

.blogArchive__itemTitleLink{
  color: #111;
  text-decoration: none;
}
.blogArchive__itemTitleLink:hover{
  text-decoration: underline;
}

.blogArchive__itemArrow{
  width: 2.4rem;
  height: 2.4rem;
  border: 2px solid #C9C9C9;
  border-radius: 50%;
  position: relative;
  justify-self: end;
  align-self: center;
}
.blogArchive__itemArrow::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 48%;
  width: .65rem;
  height: .65rem;
  border-top: 3px solid #C9C9C9;
  border-right: 3px solid #C9C9C9;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media only screen and (max-width: 700px){
  .blogArchive__itemArrow{
    grid-column: 2 / 3;
    grid-row: 1 / 4;
    align-self: center;
  }
}
@media only screen and (max-width: 480px){
  .blogArchive__itemArrow{
    width: 2rem;
    height: 2rem;
  }
  .blogArchive__itemArrow::before{
    width: .5rem;
    height: .5rem;
    border-top-width: 2px;
    border-right-width: 2px;
  }
}

.blogArchive__empty{
  margin: 0;
  padding: 2rem 0;
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 500;
}




/* =========================================================
  TOP FEATURE LINKS
========================================================= */
.topFeatureLinks{
  padding: 0 0 4rem;
  background: #FFF;
}
@media only screen and (max-width: 960px){
  .topFeatureLinks{
    padding: 0 0 3rem;
  }
}
@media only screen and (max-width: 480px){
  .topFeatureLinks{
    padding: 0 0 2.5rem;
  }
}

.topFeatureLinks__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}
@media only screen and (max-width: 960px){
  .topFeatureLinks__grid{
    gap: 1.25rem;
  }
}
@media only screen and (max-width: 700px){
  .topFeatureLinks__grid{
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.topFeatureLinks__card{
  position: relative;
  display: block;
  border-radius: 1rem;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
}
@media only screen and (max-width: 960px){
  .topFeatureLinks__card{
    border-radius: 1.5rem;
  }
}

.topFeatureLinks__media{
  position: relative;
  aspect-ratio: 392 / 240;
  overflow: hidden;
}

.topFeatureLinks__media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform .4s ease;
}

.topFeatureLinks__overlay{
  position: absolute;
  inset: 0;
  /*background: rgba(0,0,0,.28);*/
  pointer-events: none;
}

.topFeatureLinks__content{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .9rem;
  padding: 1.5rem;
  text-align: center;
}
@media only screen and (max-width: 480px){
  .topFeatureLinks__content{
    gap: .7rem;
    padding: 1.25rem;
  }
}

.topFeatureLinks__title{
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .02em;
}
@media only screen and (max-width: 960px){
  .topFeatureLinks__title{
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 480px){
  .topFeatureLinks__title{
    font-size: 1rem;
  }
}

.topFeatureLinks__arrow{
  width: 1.75rem;
  height: 1.75rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .25s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cg%3E%3Cg%3E%3Cline x1='7' y1='14' x2='20' y2='14' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='21' y1='14' x2='16.1' y2='18.9' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='16.1' y1='9.1' x2='21' y2='14' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='13.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
}
@media only screen and (max-width: 480px){
  .topFeatureLinks__arrow{
    width: 1.5rem;
    height: 1.5rem;
  }
}

.topFeatureLinks__card:hover{
  opacity: 1;
}

.topFeatureLinks__card:hover .topFeatureLinks__media img{
  transform: scale(1.08);
}

.topFeatureLinks__card:hover .topFeatureLinks__arrow{
  transform: translateX(6px);
}



