@charset "utf-8";
#root {
  overflow: hidden;
}
.top-fv {
      position: relative;
    top: -100px;
    background-image: url(https://fthoumonkango.co.jp/system_panel/uploads/images/top-fv-bg.png);
    background-size: 100%;
    background-repeat: no-repeat;
    padding-top: 180px;
  padding-bottom: 20px;
}
.top-fv__inner {
      padding-left: clamp(2.5rem, -11.643rem + 22.1vw, 14.875rem);
    padding-right: clamp(3.75rem, -8.964rem + 19.87vw, 14.875rem);
}
.top-fv__container {
      display: flex;
    column-gap: clamp(2rem, 1.071rem + 1.45vw, 2.813rem);
    color: #fff;
}
.top-fv__left {
  width: 47%;
}
.top-fv__sub {
      font-size: clamp(1.125rem, 0.696rem + 0.67vw, 1.5rem);
    font-weight: 600;
}
.top-fv__title {
      font-size: clamp(2rem, -0.786rem + 4.35vw, 4.438rem);
    font-weight: 700;
}
.top-fv__title span {
  background: linear-gradient(transparent 80%, #D32829 20%);
}
.top-fv-img__wrap {
      margin-top: 16px;
    position: relative;
}
.top-fv-img__1 {
      aspect-ratio: 677/347;
    height: fit-content;
    object-fit: cover;
}
.top-fv-img1__deco1 {
      position: absolute;
    width: clamp(6.5rem, -0.5rem + 10.94vw, 12.625rem);
    left: -8%;
    bottom: -8%;
  animation-delay: 0.5s;
}
.top-fv-left__text {
  margin-top: clamp(2.5rem, 0.857rem + 2.57vw, 3.938rem);
}
.top-fv__right {
      width: 53%;
    position: relative;
    height: fit-content;
}
.top-fv-right__img {
      aspect-ratio: 722/532;
    height: fit-content;
    object-fit: cover;
}
.top-fv-right-img__deco1 {
      position: absolute;
    width: clamp(9.75rem, -2.107rem + 18.53vw, 20.125rem);
    left: -5%;
    top: -8%;
  animation-delay: 1s;
}
.top-fv-right-img__deco2 {
      position: absolute;
    width: clamp(6.125rem, -1.304rem + 11.61vw, 12.625rem);
    right: -5%;
    bottom: -20%;
  animation-delay: 1.5s;
}
.top-fv-right-img__deco3 {
      position: absolute;
    width: clamp(1.938rem, -0.205rem + 3.35vw, 3.813rem);
    top: 8px;
    right: 20px;
    filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.5));
}

