/* 2025-04-07 追記 */

@media screen and (min-width: 768px) {
  .mv .mv__main {
    width: min(45.385vw, 620px);
  }
  .mv .mv__pic {
    width: min(55.923vw, 681px);
  }
  .mv .mv__main-title {
    font-size: min(6.5vw, 40px);
  }
  .mv .mv__main-title {
      font-size: min(2.8vw, 40px);
  }
}
@media screen and (max-width: 767px) {
  .mv .mv__main-title {
      font-size: max(7vw, 15px);
  }
}
.mv .mv__main-title br.pc {
    display: block;
}
.business-record__title {
    padding: 16px 0 0;
    color: #334a85;
    display: flex;
    flex-direction: column;
}
.business-record__title p {
    font-size: 36px;
    color: #334a85;
    margin-bottom: 16px;
    margin-top: 16px;
}
.business-record__title-head {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-wrap: wrap;
}
.record-num {
    display: inline-block;
    font-family: 'Questrial', sans-serif;
    font-size: 128px;
    font-weight: 400;
    line-height: 1;
}
.business-record__title-head p {
    font-size: 28px;
    margin-bottom: 0;
}
.cta-bloc {
    display: flex;
    gap: 16px;
    justify-content: flex-start;
    padding-top: 40px;
}
.cta-bloc .btn-icon-mail, .cta-bloc .btn-icon-download {
    font-size: clamp(16px, 1.7vw, 22px);
    min-width: 300px;
    padding: 19px 80px 19px 30px;
}


.btn-icon-mail, .btn-icon-download {
    position: relative;
    padding: 12px 60px 12px 30px;
    font-weight: bold;
    font-size: 20px;
    text-align: left;
    background-color: #f4a005;
    border: 2px solid #fff;
    border-radius: 54px;
    filter: drop-shadow(3px 3px 6px rgba(91, 126, 217, 0.17));
  }
  .btn-icon-download {
    background: white;
    color: #334ab5;
    border-color: #334a85;
    border-width: 2px;
  }
  @media (max-width: 1420px) {
    .btn-icon-mail {
      font-size: clamp(20px, 1.7vw, 22px);
    }
  }
  @media (max-width: 767.98px) {
    .btn-icon-mail {
      padding: 3.4666666667vw 17.0666666667vw 3.4666666667vw 2.6666666667vw;
      font-size: 3.7333333333vw;
    }
  }
  .btn-icon-mail, .btn-icon-mail:hover {
    color: #fff;
  }
  .btn-icon-download, .btn-icon-download:hover {
    color: #334a85;
  }
  @media (min-width: 768px) {
    .btn-icon-mail:hover {
      background-color: #f4c605;
      color: white;
    }
    .btn-icon-download:hover {
      background-color: #206fb2;
      color: white;
    }
  }
  @media (min-width: 768px) {
    .btn-icon-mail:hover:before, .btn-icon-download:hover:before {
      background-color: #f3f3f3;
    }
  }
  .btn-icon-mail:before, .btn-icon-mail:after, .btn-icon-download:before, .btn-icon-download:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    transition: 0.3s all ease;
    content: "";
  }
  .btn-icon-mail:before, .btn-icon-download:before {
    right: 10px;
    width: 40px;
    height: 40px;
    background-color: #fff;
    border-radius: 50%;
  }
  .btn-icon-download:before {
    outline: 2px solid #334a85;
    outline-offset: -2px;
  }
  .btn-icon-download:hover:before {
    outline: none;
  }
  
  @media (max-width: 767.98px) {
    .btn-icon-mail:before, .btn-icon-download:before {
      right: 1.3333333333vw;
      width: 9.6vw;
      height: 9.6vw;
    }
  }
  .btn-icon-mail:after {
    right: 20px;
    width: 20px;
    height: 15px;
    background: url("../img/icon/mail-y.svg") 0 0 no-repeat;
    background-size: contain;
  }
  .btn-icon-download:after {
    background: url("../img/icon/download.svg") 0 0 no-repeat;
    right: 18px;
    width: 24px;
    height: 24px;
    background-size: contain;
  }
  
  @media (max-width: 767.98px) {
    .btn-icon-mail:after {
      right: 4vw;
      width: 3.7333333333vw;
      height: 2.6666666667vw;
    }
    .btn-icon-download:after {
      right: 3.5vw;
      width: 4.7333333333vw;
      height: 4.7333333333vw;
    }
  }
  .btn-icon-mail.dark-circle:before, .btn-icon-download.dark-circle:before {
    background-color: #206fb2;
  }
  .btn-icon-mail.dark-circle:hover:before, .btn-icon-download.dark-circle:hover:before {
    background-color: #091e30;
  }
  
