/*===========================================================================*/
/*  function  */
/*===========================================================================*/
/*===========================================================================*/
/*  mixin  */
/*===========================================================================*/
.company {
  background-color: #ffead1;
  /*===========================================================================*/
  /*  company_mainvisual  */
  /*===========================================================================*/
  /*===========================================================================*/
  /*  company__support  */
  /*===========================================================================*/
  /*===========================================================================*/
  /*  company__message  */
  /*===========================================================================*/
  /*===========================================================================*/
  /*  company__overview  */
  /*===========================================================================*/
}
.company__mainvisual {
  position: relative;
  z-index: 2;
  background: url(../../images/company/company_mainvisual.jpg) no-repeat center center/cover;
}
.company__mainvisual__title {
  text-align: center;
  padding-top: clamp(100px, 21.3061825319px + 8.7340529931vw, 189px);
  padding-bottom: clamp(100px, 16.8851815505px + 9.2247301276vw, 194px);
  font-size: clamp(30px, 12.3159960746px + 1.9627085378vw, 50px);
  line-height: 1;
  font-weight: 900;
}
.company__mainvisual__title span {
  display: block;
  color: #ff883a;
  margin-bottom: 28px;
}
.company__support {
  padding-top: clamp(60px, 24.6319921492px + 3.9254170756vw, 100px);
  padding-bottom: clamp(124px, 78.0215897939px + 5.1030421982vw, 176px);
  position: relative;
}

/* 2025.11.12追加 */

@media (min-width: 901px) {
  .company__message .l-inner {
    width: 48vw;
  }
}



/* 2025.11.12追加　ここまで */