.t-about__container {
      position: relative;
    padding-bottom: 80px;
    padding-top: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.t-about__title {
      position: absolute;
    z-index: 1;
    font-family: "Noto Serif JP", serif;
    font-weight: 300;
    font-size: clamp(5rem, -3.786rem + 13.73vw, 12.688rem);
    color: #C1C1C1;
    bottom: 654px;
}
.t-about__bg {
      position: absolute;
    top: 0;
    height: 100%;
    object-fit: cover;
}
.t-about-img__wrap {
      position: relative;
    writing-mode: vertical-lr;
    display: flex;
    flex-direction: column;
    align-items: center;
  z-index: 10;
  position: relative;
}
.t-about-title__deco {
      position: absolute;
    width: clamp(19rem, 12.786rem + 9.71vw, 24.438rem);
    z-index: -1;
    left: 48%;
    top: 0;
}
.t-about-img__wrap p {
      font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
    font-weight: 600;
}
.t-about__img {
    width: clamp(10.313rem, 4.955rem + 8.37vw, 15rem);
}
.t-about__content {
      margin-top: 66px;
    position: relative;
    writing-mode: vertical-rl;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 364px;
    row-gap: clamp(2.5rem, -7.214rem + 15.18vw, 11rem);
    padding-left: clamp(2.5rem, -28.929rem + 49.11vw, 30rem);
    padding-right: clamp(3.75rem, -26.25rem + 46.88vw, 30rem);
  z-index: 10;
}
.t-recruit__btn {
  writing-mode: horizontal-tb;
      display: flex;
    align-items: center;
    flex-direction: column;
    column-gap: 20px;
}
.t-recruit-btn__line {
      height: 108px;
    width: 1px;
        background: #000;
    position: relative;
    transition: all 0s;
}
.t-recruit-btn__line::after {
	    position: absolute;
    left: 0;
    content: '';
    width: 1px;
    height: 0%;
    background: #000;
    top: 0;
    transition: all 0.5s;
    z-index: 1;
}
.t-recruit__btn:hover .t-recruit-btn__line {
	background: transparent;
}
.t-recruit__btn:hover .t-recruit-btn__line::after {
  height: 108px;
}

.t-service__inner {
      padding-left: clamp(1.25rem, -17.893rem + 29.91vw, 18rem);
    padding-right: clamp(3.75rem, -12.536rem + 25.45vw, 18rem);
    position: relative;
}
.t-service-title__deco {
      position: absolute;
    width: 70%;
    left: 0;
    top: 0;
}
.t-service__container {
      position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-top: clamp(3.75rem, 1.179rem + 4.02vw, 6rem);
    padding-bottom: clamp(4.063rem, -0.58rem + 7.25vw, 8.125rem);
    color: #fff;
}
.t-service-title__big {
      position: absolute;
    writing-mode: vertical-lr;
    right: 0;
    top: clamp(3.75rem, 1.179rem + 4.02vw, 6rem);
}
.t-service-title-big__text {
      color: #C1C1C1;
    font-family: "Noto Serif JP", serif;
    font-weight: 300;
    font-size: clamp(4.5rem, -0.357rem + 7.59vw, 8.75rem);
  line-height: 1;
}
.t-service-title__img {
  width: clamp(10.5rem, -8.5rem + 29.69vw, 27.125rem);
}
.t-service__sub {
      margin-top: 20px;
    font-size: 16px;
    font-weight: 600;
}
.t-service__content {
      margin-top: clamp(3.75rem, 2.321rem + 2.23vw, 5rem);
    padding-left: clamp(0rem, -6.857rem + 10.71vw, 6rem);
    display: flex;
    flex-direction: column;
    row-gap: clamp(1.25rem, -0.179rem + 2.23vw, 2.5rem);
}
.t-service__title {
      display: flex;
    column-gap: 16px;
    align-items: center;
}
.t-service-title__line {
      border-bottom: 2px solid #fff;
    width: 155px;
}
.t-service-title__main {
      font-size: clamp(1rem, 0.429rem + 0.89vw, 1.5rem);
    font-weight: 600;
}
.t-service__text {
  font-weight: 600;
}
.t-service-btn__wrap {
      margin-top: clamp(2rem, 1.429rem + 0.89vw, 2.5rem);
    display: flex;
    flex-direction: column;
    align-items: end;
    row-gap: clamp(1rem, 0.571rem + 0.67vw, 1.375rem);
}
.t-service__right {
      display: flex;
    flex-direction: column;
    row-gap: clamp(1.25rem, -2.107rem + 5.25vw, 4.188rem);
    padding-right: clamp(2.5rem, -1.786rem + 6.7vw, 6.25rem);
}
.t-service-img__1 {
      width: 75%;
    aspect-ratio: 429/314;
    object-fit: cover;
    height: fit-content;
}
.t-service-img__2 {
      width: 45%;
    margin-left: auto;
    aspect-ratio: 256/349;
    height: fit-content;
    object-fit: cover;
}

.mission {
  margin-top: clamp(3rem, 0.583rem + 5.03vw, 6.625rem);
      background-image: url(https://fthoumonkango.co.jp/system_panel/uploads/images/pg-bg.png);
    background-size: 100%;
}
.mission__inner {
      padding-left: clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
    padding-right: clamp(3.75rem, -5.75rem + 19.79vw, 18rem);
}
.mission__container {
      display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 0;
  position: relative;
}
.mission__sub {
      font-size: 14px;
    font-weight: 600;
      position: relative;
    z-index: 5;
}
.mission__title {
      font-size: clamp(1.5rem, 1.167rem + 0.69vw, 2rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.7;
      position: relative;
    z-index: 5;
}
.mission-deco__1 {
      position: absolute;
    left: 0;
    top: 0;
    font-size: clamp(4.5rem, 1.667rem + 5.9vw, 8.75rem);
    font-weight: 300;
    font-family: "Noto Serif JP", serif;
    line-height: 1;
    z-index: 1;
}
.mission-deco__2 {
      width: clamp(7.938rem, 4.688rem + 6.77vw, 12.813rem);
    position: absolute;
    right: 0;
    top: 0;
}

.t-member {
  overflow: hidden;
}
.t-member__container {
      padding-top: clamp(1rem, -1.667rem + 5.56vw, 5rem);
    padding-left: clamp(1.25rem, -13.917rem + 31.6vw, 24rem);
    padding-right: clamp(3.75rem, -5.75rem + 19.79vw, 18rem);
}
.t-member__content {
      position: relative;
    color: #fff;
    padding-top: 80px;
    padding-bottom: clamp(2.5rem, 1.667rem + 1.74vw, 3.75rem);
}
.t-member__title {
      position: absolute;
    right: 0;
    top: 0;
    font-size: clamp(4.375rem, 1.458rem + 6.08vw, 8.75rem);
    font-weight: 300;
    font-family: "Noto Serif JP", serif;
    line-height: 1;
    z-index: -1;
}
.t-member__deco {
      position: absolute;
    z-index: -1;
    left: 10%;
    width: 412px;
}
.t-member__header {
      display: flex;
    align-items: center;
    column-gap: clamp(1.25rem, 0.292rem + 2vw, 2.688rem);
}
.t-member-header__sub {
      font-size: 16px;
    font-weight: 600;
}
.t-member-header__main {
  width: clamp(9.5rem, -2.167rem + 24.31vw, 27rem);
}
.t-member__wrap {
      display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.member-top__left {
      position: relative;
    height: fit-content;
  overflow: hidden;
  transition: all 0.5s;
}
.member-top-left__img {
      aspect-ratio: 541/419;
    object-fit: cover;
    height: fit-content;
  transition: all 0.5s;
}
.member-top__left::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.34); 
  z-index: 1;
  transition: all 0.5s;
}
.member-top-left__title {
      position: absolute;
    width: 35%;
    left: 15px;
    bottom: 0;
  z-index: 5;
}
.member-top-left__main {
      position: absolute;
    top: clamp(0.188rem, -0.354rem + 1.13vw, 1rem);
    right: clamp(0.188rem, -0.354rem + 1.13vw, 1rem);
    width: 40%;
    font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 600;
    color: #fff;
  z-index: 5;
}
.member-top-left__title--2 {
  width: 45%;
}
.member-top-left__title--3 {
      left: unset;
    right: 15px;
    bottom: unset;
    top: 0;
}
.member-top-left__main--2 {
  color: #fff;
}
.member-top-left__main--3 {
      top: unset;
    right: unset;
    bottom: clamp(0.188rem, -0.354rem + 1.13vw, 1rem);
    left: clamp(0.188rem, -0.354rem + 1.13vw, 1rem);
}
.t-member__btn {
      position: absolute;
    width: clamp(1.875rem, 0.583rem + 2.69vw, 3.813rem);
    object-fit: contain;
    right: 0;
    bottom: 0;
  z-index: 5;
}
.member-top__left:hover .member-top-left__img {
  transform: scale(1.1);
}
.member-top__left:hover::before {
  background-color: rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.t-recruit {
  padding-top: clamp(1.5rem, -5.042rem + 13.63vw, 11.313rem);
}
.t-recruit__inner {
      padding-right: clamp(3.75rem, -5.75rem + 19.79vw, 18rem);
}
.t-recruit__container {
      display: flex;
    column-gap: clamp(2.5rem, -5.375rem + 16.41vw, 14.313rem);
    color: #fff;
}
.t-recruit__left {
      width: 60%;
    height: fit-content;
    position: relative;
}
.t-recruit__img {
      aspect-ratio: 896/466;
    height: fit-content;
    object-fit: cover;
}
.t-recruit__title {
      position: absolute;
    left: 0;
    bottom: 0;
    font-size: clamp(3.313rem, 0.438rem + 5.99vw, 7.625rem);
    font-weight: 300;
    font-family: "Noto Serif JP", serif;
    line-height: 1;
}
.t-recruit__right {
        width: 40%;
    display: flex;
    flex-direction: column;
    writing-mode: vertical-rl;
    row-gap: clamp(1.25rem, -0.417rem + 3.47vw, 3.75rem);
}
.t-recruit__title2 {
      width: clamp(10.688rem, 4.813rem + 12.24vw, 19.5rem);
    height: fit-content;
    object-fit: contain;
}
.t-recruit__text {
        font-weight: 600;
    line-height: 2;
    margin-top: clamp(2.5rem, 5.21vw, 6.25rem);
    height: clamp(16.25rem, 11.917rem + 9.03vw, 22.75rem);
}
.t-recruit__btn--2 {
  margin-top: clamp(2.5rem, 5.21vw, 6.25rem);
}
.t-recruit-btn__line--white {
  background: #fff;
}
.t-recruit-btn__line--white::after {
  background: #fff;
}

.t-news {
      padding-top: clamp(2.5rem, -2.25rem + 9.9vw, 9.625rem);
    padding-bottom: clamp(7.5rem, 5.833rem + 3.47vw, 10rem);
}
.t-news__inner {
      padding-left: clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
    padding-right: clamp(3.75rem, -5.75rem + 19.79vw, 18rem);
}
.t-news__container {
      display: flex;
    column-gap: clamp(1.25rem, -2.917rem + 8.68vw, 7.5rem);
}
.t-news__left {
      width: clamp(12.625rem, 8.042rem + 9.55vw, 19.5rem);
    height: fit-content;
    object-fit: contain;
}

.news__right {
  width: 100%;
}
.news__right > section {
      display: flex;
    flex-direction: column;
    row-gap: 40px;
}
.news__item {
      padding-bottom: clamp(1rem, 0.75rem + 0.52vw, 1.375rem);
    border-bottom: 2px solid #fff;
}
.newsItemText__top {
      display: flex;
    column-gap: 16px;
}
.newsItemTime {
      font-size: 14px;
    color: #fff;
    font-weight: 600;
}
.newsItemCate {
      border: 1px solid #fff;
    border-radius: 13px;
    line-height: 1;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    height: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 18px;
}
.newsItemTit {
      margin-top: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 600;
    color: #fff;
    display: flex;
    align-items: center;
    column-gap: 10px;
    transition: all 0.5s;
}
.newsItemTit::after {
       display: inline-block;
    margin-left: auto;
    content: "";
    width: 10px;
    min-width: 10px;
    height: 10px;
    min-height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.news__item:hover .newsItemTit {
  color: #D32829;
}

@media (max-width: 1023px) {
  .member-top-left__title {
    width: clamp(6.25rem, -2.032rem + 17.25vw, 9rem);
  }
  .member-top-left__title--2 {
    width: clamp(8.75rem, -5.556rem + 29.8vw, 13.5rem);
  }
  .member-top-left__main {
    font-size: clamp(0.875rem, 0.122rem + 1.57vw, 1.125rem);
  }
}


@media (max-width: 767px) {
  .top-fv {
        top: -57px;
    padding-top: 161px;
  }
  .top-fv__inner {
    padding: 0 20px;
  }
  .top-fv__container {
        flex-direction: column;
    row-gap: 52px;
  }
  .top-fv__left {
    width: 100%;
  }
  .top-fv__title {
    font-size: 38px;
  }
  .top-fv-img1__deco1 {
        left: 0;
    width: clamp(6.5rem, 0.164rem + 25.99vw, 12.625rem);
  }
  .top-fv__right {
    width: 100%;
  }
  .top-fv-right-img__deco1 {
        width: clamp(9.688rem, 1.606rem + 33.16vw, 17.5rem);
    left: 0;
  }
  .top-fv-right-img__deco2 {
        width: clamp(6.063rem, -0.726rem + 27.85vw, 12.625rem);
    right: 0;
    bottom: -14%;
  }
  .top-fv-right-img__deco3 {
    width: clamp(1.938rem, -0.002rem + 7.96vw, 3.813rem);
  }
  
  .t-about__title {
        bottom: unset;
    top: -50px;
  }
  .t-about__content {
    margin-top: 40px;
        writing-mode: unset;
    width: fit-content;
    height: unset;
  }
  .t-about__text {
    width: fit-content;
  }
  .t-recruit__btn {
    writing-mode: vertical-lr;
  }
  .t-recruit-btn__line {
        width: 108px;
    height: 1px;
  }
  .t-recruit-btn__line::after {
        position: absolute;
    left: 0;
    content: '';
    width: 0%;
    height: 1px;
    background: #000;
    top: 0;
    transition: all 0.5s;
    z-index: 1;
  }
  .t-recruit__btn:hover .t-recruit-btn__line::after {
    height: 1px;
    width: 108px;
  }
  
  .t-service__inner {
    padding: 0 20px;
  }
  .t-service-title__deco {
    width: 100%;
  }
  .t-service__container {
        grid-template-columns: repeat(1, 1fr);
    row-gap: 40px;
  }
  .t-service-title__big {
        top: unset;
    bottom: 12%;
  }
  .t-service-title-big__text {
    font-size: clamp(4.5rem, 2.69rem + 7.43vw, 6.25rem);
  }
  .t-service-title__img {
    width: clamp(10.438rem, 1.838rem + 35.28vw, 18.75rem);
  }
  
  .mission__inner {
    padding: 0 20px;
  }
  .mission__container {
    padding-top: 340px;
  }
  .mission-deco__1 {
        top: 210px;
    left: 50%;
    transform: translateX(-50%);
  }
  .mission-deco__2 {
        top: 32px;
    right: 50%;
    transform: translateX(50%);
  }
  
  .t-member__container {
    padding-right: 20px;
  }
  .t-member__content {
    padding-top: clamp(2.875rem, 1.711rem + 4.77vw, 4rem);
  }
  .t-member__title {
    font-size: clamp(2.5rem, 1.207rem + 5.31vw, 3.75rem);
  }
  .t-member__deco {
        left: 50%;
    transform: translateX(-50%);
    width: clamp(9.063rem, -0.959rem + 41.11vw, 18.75rem);
    top: 50%;
  }
  .t-member__header {
        flex-direction: column;
    row-gap: 16px;
    align-items: end;
  }
  .t-member-header__main {
    width: clamp(9.5rem, 3.164rem + 25.99vw, 15.625rem);
  }
  
  .t-member__wrap {
    grid-template-columns: repeat(1, 1fr);
  }
  .member-top-left__title {
     width: 35%;
    left: 10px;
  }
  .member-top-left__title--3 {
    left: unset;
    right: 10px;
  }
  .member-top-left__title--2 {
    width: 45%;
  }
  .member-top-left__main {
    font-size: clamp(0.875rem, 0.616rem + 1.06vw, 1.125rem);
    top: clamp(0.188rem, -0.653rem + 3.45vw, 1rem);
    right: clamp(0.188rem, -0.653rem + 3.45vw, 1rem);
  }
  .member-top-left__main--3 {
        top: unset;
    right: unset;
    bottom: clamp(0.188rem, -0.653rem + 3.45vw, 1rem);
    left: clamp(0.188rem, -0.653rem + 3.45vw, 1rem);
  }
  .t-member__btn {
    width: 61px;
  }
  
  .t-recruit__inner {
    padding: 0;
  }
  .t-recruit__container {
        flex-direction: column-reverse;
    row-gap: 62px;
  }
  .t-recruit__left {
    width: 100%;
  }
  .t-recruit__title {
    font-size: clamp(3.313rem, 0.274rem + 12.47vw, 6.25rem);
  }
  .t-recruit__right {
        width: 100%;
    flex-direction: column;
    writing-mode: unset;
    row-gap: 40px;
    padding: 0 20px;
  }
  .t-recruit__title2 {
        margin-left: auto;
    margin-right: auto;
    width: clamp(10.688rem, 6.226rem + 18.3vw, 15rem);
  }
  .t-recruit__text {
        margin-top: 0;
    height: unset;
    margin-left: auto;
    margin-right: auto;
  }
  .t-recruit__btn--2 {
        margin-top: 0;
    margin-left: auto;
  }
  .t-recruit-btn__line--white::after {
    background: #fff;
  }
  
  .t-news__inner {
    padding-right: 20px;
  }
  .t-news__container {
        flex-direction: column;
    row-gap: 32px;
    align-items: center;
  }
}

@media (max-width: 389px) {
  .top-fv-right-img__deco1 {
    width: clamp(6.25rem, -9.692rem + 79.71vw, 9.688rem);
  }
  .top-fv-right-img__deco2 {
    width: clamp(5rem, 0.072rem + 24.64vw, 6.063rem);
  }
  .top-fv-right-img__deco3 {
    width: clamp(1.5rem, -0.529rem + 10.14vw, 1.938rem);
  }
  .t-service-title__line {
    width: 120px;
  }
  .t-service-title-big__text {
    font-size: 60px;
  }
  
  .mission__title {
    font-size: 22px;
  }
  
  .t-member__btn {
    width: 40px;
  }
}