@media (min-width: 768px) and (max-width: 1399.98px) {
.business-record__title p {
    font-size: 1.8vw;
}
.record-num {
    font-size: 8vw;
}
.cta-bloc .btn-icon-mail, .cta-bloc .btn-icon-download {
    font-size: clamp(14px, 1.4vw, 22px);
    min-width: 200px;
    width: min(48%, 300px);
    padding: 19px 30px 19px 20px;
}
}
@media (max-width: 767.98px) {
.mv .mv__main-title br.pc {
    display: none;
}
.mv .mv__main-title br.sp {
    display: block;
}
.business-record__title p {
    font-size: 4.4666666667vw;
}
.record-num {
    font-size: 16vw;
}
.cta-bloc {
    flex-direction: column;
    align-items: center;
    margin: auto;
}
.cta-bloc .btn-icon-download {
    padding: 3.4666666667vw 17.0666666667vw 3.4666666667vw 10.6666666667vw;
    font-size: 3.7333333333vw;
    min-width: 80%;
    text-align: center;
}
}

.company-logos {
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;
  height: 80px;
  margin-top: 48px;
}
.company-logos-heading {
	padding: 10px 30px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background: #334A85;
	width: 259px;
	line-height: 1.5em;
  position:absolute;
  inset: 0 0;
  z-index: 10;
}

.company-logos-heading p,
.company-logos-heading a {
	width: 100%;
	display: block;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
  margin-bottom: 0;
  padding-top: .25rem;
}

.company-logos-heading a:hover {
	opacity: 0.6;
}

.company-logos-heading span {
	font-size: 24px;
	color: #d3ae57;
}

.company-logos-heading:before {
	content: "";
	background-image: url(./../img/icon/companylogo_ico_l.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	filter: brightness(0) saturate(100%) invert(82%) sepia(97%) saturate(6288%) hue-rotate(313deg) brightness(89%) contrast(86%);
	width: 20px;
	height: 65px;
	position: absolute;
	left: 20px;
	top: 10px;
}

.company-logos-heading:after {
	content: "";
	background-image: url(./../img/icon/companylogo_ico_r.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	filter: brightness(0) saturate(100%) invert(82%) sepia(97%) saturate(6288%) hue-rotate(313deg) brightness(89%) contrast(86%);
	width: 20px;
	height: 65px;
	position: absolute;
	right: 20px;
	top: 10px;
}

.swiper {
  width: auto !important;
  height: 80px;
  position: relative;
  z-index: 0;
}
.swiper-wrapper {
  transition-timing-function: linear !important;
}
.swiper-slide {
  display: flex !important;
  justify-content: center;
  align-items: center;
}
.swiper-slide img {
  height: auto;
  max-height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  margin: auto;
}

@media (min-width: 768px) and (max-width: 1399.98px) {
  .swiper {
    height: max(5.5vw, 40px);
  }
}

@media (max-width: 767.98px) {
  .section-fv .cta-bloc {
    margin-top: 40px;
  }
  .company-logos {
    height: 200px;
  }
  .company-logos-heading {
    inset: -20px 0 0;
    height: 80px;
    width: 100%;
  }
  .company-logos-heading:before {
    left: calc(calc(100% - 220px) / 2);
  }
  .company-logos-heading:after {
    right: calc(calc(100% - 220px) / 2);
  }
  .swiper {
    height: 40px;
  }
}

.header .header__btn-in {
  background-color: #f4a005;
  position: relative;
}
.header .header__btn-in:hover {
  background-color: #f4c605;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .header .c-btn {
    padding: 12px 60px 12px 30px;
    font-size: 20px;
    height: 58px;
    width: fit-content;
  }
  .header .c-btn__icon {
      height: min(4vw, 40px);
      width: min(4vw, 40px);
      padding: 10px;
  }
}
.fc_yellow {
  color: #f4a005;
}

@media screen and (min-width: 768px) {
  body {
      padding-top: min(10.385vw, 120px);
  }
  .header {
      padding-bottom: min(3.077vw, 16px);
      padding-top: min(3.077vw, 16px);
  }
}

.header__btn > div {
  display: flex;
  gap: 12px;
}

.header__btn .btn-icon-download {
  font-size: min(20px, 1.5vw);
  display: flex;
  align-items: center;
  padding: 12px 60px 12px 30px;
}

.page::before {
  height: min(59.538vw, 680px);
  width: min(59.538vw, 680px);
}