@media (max-width: 900px) {
  .company__support {
    padding-top: clamp(30px, 15.7142857143px + 3.8095238095vw, 50px);
    padding-bottom: clamp(30px, 12.3159960746px + 1.9627085378vw, 50px);
  }
}
.company__support::before {
  content: "";
  position: absolute;
  width: clamp(200px, -12.208047105px + 23.5525024534vw, 440px);
  height: clamp(200px, -12.208047105px + 23.5525024534vw, 440px);
  background-color: #ffd6b3;
  border-radius: 50%;
  top: -20px;
  right: calc(50% + 189px);
  z-index: 0;
}
@media (max-width: 900px) {
  .company__support::before {
    width: 200px;
    height: 200px;
    width: clamp(75px, 21.4285714286px + 14.2857142857vw, 150px);
    height: clamp(70px, 12.8571428571px + 15.2380952381vw, 150px);
    right: calc(50% + 90px);
    top: 70px;
  }
}
.company__support::after {
  content: "";
  position: absolute;
  width: 472px;
  height: 472px;
  width: clamp(150px, 1.4543670265px + 16.4867517174vw, 318px);
  height: clamp(150px, 1.4543670265px + 16.4867517174vw, 318px);
  background-color: #ffd6b3;
  border-radius: 50%;
  top: 100px;
  left: calc(50% + 240px);
  z-index: 0;
}
@media (max-width: 900px) {
  .company__support::after {
    width: 170px;
    height: 170px;
    width: clamp(150px, 85.7142857143px + 17.1428571429vw, 240px);
    height: clamp(150px, 85.7142857143px + 17.1428571429vw, 240px);
    left: calc(50% + 50px);
  }
}
.company__support__inner {
  position: relative;
}
.company__support__inner::before {
  content: "";
  position: absolute;
  width: clamp(70px, 15.1795878312px + 6.0843964671vw, 132px);
  height: clamp(70px, 15.1795878312px + 6.0843964671vw, 132px);
  background-color: #ffd6b3;
  border-radius: 50%;
  top: -80px;
  left: calc(50% + 11px);
  z-index: 0;
}
@media (max-width: 900px) {
  .company__support__inner::before {
    width: 200px;
    height: 200px;
    width: clamp(75px, 21.4285714286px + 14.2857142857vw, 150px);
    height: clamp(70px, 12.8571428571px + 15.2380952381vw, 150px);
    right: calc(50% + 90px);
    top: 70px;
  }
}
.company__support__box {
  position: relative;
  z-index: 2;
}
.company__support__title {
  line-height: 1.75;
  font-size: clamp(24px, 9.8527968597px + 1.5701668302vw, 40px);
  font-weight: 900;
  text-align: center;
}
@media (max-width: 900px) {
  .company__support__title {
    font-size: clamp(16px, 13.1428571429px + 0.7619047619vw, 20px);
    letter-spacing: 0.04em;
    line-height: 1.8;
  }
}
.company__support__title span {
  font-size: clamp(30px, 12.3159960746px + 1.9627085378vw, 50px);
  line-height: 1.4;
  vertical-align: bottom;
  background-image: linear-gradient(to top, #ff883a 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 100% 0.4em;
  background-position: 0px 80%;
}
@media (max-width: 900px) {
  .company__support__title span {
    font-size: clamp(22px, 16.2857142857px + 1.5238095238vw, 30px);
    background-position: 0px 85%;
  }
}
.company__message {
  position: relative;
  margin-bottom: clamp(24px, 16.9263984298px + 0.7850834151vw, 32px);
}
.company__message__inner {
  background-color: #fff;
  padding-top: clamp(26px, 3.010794897px + 2.5515210991vw, 52px);
  padding-bottom: clamp(94px, 71.010794897px + 2.5515210991vw, 120px);
  padding-left: clamp(58px, 42.0843964671px + 1.766437684vw, 76px);
  padding-right: clamp(18px, 1.2001962709px + 1.8645731109vw, 37px);
  border-radius: 90px;
}
@media (max-width: 900px) {
  .company__message__inner {
    padding: clamp(24px, 18.2857142857px + 1.5238095238vw, 32px);
    border-radius: 24px;
  }
}
.company__message__title {
  font-size: clamp(28px, 17.3895976447px + 1.1776251227vw, 40px);
  margin-bottom: clamp(40px, 24.0843964671px + 1.766437684vw, 58px);
  text-align: center;
  font-weight: 900;
}
@media (max-width: 900px) {
  .company__message__title {
    font-size: clamp(21px, 16.5789990186px + 0.4906771344vw, 26px);
    margin-bottom: clamp(24px, 16.9263984298px + 0.7850834151vw, 32px);
  }
}
.company__message__title span {
  background-image: linear-gradient(to top, #ff883a 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 100% 0.55em;
  background-position: 0px 100%;
}
.company__message__contents {
  display: flex;
  align-items: stretch;
  gap: clamp(64px, 49.8527968597px + 1.5701668302vw, 80px);
}
@media (max-width: 900px) {
  .company__message__contents {
    align-items: center;
    flex-direction: column;
    gap: clamp(16px, 4.5714285714px + 3.0476190476vw, 32px);
  }
}
.company__message__image {
  flex-shrink: 0;
  width: 40%;
  max-width: 700px;
  width: 40%;
}
@media (max-width: 900px) {
  .company__message__image {
    width: 100%;
  }
}
.company__message__text {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: column;
  font-size: clamp(16px, 3.6211972522px + 1.3738959764vw, 30px);
  font-weight: 700;
  line-height: 3;
}
@media (max-width: 900px) {
  .company__message__text {
    font-size: clamp(14px, 12.5714285714px + 0.380952381vw, 16px);
    line-height: 2.5;
  }
}
.company__overview__head {
  position: relative;
}
.company__overview__title {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(28px, 17.3895976447px + 1.1776251227vw, 40px);
  text-align: center;
  font-weight: 900;
}
@media (max-width: 900px) {
  .company__overview__title {
    font-size: clamp(21px, 17.4285714286px + 0.9523809524vw, 26px);
  }
}
.company__overview__contents {
  background-color: #d8e480;
  padding-top: clamp(56px, 37.4317958783px + 2.0608439647vw, 77px);
  padding-bottom: clamp(76px, 54.7791952895px + 2.3552502453vw, 100px);
}
@media (max-width: 900px) {
  .company__overview__contents {
    padding-top: clamp(40px, 13.5714285714px + 7.0476190476vw, 77px);
    padding-bottom: clamp(48px, 28px + 5.3333333333vw, 76px);
  }
}
.company__overview__list {
  font-size: clamp(16px, 8.0421982336px + 0.883218842vw, 25px);
  font-weight: 700;
  line-height: 2;
  margin-bottom: clamp(72px, 47.2423945044px + 2.7477919529vw, 100px);
}
@media (max-width: 900px) {
  .company__overview__list {
    font-size: clamp(14px, 12.5714285714px + 0.380952381vw, 16px);
    margin-bottom: clamp(40px, 17.1428571429px + 6.0952380952vw, 72px);
  }
}
.company__overview__item {
  display: flex;
  align-items: center;
  gap: clamp(140px, 33.8959764475px + 11.7762512267vw, 260px);
  padding-top: clamp(30px, 19.3895976447px + 1.1776251227vw, 42px);
  padding-bottom: clamp(30px, 19.3895976447px + 1.1776251227vw, 42px);
  padding-left: clamp(120px, 84.6319921492px + 3.9254170756vw, 160px);
  border-bottom: 2px solid #511f20;
}
@media (max-width: 900px) {
  .company__overview__item {
    gap: clamp(16px, -29.7142857143px + 12.1904761905vw, 80px);
    padding-top: clamp(24px, 18.2857142857px + 1.5238095238vw, 32px);
    padding-bottom: clamp(24px, 18.2857142857px + 1.5238095238vw, 32px);
    padding-left: 0;
    border-bottom: 1px solid #511f20;
  }
}
.company__overview__item:first-child {
  border-top: 2px solid #511f20;
}
@media (max-width: 900px) {
  .company__overview__item:first-child {
    border-top: 1px solid #511f20;
  }
}
.company__overview__item dt {
  text-align: center;
  width: 6em;
}
@media (max-width: 900px) {
  .company__overview__item dt {
    flex-shrink: 0;
    text-align: left;
  }
}
.company__overview__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(60px, 10.4847890088px + 5.4955839058vw, 116px);
}
@media (max-width: 900px) {
  .company__overview__buttons {
    flex-direction: column;
    gap: clamp(16px, 8.9263984298px + 0.7850834151vw, 24px);
  }
}
