/*----------------------------------
下層ページ共通
----------------------------------*/

.page-mainvisual {
  position: relative;
  margin-top: 40px;
  padding: 0 50px;
}

.page-mainvisual.no-img .page-mainvisual__title {
  position: static;
  transform: none;
}

.page-mainvisual.no-img .page-mainvisual__title>span {
  color: #333;
}

.page-mainvisual.no-img .page-mainvisual__title .en::after {
  background-color: #333;
}

.page-mainvisual__img img {
  width: 100%;
  border-radius: 20px;
}

.page-mainvisual__title {
  position: absolute;
  top: 50%;
  left: 150px;
  transform: translateY(-50%);
}

.page-mainvisual__title>span {
  display: block;
  color: #fff;
  line-height: 1.5;
}

.page-mainvisual__title .en {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-family: "Work Sans", sans-serif;
  letter-spacing: 0.03em;
}

.page-mainvisual__title .en::after {
  display: inline-block;
  width: 60px;
  height: 1px;
  margin-left: 5px;
  background-color: #fff;
  content: "";
}

.page-mainvisual__title .ja {
  font-weight: 700;
  font-size: 4.2rem;
}

.breadcrumb {
  margin-top: 40px;
  padding-left: 50px;
}

.breadcrumb__items {
  display: flex;
}

.breadcrumb__items>span {
  color: #D6551A;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
}

.breadcrumb__items>span a {
  color: #333;
}

.breadcrumb__items>span:first-child {
  position: relative;
}

.breadcrumb__items>span:nth-child(2) {
  position: relative;
}

.breadcrumb__items>span:not(:first-child) {
  position: relative;
  margin-left: 26px;
}

.breadcrumb__items>span:not(:first-child)::before {
  position: absolute;
  top: 7px;
  left: -15px;
  width: 7px;
  height: 10px;
  background: url(../img/arrow_breadcrumb.svg) no-repeat center left/contain;
  content: "";
}

.breadcrumb__items>span:not(:last-child) {
  white-space: nowrap;
}

.page-intro__inner {
  width: min(100% - 100px, 1240px);
  height: inherit;
  margin: auto;
}

.page-intro__wrap {
  display: flex;
  align-items: center;
}

.page-intro__img {
  flex: 0 0 43.548%;
}

.page-intro__img img {
  border-radius: 10px;
}

.page-intro__content {
  margin-left: 80px;
  padding-right: 80px;
}

.page-intro__title {
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 1.5;
}

.page-intro__text {
  margin-top: 40px;
}

.pagination {
  display: flex;
  justify-content: center;
  margin-top: 100px;
}

.pagination-link {
  display: inline-block;
  margin-right: 10px;
}

.pagination-link:last-child {
  margin-right: 0;
}

.pagination-link.next .page-numbers {
  position: relative;
}

.pagination-link.next .page-numbers::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 13px;
  transform: translate(-50%, -50%);
  background: url(../img/arrow_pagination.svg) no-repeat center left/contain;
  content: "";
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-right: 10px;
  border: 1px solid #D6551A;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  font-family: "Work Sans", sans-serif;
  letter-spacing: 0;
}

.page-numbers:last-child {
  margin-right: 0;
}

.page-numbers.prev {
  position: relative;
}

.page-numbers.prev::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 13px;
  transform: translate(-50%, -50%) rotate(180deg);
  background: url(../img/arrow_pagination.svg) no-repeat center left/contain;
  content: "";
}

.page-numbers.next {
  position: relative;
}

.page-numbers.next::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 13px;
  transform: translate(-50%, -50%);
  background: url(../img/arrow_pagination.svg) no-repeat center left/contain;
  content: "";
}

.page-numbers.current {
  background-color: #D6551A;
  color: #fff;
  font-weight: 700;
}

.search-page h1 {
  margin-bottom: 50px;
  font-size: 2.8rem;
}

.search-page .archive__wrap {
  display: block;
}

.search-page .archive__content {
  width: 100%;
}

.search-page .news__item.is-page .info .info__title {
  margin-top: 0;
}

.search-page .nav-links {
  display: flex;
}

.search-page .nav-links .prev::after,
.search-page .nav-links .next::after {
  content: none;
}

.page-404 {
  padding: 160px 0 240px;
}

.page-404 .button {
  margin-top: 50px;
  text-align: center;
}

.page-404__title {
  font-weight: 700;
  font-size: 4.6rem;
  text-align: center;
}

.page-404__wrap {
  margin-top: 50px;
}

.page-404__text {
  text-align: center;
}

.page-404__text+.page-404__text {
  margin-top: 24px;
}

/*----------------------------------
会社情報ページ
----------------------------------*/

.company-sec01__wrap {
  display: flex;
  margin-top: 70px;
}

.company-sec01__img {
  flex: 0 0 38.888%;
}

.company-sec01__img img {
  border-radius: 10px;
}

.company-sec01__content {
  margin-left: 80px;
}

.company-sec01__content .president {
  color: #D6551A;
  font-weight: 700;
  font-size: 2.8rem;
  letter-spacing: 0;
}

.company-sec01__content .president .font-small {
  display: block;
  color: #333;
  font-weight: 500;
  font-size: 1.6rem;
}

.company-sec01__content .text__wrap {
  margin-top: 40px;
}

.text__wrap .text+.text {
  margin-top: 30px;
}

.career {
  margin-top: 70px;
  padding: 40px;
  border-radius: 10px;
  background-color: #F8F8F8;
}

.career__title {
  color: #D6551A;
  font-weight: 700;
  font-size: 2rem;
}

.career__content dt {
  margin-top: 20px;
  padding-bottom: 3px;
  border-bottom: 1px solid #DE7748;
}

.career__content dd {
  margin-top: 10px;
}

.company-sec02 .text__wrap {
  margin-top: 70px;
  text-align: center;
}

.company-sec02-box {
  z-index: 1;
  position: relative;
  margin-top: 50px;
  padding: 30px 100px;
  overflow: hidden;
  border-radius: 10px;
  background-color: #fff;
}

.company-sec02-box::before {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: -270px;
  width: 620px;
  height: 620px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-image: radial-gradient(circle, rgb(250, 211, 9), rgb(241, 151, 30) 100%, rgb(247, 187, 16) 40%, rgb(247, 177, 19) 70%);
  content: "";
}

.company-sec02-box__wrap {
  display: flex;
  align-items: center;
}

.company-sec02-box__img {
  flex: 0 0 20.454%;
}

.company-sec02-box__img img {
  width: 100%;
  height: 100%;
}

.company-sec02-box__content {
  margin-left: 120px;
}

.company-sec02-box__title {
  display: flex;
  align-items: center;
  color: #D6551A;
  font-size: 2rem;
}

.company-sec02-box__title::after {
  display: inline-block;
  width: 80px;
  height: 1px;
  margin-left: 10px;
  background-color: #D6551A;
  content: "";
}

.company-sec02-box__text {
  margin-top: 20px;
  font-size: 1.4rem;
}

.company-sec03__wrap {
  display: flex;
}

.company-sec03__wrap .section__title {
  flex: 0 0 142px;
}

.corporate__content {
  margin-left: 198px;
}

.table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.table tr {
  display: block;
  border-bottom: 1px solid #E5E5E5;
}

.table th,
.table td {
  padding: 15px 0;
  vertical-align: middle;
}

.table th {
  width: 120px;
  padding-left: 20px;
  color: #D6551A;
  font-weight: 700;
  text-align: left;
}

.table td {
  padding-left: 20px;
}

.table td .font-small {
  display: block;
  font-size: 1.4rem;
}

.google-map {
  margin-top: 70px;
}

.google-map iframe {
  max-width: 100%;
}

.company-sec04__content {
  position: relative;
  width: 700px;
  max-width: 100%;
  height: 567px;
  margin: auto;
  margin-top: 70px;
  padding-top: 60px;
}

.company-sec04__wrap {
  width: 408px;
  max-width: 100%;
  height: 160px;
  padding: 40px 20px;
  border: 1px solid #E28961;
  border-radius: 5px;
  background-color: #fff;
}

.company-sec04__title {
  color: #EB5917;
  font-weight: 700;
  font-size: 2.2rem;
  text-align: center;
}

.company-sec04__lead {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  font-weight: 700;
  font-size: 1.8rem;
}

.company-sec04__lead::before {
  display: inline-block;
  width: 35px;
  height: 35px;
  margin-right: 8px;
  background: url(../img/icon_pc.svg) no-repeat center left/contain;
  content: "";
}

.company-sec04__img {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 49px);
  height: 100%;
}

.company__lists {
  width: 880px;
  max-width: 100%;
  margin: 70px auto 0;
}

.company__list {
  display: flex;
  padding-bottom: 50px;
  border-bottom: 1px solid #E3E3E3;
}

.company__list+.company__list {
  margin-top: 50px;
}

.company__img {
  flex: 0 0 28.409%;
}

.company__content {
  margin-left: 50px;
}

.company__title {
  display: flex;
  align-items: center;
  color: #D6551A;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
}

.company__title::after {
  display: inline-block;
  width: 80px;
  height: 1px;
  margin-left: 10px;
  background-color: #D6551A;
  content: "";
}

.company__text {
  margin-top: 20px;
}

.company-sec07 {
  padding-bottom: 240px !important;
  background-color: #F8F8F8;
}

.company-sec07__inner {
  width: min(100% - 140px, 1240px);
  height: inherit;
  margin: auto;
}

.company-sec07__wrap {
  display: flex;
}

.company-sec07-image {
  flex: 0 0 38.306%;
}

.company-sec07__img {
  padding: 34px 36px 34px 20px;
  background-color: #fff;
}

.company-sec07__content {
  margin-left: 70px;
  padding-right: 80px;
}

.company-sec07__content .text__wrap {
  margin-top: 70px;
}

.company-sec07__content .text__wrap .text+.text {
  margin-top: 20px;
}

.company-sec07__title {
  color: #D6551A;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
}

/*----------------------------------
業務内容ページ
----------------------------------*/

.service-sec01 {
  border-radius: 40px 40px 0 0;
  background-color: #F8F8F8;
}

.service__lists {
  margin-top: 70px;
}

.service__list+.service__list {
  margin-top: 50px;
}

.service-head {
  display: flex;
  position: relative;
  align-items: center;
  height: 100px;
  border-radius: 5px;
  background-color: #D6551A;
  color: #fff;
}

.service-head:hover {
  cursor: pointer;
}

.service-head.minus .service-head-circle::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.service-head__img {
  flex: 0 0 160px;
}

.service-head__img img {
  border-radius: 5px 0 0 5px;
}

.service-head__wrap {
  display: flex;
  flex: 0 0 calc(100% - 160px);
  align-items: center;
  padding-right: 60px;
}

.service-head__title {
  flex: 0 0 252px;
  padding-left: 40px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
}

.service-head__lead {
  padding-left: 20px;
}

.service-head-circle {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #fff;
}

.service-head-circle::before,
.service-head-circle::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  transform: translate(-50%, -50%);
  background: #D6551A;
  content: "";
  transition: all 0.4s;
}

.service-head-circle::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.service__content {
  display: none;
  padding: 60px;
  border-radius: 0 0 5px 5px;
  background-color: #fff;
}

.service__content .diagnosis {
  margin-top: 40px;
}

.service__lead a {
  color: #D6551A;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.service__items {
  margin-top: 40px;
}

.service__item+.service__item {
  margin-top: 40px;
}

.service__item .list-table {
  margin-top: 40px;
}

.service__item .list-table table {
  border-collapse: collapse;
}

.service__item .list-table table th,
.service__item .list-table table td {
  height: 44px;
  border: 1px solid #7A7A7A;
  line-height: 1.5;
  vertical-align: middle;
}

.service__item .list-table table th {
  background: #FCF8F0;
  text-align: center;
}

.service__item .list-table table th:first-child {
  width: 296px;
}

.service__item .list-table table th:nth-child(2) {
  width: 116px;
}

.service__item .list-table table td {
  text-align: center;
}

.service__title {
  display: flex;
  align-items: center;
  height: 46px;
  margin-bottom: 20px;
  padding-left: 20px;
  background-color: #FCF8F0;
  color: #D6551A;
  font-weight: 700;
  font-size: 2rem;
}

.service__text.ls-0 {
  letter-spacing: 0;
}

.orange__lists+.service__text {
  margin-top: 20px;
  letter-spacing: 0;
}

.orange__list {
  position: relative;
  padding-left: 12px;
  letter-spacing: 0;
}

.orange__list::before {
  position: absolute;
  top: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #EB5917;
  content: "";
}

.orange__list+.orange__list {
  margin-top: 5px;
}

.orange__list ul li {
  padding-left: 1em;
  text-indent: -1em;
}

.service-partnership {
  width: 857px;
  max-width: 100%;
  margin: 70px auto 0;
}

.service-partnership__title {
  color: #EB5917;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}

.service-partnership__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px 80px;
  margin-top: 20px;
}

.service-partnership__item {
  /* width: calc(50% - 40px); */
  text-align: center;
}

.service-partnership__item:nth-of-type(2) .service-partnership-logo,
.service-partnership__item:nth-of-type(3) .service-partnership-logo,
.service-partnership__item:nth-of-type(4) .service-partnership-logo {
  width: 70%;
  margin: 10px auto 0;
}

/* .service-partnership__item+.service-partnership__item {
  margin-left: 80px;
} */

.service-partnership-link {
  position: relative;
  padding: 20px 16px 40px;
  border-radius: 5px;
  background-color: #fff;
  display: block;
  height: 100%;
}

.service-partnership-link::before {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  border-radius: 5px 0 5px 0;
  background-color: #D6551A;
  content: "";
}

.service-partnership-link::after {
  position: absolute;
  right: 12px;
  bottom: 14px;
  width: 16px;
  height: 13px;
  background: url(../img/arrow_white.svg) no-repeat center left/contain;
  content: "";
}

.service-partnership__text {
  color: #333;
}

.service-partnership-logo {
  margin-top: 10px;
}

.service-feature__lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 70px;
  gap: 80px;
}

.service-feature__img img {
  border-radius: 10px;
}

.service-feature__content {
  margin-top: 30px;
}

.service-feature__title>span {
  display: block;
}

.service-feature__title>span.en {
  display: flex;
  align-items: center;
  color: #DE7748;
  font-size: 1.4rem;
  line-height: 1;
  font-family: "Work Sans", sans-serif;
}

.service-feature__title>span.en::after {
  display: inline-block;
  width: 80px;
  height: 1px;
  margin-left: 5px;
  background-color: #DE7748;
  content: "";
}

.service-feature__title>span.ja {
  display: flex;
  align-items: center;
  margin-top: 5px;
  font-weight: 700;
  line-height: 1.5;
}

.service-feature__title>span.ja .number {
  margin-right: 10px;
  color: #D6551A;
  font-size: 3.2rem;
  font-family: "Work Sans", sans-serif;
  letter-spacing: 0;
}

.service-feature__title>span.ja .ttl {
  font-size: 2.8rem;
}

.service-feature__text {
  margin-top: 30px;
}

.service-sec03 {
  padding-bottom: 240px !important;
}

.service-price {
  margin-top: 70px;
}

.service-price__item+.service-price__item {
  margin-top: 160px;
}

.service-price__item:first-of-type .service-price__content table th {
  height: 84px;
}

.service-price__item:first-of-type .service-price__content table th:first-child {
  width: 40.16%;
}

.service-price__item:first-of-type .service-price__content table td {
  height: 114px;
}

.service-price__item:first-of-type .service-price__content table td>span {
  display: block;
  text-align: center;
}

.service-price__item:first-of-type .service-price__content table td .font-large {
  color: #D6551A;
  font-weight: 700;
  font-size: 1.8rem;
}

.service-price__item:first-of-type .service-price__content table td .font-large span {
  color: #333;
  font-weight: 400;
  font-size: 1.6rem;
}

.service-price__item:first-of-type .service-price__content table td .font-small {
  margin-top: 5px;
  font-size: 1.4rem;
}

.service-price__item:first-of-type .service-price__content table td .font-small span {
  display: inline-block;
  padding: 5px 20px;
  background-color: #F8F8F8;
}

.service-price__item:nth-of-type(2) .service-price__content table th {
  height: 84px;
}

.service-price__item:nth-of-type(2) .service-price__content table th:first-child {
  width: 118px;
}

.service-price__item:nth-of-type(2) .service-price__content table td {
  height: 57px;
}

.service-price__item:nth-of-type(2) .service-price__content table td.bg-white {
  background-color: #fff;
}

.service-price__item:nth-of-type(3) .service-price__content table tr:last-child td {
  height: 75px;
}

.service-price__item:nth-of-type(3) .service-price__content table th {
  height: 57px;
}

.service-price__item:nth-of-type(3) .service-price__content table th:last-child {
  width: 301px;
}

.service-price__item:nth-of-type(3) .service-price__content table th::before {
  width: calc(100% + 0.5px);
}

.service-price__item:nth-of-type(3) .service-price__content table td {
  height: 57px;
}

.service-price__title {
  position: relative;
  padding-bottom: 5px;
  padding-left: 28px;
  border-bottom: 1px solid #DE7748;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
}

.service-price__title::before {
  position: absolute;
  top: 13px;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #D6551A;
  content: "";
}

.service-price__content {
  margin-top: 50px;
  padding: 0 39px;
}

.service-price__content table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.service-price__content table th,
.service-price__content table td {
  line-height: 1.5;
  letter-spacing: 0;
  vertical-align: middle;
}

.service-price__content table th {
  position: relative;
  font-weight: 700;
  line-height: 1.5;
}

.service-price__content table th::before {
  z-index: -1;
  position: absolute;
  inset: 0;
  border-top: 1px solid #7A7A7A;
  border-right: 0.5px solid #7A7A7A;
  border-bottom: none;
  border-left: 0.5px solid #7A7A7A;
  border-radius: 10px 10px 0 0;
  content: "";
}

.service-price__content table th:not(:first-child) {
  color: #fff;
  font-size: 1.8rem;
}

.service-price__content table th:first-child {
  font-size: 1.7rem;
}

.service-price__content table th:first-child::before {
  left: -0.5px;
  border-left-width: 1px;
  background-color: #F8F8F8;
}

.service-price__content table th:nth-child(2)::before {
  background-color: #F89E33;
}

.service-price__content table th:nth-child(3)::before {
  background-color: #DEBB22;
}

.service-price__content table th:nth-child(4)::before {
  width: calc(100% + 0.5px);
  border-right-width: 1px;
  background-color: #74C062;
}

.service-price__content table th:last-child::before {
  border-right-width: 1px;
}

.service-price__content table td {
  padding: 0 10px;
  border: 1px solid #7A7A7A;
  text-align: center;
}

.service-price__content table td:nth-child(2) {
  background-color: #FCF8F0;
}

.service-price__content table td:nth-child(3) {
  background-color: #FDFEEF;
}

.service-price__content table td:nth-child(4) {
  background-color: #F5FEF3;
}

.service-price__content table td .circle {
  position: relative;
}

.service-price__content table td .circle::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  border: 2px solid #333;
  border-radius: 50%;
  content: "";
}

.service-price-box {
  width: 1002px;
  max-width: 100%;
  margin: 50px auto 0;
  padding: 40px 80px;
  border-radius: 5px;
  background-color: #FCF8F0;
}

.service-price-box .orange__lists {
  margin-top: 20px;
}

.service-price-box .orange__list {
  line-height: 1.6;
}

.service-price-box .orange__list:first-child {
  display: none;
}

.service-price-box .orange__list::before {
  top: 10px;
}

.service-price-box__title {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
}

.service-price-box__title::before {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 10px;
  background: url(../img/icon_cross.svg) no-repeat center left/contain;
  content: "";
}

.table-caption {
  margin-top: 20px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
}

/*----------------------------------
労災保険についてページ
----------------------------------*/

.rousai-sec01 {
  position: relative;
}

.rousai-sec01::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background-color: #F8F8F8;
  content: "";
}

.rousai-sec01 .bg-gray {
  position: relative;
  padding-bottom: 60px;
  background-color: #F8F8F8;
}

.rousai-sec01 .bg-gray::after {
  z-index: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 125px;
  height: 8.6805555556vw;
  transform: translateY(100%);
  background: url(../img/rousai_triangle.png) no-repeat center left/contain;
  content: "";
}

.rousai-flow {
  margin-top: 70px;
}

.rousai-flow__title {
  display: inline-block;
  position: relative;
  padding-bottom: 4px;
  padding-left: 28px;
  border-bottom: 1px solid #DE7748;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
}

.rousai-flow__title::before {
  position: absolute;
  top: 10px;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #D6551A;
  content: "";
}

.rousai-flow__items {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}

.rousai-flow__items .arrow {
  margin: 0 40px;
}

.rousai-flow__item {
  text-align: center;
}

.rousai-flow__item.first .rousai-flow__text {
  margin-top: 5px;
}

.rousai-flow__item.second {
  position: relative;
}

.rousai-flow__item.second .rousai-flow-illust {
  margin: 15px 0;
}

.rousai-flow__item.second .speech-bubble {
  position: absolute;
  top: -68px;
  right: -289px;
}

.rousai-flow__text {
  font-weight: 700;
  font-size: 2rem;
}

.rousai-flow__text.underline {
  -webkit-text-decoration-skip-ink: none;
  display: inline-block;
  text-decoration: underline;
  text-decoration-color: #DE7748;
  text-decoration-thickness: 5px;
  text-decoration-skip-ink: none;
  text-underline-offset: -1px;
}

.rousai-system {
  margin-top: 200px;
}

.rousai-system__item+.rousai-system__item {
  margin-top: 80px;
  padding-top: 80px;
}

.rousai-system__title {
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 1.5;
  text-align: center;
}

.rousai-system__text {
  margin-top: 50px;
  text-align: center;
}

.rousai-system__text .color-main {
  color: #EB5917;
}

.rousai-system-image {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.rousai-system__img+.rousai-system__img {
  margin-left: 60px;
}

.rousai-system__lists {
  display: flex;
  margin-top: 50px;
  gap: 30px;
}

.rousai-system__list {
  padding: 20px 20px 30px;
  background-color: #F8F8F8;
}

.rousai-system__list .list__title {
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}

.rousai-system__list .list__title .font-small {
  font-size: 1.6rem;
}

.rousai-system__list .list__img {
  margin-top: 20px;
}

.rousai-explanation {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 80px;
}

.rousai-explanation__img {
  flex: 0 0 71px;
  min-width: 0;
}

.rousai-explanation__content {
  position: relative;
  margin-left: 78px;
  padding: 40px 25px;
  border: 1px solid #DE7748;
  border-radius: 5px;
}

.rousai-explanation__content::before {
  position: absolute;
  top: 50%;
  left: -29px;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  background: url(../img/speech_triangle.png) no-repeat center left/contain;
  content: "";
}

.rousai-explanation__text {
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}

.rousai-explanation__text .color-main {
  color: #EB5917;
}

.rousai-box {
  margin-top: 80px;
  padding: 60px 102.5px;
  border-radius: 10px;
  background-color: #FCF8F0;
}

.rousai-box__text {
  text-align: center;
}

.rousai-box-image {
  position: relative;
  margin-top: 20px;
}

.rousai-box-image .button {
  position: absolute;
  right: 20px;
  bottom: 20px;
}

.rousai-box-image .button-link {
  width: 244px;
  height: 77px;
  padding: 10px 68px 0 39px;
  border-color: #244C65;
  background-color: #244C65;
  box-shadow: 2px 4px 25px rgba(72, 61, 56, 0.08);
  font-weight: 700;
  text-align: center;
}

.rousai-box-image .button-link .arrow::after {
  background-image: url(../img/arrow_blue.svg);
}

.rousai-support {
  margin-top: 70px;
}

.rousai-support__lead {
  text-align: center;
}

.rousai-support__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 50px;
  gap: 70px 80px;
}

.rousai-support__img img {
  border-radius: 10px;
}

.rousai-support__text {
  margin-top: 30px;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}

.rousai-support-box {
  width: 760px;
  max-width: 100%;
  margin: 70px auto 0;
  padding: 40px;
  border-radius: 5px;
  background-color: #fff;
  text-align: center;
}

.rousai-support-box__text {
  font-weight: 700;
  font-size: 2rem;
}

.rousai-support-box__img {
  margin-top: 20px;
}

.rousai-sec03 {
  padding-bottom: 240px !important;
}

/*----------------------------------
お客様の声ページ
----------------------------------*/

.voice {
  padding: 160px 0 240px;
}

.archive-voice .no-post {
  text-align: center;
}

.archive-voice__content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px 60px;
}

.archive-voice-link {
  display: block;
}

.archive-voice__img {
  height: 200px;
  overflow: hidden;
  border-radius: 5px;
}

.archive-voice__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
  transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}

.archive-voice__img.no-image {
  border: 1px solid #333;
  border-radius: 5px;
}

.archive-voice__title {
  margin-top: 20px;
  color: #D6551A;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
}

.archive-voice__text {
  margin-top: 10px;
  color: #333;
}

.single-voice__wrap {
  padding: 80px;
  border-radius: 10px;
  background-color: #F8F8F8;
}

.single-voice__img {
  width: 800px;
  max-width: 100%;
  margin: auto;
  margin-bottom: 70px;
  text-align: center;
}

.single-voice__img img {
  border-radius: 10px;
}

.single-voice__title {
  padding-bottom: 5px;
  border-bottom: 1px solid #DE7748;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
}

.single-voice__content {
  margin-top: 50px;
}

.single-voice__content p+p {
  margin-top: 10px;
}

.single-voice-box {
  width: 589px;
  max-width: 100%;
  margin: 50px auto 0;
  padding: 20px;
  border-radius: 5px;
  background-color: #fff;
}

.single-voice-box__lists {
  width: 389px;
  max-width: 100%;
  margin: auto;
}

.single-voice-box__list {
  display: flex;
}

.single-voice-box__list a {
  color: #5A91DD;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.single-voice-box__list .sama {
  margin-left: 0.5em;
}

.single-voice-box-head {
  white-space: nowrap;
}

.other-voice {
  margin-top: 160px;
}

.other-voice .archive-voice__content {
  margin-top: 50px;
}

.other-voice__title {
  padding-bottom: 5px;
  border-bottom: 1px solid #DE7748;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
}

/*----------------------------------
お知らせページ
----------------------------------*/

.news {
  padding: 160px 0 240px;
}

.archive__wrap {
  display: flex;
}

.archive__content {
  flex: 0 0 calc(100% - 360px);
}

.archive-sidebar {
  flex: 0 0 260px;
  margin-left: 100px;
}

.sidebar__item+.sidebar__item {
  margin-top: 70px;
}

.sidebar__item+.sidebar__item .news__item {
  padding: 15px 0;
}

.sidebar__item+.sidebar__item .news__item a {
  color: #333;
  font-size: 1.4rem;
}

.sidebar__item .news__item+.news__item {
  margin-top: 0;
}

.sidebar__item .news__item .info {
  padding: 15px 0;
}

.sidebar__item .news__item .info::after {
  content: none;
}

.sidebar__item .news__item .info__published {
  font-size: 1.2rem;
}

.sidebar__item .news__item .info__title {
  margin-top: 5px;
  font-size: 1.4rem;
}

.sidebar__title {
  position: relative;
  padding-bottom: 5px;
  padding-left: 24px;
  border-bottom: 1px solid #DE7748;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6;
}

.sidebar__title::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #D6551A;
  content: "";
}

.sidebar__lists {
  margin-top: 15px;
}

.sidebar__list {
  display: flex;
  align-items: center;
  line-height: 1.5;
}

.sidebar__list+.sidebar__list {
  margin-top: 10px;
}

.sidebar__list:first-child::before {
  background-color: #017B52;
}

.sidebar__list:first-child a {
  color: #017B52;
  font-weight: 500;
}

.sidebar__list::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 3px 5px 0 0;
  border-radius: 50%;
  background-color: #333;
  content: "";
}

.sidebar__list a {
  color: #333;
}

.single__wrap {
  display: flex;
}

.single-news__wrapper .info__published {
  color: #7A7A7A;
  font-size: 1.4rem;
  line-height: 1.5;
}

.single-news__title {
  margin-top: 9px;
  padding-bottom: 5px;
  border-bottom: 1px solid #DE7748;
  font-size: 2rem;
}

.single-news__content {
  padding: 50px 0 100px;
  border-bottom: 1px solid #E3E3E3;
}

.single-news__content figure {
  margin: 20px 0 25px;
}

.single-news__content figure img {
  border-radius: 8px;
}

.single-news__content p {
  margin-top: 16px;
}

.single-news__content h2 {
  margin: 50px 0 16px;
  font-weight: 700;
  font-size: 2.4rem;
}

.single-news__content h3 {
  margin: 40px 0 16px;
  font-weight: 700;
  font-size: 2.2rem;
}

.single-news__content h4 {
  margin: 40px 0 16px;
  font-weight: 500;
  font-size: 2rem;
}

.single-news__content ul,
.single-news__content ol {
  margin: 24px 0;
  list-style: initial;
}

.single-news__content ol li {
  list-style-type: decimal;
}

.single-news__content li {
  list-style-type: initial;
}

.single-sidebar {
  flex: 0 0 250px;
  margin-left: 50px;
}

.single__footer {
  position: relative;
  height: 29px;
  margin-top: 10px;
}

.single__footer-left {
  position: absolute;
  top: 0;
  left: 3px;
}

.single__footer-left a {
  padding-left: 35px;
  color: #333;
}

.single__footer-left a::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 25px;
  height: 30px;
  transform: translateY(-50%) rotate(180deg);
  background: url(../img/arrow_news.svg) no-repeat center left/contain;
  content: "";
}

.single__footer-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.single__footer-center a {
  color: #D6551A;
}

.single__footer-right {
  position: absolute;
  top: 0;
  right: 3px;
}

.single__footer-right a {
  padding-right: 35px;
  color: #333;
}

.single__footer-right a::before {
  position: absolute;
  top: 50%;
  right: 0;
  width: 25px;
  height: 30px;
  transform: translateY(-50%);
  background: url(../img/arrow_news.svg) no-repeat center left/contain;
  content: "";
}

.prev,
.next {
  position: relative;
  color: #333;
}

/*----------------------------------
お問い合わせページ
----------------------------------*/

.contact {
  padding: 160px 0 240px;
}

.contact-box {
  position: relative;
  width: 728px;
  max-width: 100%;
  margin: auto;
  padding: 80px 30px;
  border-radius: 10px;
  background-color: #FCF8F0;
}

.contact-box__title {
  color: #EB5917;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
  text-align: center;
}

.contact-box__text {
  margin-top: 30px;
  text-align: center;
}

.contact-box__img {
  position: absolute;
  bottom: -75px;
  left: 50%;
  transform: translateX(-50%);
}

.contact__items {
  margin-top: 227px;
}

.contact__item+.contact__item {
  margin-top: 100px;
}

.contact-sec__title {
  position: relative;
  padding-bottom: 5px;
  padding-left: 28px;
  border-bottom: 1px solid #DE7748;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
}

.contact-sec__title::before {
  position: absolute;
  top: 13px;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #D6551A;
  content: "";
}

.contact-sec__title+.button {
  margin-top: 30px;
}

.contact-sec__title+.button .button-link {
  height: 62px;
  padding: 12px 69px 0 40px;
  box-shadow: 2px 4px 25px rgba(72, 61, 56, 0.08);
  font-size: 1.8rem;
}

.free-dial__wrap {
  display: flex;
  align-items: center;
  margin-top: 30px;
}

.free-dial__wrap .business-hour {
  margin-left: 10px;
}

.free-dial {
  display: flex;
  align-items: center;
  color: #333;
  font-weight: 700;
  font-size: 4.6rem;
  line-height: 1.5;
  font-family: "Work Sans", sans-serif;
}

.free-dial__img {
  margin: -6px 10px 0 0;
}

.contact__wrap {
  width: 920px;
  max-width: 100%;
  margin: 50px auto 0;
}

.contact-row {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.contact-row:first-child,
.contact-row:last-child {
  align-items: inherit;
}

.contact-title {
  display: flex;
  flex: 0 0 227px;
}

.contact-title .ttl {
  font-weight: 700;
  letter-spacing: 0.03em;
}

.contact-title .required {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 41px;
  height: 22px;
  margin: 4px 0 0 5px;
  padding-bottom: 1px;
  background-color: #D6551A;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
}

.contact-text {
  flex: 0 0 calc(100% - 277px);
  max-width: 100%;
  margin-left: 50px;
}

input[type=text],
input[type=email] {
  width: 100%;
  height: 59px;
  padding-left: 15px;
  border: none;
  background-color: #F8F8F8;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

.contact-type {
  display: flex;
  flex-wrap: wrap;
  margin-left: 29px;
}

.contact-type label {
  display: flex;
  margin: 0 36px 13px 0;
}

textarea {
  width: 100%;
  height: 260px;
  padding: 15px;
  border: none;
  background-color: #F8F8F8;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

::-moz-placeholder {
  padding-left: 3em;
  color: #999;
  text-indent: -3em;
}

::placeholder {
  padding-left: 3em;
  color: #999;
  text-indent: -3em;
}

.radio-content .contact-text {
  display: flex;
  flex-wrap: wrap;
}

.radio-content .contact-text .wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
}

.radio-content .contact-text label {
  display: flex;
  position: relative;
  padding-left: 28px;
}

input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
  top: 4px;
  left: 0;
  width: 23px;
  height: 23px;
  margin: 0 5px 0 0;
  border: 1px solid #7A7A7A;
  border-radius: 50%;
  cursor: pointer;
}

input[type=radio]:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
  content: "";
}

input[type=radio]:checked {
  border-color: #D6551A;
  background-color: #D6551A;
}

.contact__check {
  text-align: center;
}

input[type=checkbox] {
  display: none;
}

span.wpcf7-list-item {
  margin-left: 0;
}

input[type=checkbox]+.wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 36px;
  font-size: 1.6rem;
}

.check-text {
  letter-spacing: 0;
}

input[type=checkbox]+.wpcf7-list-item-label::before {
  background-color: #fff;
}

input[type=checkbox]+.wpcf7-list-item-label::after,
input[type=checkbox]+.wpcf7-list-item-label::before {
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  content: "";
}

input[type=checkbox]+.wpcf7-list-item-label::before {
  width: 20px;
  height: 20px;
  border: 1px solid #7A7A7A;
  border-radius: 4px;
}

input[type=checkbox]+.wpcf7-list-item-label::after {
  top: 6px;
  left: 6px;
  width: 8px;
  height: 15px;
  transform: rotate(47deg);
  border: none;
  border-right: 3px solid #D6551A;
  border-bottom: 3px solid #D6551A;
  opacity: 0;
}

input[type=checkbox]:checked+.wpcf7-list-item-label::after {
  opacity: 1;
}

.privacy-policy-link {
  color: #5A91DD;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.submit-button {
  margin-top: 50px;
  text-align: center;
}

.sumit-button__wrap {
  display: inline-block;
  position: relative;
  width: 244px;
  height: 60px;
  transition: all 0.3s ease 0s;
}

.sumit-button__wrap:hover {
  cursor: pointer;
}

.sumit-button__wrap .button-link {
  width: 244px;
  padding: 0 0 0 40px;
  box-shadow: 2px 4px 25px rgba(72, 61, 56, 0.08);
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
  transition: all 0.3s ease 0s;
}

.sumit-button__wrap .button-link:hover {
  cursor: pointer;
}

.sumit-button__wrap .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #fff;
  pointer-events: none;
}

.sumit-button__wrap .arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 9px;
  transform: translate(-50%, -50%);
  background: url(../img/arrow_button_orange.svg) no-repeat center left/contain;
  content: "";
}

.wpcf7-form.sent .wpcf7-response-output {
  display: none;
}

.contact-thanks__content {
  width: 637px;
  max-width: 100%;
  margin: auto;
  text-align: center;
}

.contact-thanks__content .text__wrap {
  margin-top: 50px;
}

.contact-thanks__content .button {
  margin-top: 70px;
}

.contact-thanks__content .button-link {
  width: 240px;
  padding-top: 13px;
}

.contact-thanks__title {
  color: #EB5917;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
}

.wpcf7-list-item {
  margin-left: 0;
}

/*----------------------------------
プライバシーポリシーページ
----------------------------------*/

.privacy-policy .page-mainvisual__title .en {
  color: #333;
}

.privacy-policy .page-mainvisual__title .en::after {
  background-color: #333;
}

.privacy-policy .page-mainvisual__title .ja {
  color: #EB5917;
}

.policy {
  padding: 160px 0 240px;
}

.policy__item+.policy__item {
  margin-top: 50px;
}

.policy__title {
  padding: 9.5px 10px;
  border-bottom: 1px solid #D6551A;
  background-color: #FCF8F0;
  font-weight: 700;
  font-size: 1.8rem;
}

.policy__text {
  margin-top: 20px;
  padding-left: 5px;
}

/*----------------------------------
初期化
----------------------------------*/

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  position: relative;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff;
  color: #333;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  overflow-wrap: break-word;
}

body.open {
  overflow: auto;
}

:root {
  --header-h: 98px;
}

main {
  padding-top: var(--header-h);
}

img {
  max-width: 100%;
  height: auto;
  border: none;
}

a {
  text-decoration: none;
  transition: all 0.3s ease 0s;
}

a:hover {
  opacity: 0.8;
}

.d-iblock {
  display: inline-block;
}

/*----------------------------------
補完クラス
----------------------------------*/

.color-main {
  color: #D6551A;
}

.color-active {
  color: #F79B22;
}

.font-size-small {
  font-size: 0.9em;
}

.font-em {
  font-weight: 700;
}

/*----------------------------------
共通パーツ
----------------------------------*/

.inner {
  width: min(100% - 140px, 1080px);
  height: inherit;
  margin: auto;
}

.sec {
  padding: 160px 0;
}

.section__title {
  z-index: 1;
  position: relative;
}

.section__title.center {
  text-align: center;
}

.section__title>span {
  display: block;
  line-height: 1.5;
}

.section__title .en {
  color: #D6551A;
  font-weight: 500;
  font-size: 1.8rem;
  font-family: "Work Sans", sans-serif;
}

.section__title .ja {
  margin-top: 5px;
  font-weight: 700;
  font-size: 3.4rem;
}

.button.center {
  text-align: center;
}

.button-link {
  display: inline-block;
  position: relative;
  height: 60px;
  padding: 15.5px 69px 0 39px;
  border: 1px solid #D6551A;
  border-radius: 40px;
  background-color: #D6551A;
  color: #fff;
  font-weight: 700;
}

.button-link .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #fff;
}

.button-link .arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 9px;
  transform: translate(-50%, -50%);
  background: url(../img/arrow_button_orange.svg) no-repeat center left/contain;
  content: "";
}

.button-link:hover {
  opacity: 1;
}

/*----------------------------------
スクロールでふわっと
----------------------------------*/

.view {
  transform: translate(0, 10px);
  opacity: 0;
  transition: all 2000ms;
}

.view.scrollin {
  transform: translate(0, 0);
  opacity: 1;
}

/*----------------------------------
ヘッダー
----------------------------------*/

.header {
  z-index: 20;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 98px;
  padding-left: 50px;
  background-color: rgba(255, 255, 255, 0.8);
  transition: all 0.4s ease 0s;
}

.mv-button,
.cta-fixed,
.fixed-cta {
  z-index: 9999;
  position: fixed;
  transform: translateZ(0);
  will-change: transform;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__logo {
  width: 122px;
}

.header__wrap {
  display: flex;
  flex: 0 0 calc(100% - 140px);
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}

.header__nav-items {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}

.header__nav-items>li {
  margin-right: 25px;
}

.header__nav-items>li>a {
  display: block;
  color: #333;
  white-space: nowrap;
}

.header-search {
  display: flex;
  position: relative;
  flex: 0 0 28px;
  align-items: center;
  margin-right: 25px;
}

.header-search__toggle {
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.header-search__toggle img,
.header-search__submit img {
  display: block;
}

.header-search__form {
  display: flex;
  visibility: hidden;
  z-index: 100;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  align-items: center;
  width: 280px;
  padding: 10px 12px;
  gap: 8px;
  border: 1px solid #ddd;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
}

.header-search.is-open .header-search__form {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.header-search__input {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #ddd;
}

.header-search__submit {
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.screen-reader-text {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
  clip-path: inset(50%);
}

.header-tel {
  margin-right: 30px;
}

.header-tel .tel-number {
  font-size: 2.2rem;
  white-space: nowrap;
}

.header-tel .tel-number::before {
  width: 21px;
  height: 22px;
  margin-right: 5px;
}

.header-tel .business-hour {
  margin-top: -10px;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}

.header-button {
  flex: 0 0 120px;
  height: 98px;
}

.header-button.claim-button a {
  padding-top: 4px;
  background-color: #FFF3ED;
}

.header-button.claim-button a .txt {
  color: #333;
}

.header-button.contact-button a {
  background-color: #D6551A;
}

.header-button.contact-button a .txt {
  color: #fff;
}

.header-button>a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.header-button span {
  display: block;
}

.header-button .img {
  text-align: center;
}

.header-button .txt {
  margin-top: 5px;
  font-weight: 700;
  line-height: 1.3;
}

/*----------------------------------
ドロワー
----------------------------------*/

.drawer__toggle {
  display: none;
}

.drawer__line--center.active {
  transform: scaleX(0);
}

.drawer__line--bottom.active {
  right: 0;
  bottom: 12px;
  transform: rotate(135deg);
  background: #D6551A;
}

/*gnav*/

.drawer__nav {
  display: none;
  z-index: 40;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 18px 20px 65px;
  overflow: scroll;
  background-color: #fff;
  transition: all 1s;
}

.drawer__nav.active {
  display: block;
  transition: all 0.6s;
}

.drawer__nav::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 177px;
  height: 256px;
  background: url(../img/circle/circle_drawer.svg) no-repeat center left/contain;
  content: "";
}

.drawer__nav .header__logo span {
  display: block;
  color: #fff;
  line-height: 1;
}

.drawer__nav .header-tel {
  margin: 30px 0 0 0;
  text-align: center;
}

.drawer__nav .header-tel .tel-number {
  justify-content: center;
}

.drawer__nav .header-tel .tel-number .number {
  color: #D6551A;
  font-size: 2.2rem;
}

.drawer__nav .header-tel .business-hour {
  margin-top: -7px;
  font-size: 1.4rem;
}

.drawer__menu {
  width: 100%;
  margin-top: 19px;
}

.drawer__menu>li {
  display: block;
  position: relative;
  position: relative;
  padding: 20px 0 15px;
  border-top: 1px solid #E3E3E3;
  font-weight: 500;
  font-size: 1.6rem;
  transition: 0.5s;
}

.drawer__menu>li:first-child {
  padding-top: 0;
  border-top: none;
}

.drawer__menu>li:last-child {
  border-bottom: 1px solid #E3E3E3;
}

.drawer__menu>li>a {
  display: inline-block;
  width: 100%;
  color: #333;
  font-weight: 500;
  line-height: 1.6;
}

.drawer__menu>li.drawer-parent {
  position: relative;
}

.drawer__menu>li.drawer-parent::after {
  position: absolute;
  top: 28px;
  right: 0;
  width: 10px;
  height: 7px;
  background: url(../img/arrow_drawer.svg) no-repeat center left/contain;
  content: "";
}

.drawer__menu>li.drawer-parent.open::after {
  transform: rotate(180deg);
}

.drawer__menu>li.drawer-parent>a {
  width: 80%;
}

.drawer__menu>li ul {
  display: none;
  margin: 10px 0 0 31px;
}

.drawer__menu>li ul li {
  position: relative;
}

.drawer__menu>li ul li+li {
  margin-top: 10px;
}

.drawer__menu>li ul li::before {
  position: absolute;
  top: 12px;
  left: -11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #D6551A;
  content: "";
}

.drawer__menu>li ul li a {
  color: #333;
  font-weight: 300;
}

.drawer-contact-button {
  margin-top: 40px;
}

.drawer-contact-button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  max-width: 100%;
  height: 57px;
  margin: auto;
  padding-bottom: 3px;
  border-radius: 5px;
  background-color: #D6551A;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
}

.drawer-contact-button-link::before {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 3px 20px 0 0;
  background: url(../img/icon_mail.svg) no-repeat center left/contain;
  content: "";
}

.drawer-overlay {
  box-sizing: border-box;
  display: none;
  z-index: 39;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.drawer-overlay.open {
  display: block;
}

.sp-search {
  position: relative;
  width: calc(100% - 38px);
  margin-top: 40px;
}

.sp-search__label {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.sp-search__input {
  width: 100%;
  height: 40px;
  padding: 0 20px;
  border: none;
  border-radius: 999px;
  outline: none;
  background: #f8f8f8;
  font-weight: 500;
  font-size: 16px;
}

.sp-search__input::-moz-placeholder {
  color: #cbcbcb;
  font-weight: 500;
}

.sp-search__input::placeholder {
  color: #cbcbcb;
  font-weight: 500;
}

.sp-search__btn {
  display: flex;
  position: absolute;
  top: 50%;
  right: -38px;
  align-items: center;
  justify-content: center;
  padding: 0;
  transform: translateY(-50%);
  background: #fff;
  cursor: pointer;
}

.sp-search__btn img {
  width: 28px;
  height: 28px;
}

/*----------------------------------
トップページ：MV上お知らせスライダー
----------------------------------*/

.news-slider {
  height: 42px;
  padding-top: 7px;
  overflow: hidden;
  background: #FCF8F0;
}

.news-slider .info__title {
  position: relative;
}

.news-slider .info__title::before {
  position: absolute;
  top: 2px;
  left: -9px;
  width: 1px;
  height: 15px;
  background-color: #D6551A;
  content: "";
}

.news-slider__wrap {
  position: relative;
}

.news-slider__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: newsTicker var(--dur, 20s) linear infinite;
  will-change: transform;
}

.news-slider__group {
  display: flex;
  align-items: center;
  gap: 30px;
  white-space: nowrap;
}

.news-slider__item {
  flex: 0 0 auto;
  margin: 0;
}

.news-slider .info {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: #D6551A;
  font-size: 1.2rem;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
}

.news-slider:hover .news-slider__track {
  animation-play-state: paused;
}

/*----------------------------------
トップページ：MV
----------------------------------*/

.mainvisual {
  position: relative;
  height: calc(100vh - 140px);
  padding: 20px 50px 50px;
}

.mainvisual__inner {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.mainvisual__img {
  height: 100%;
}

.mainvisual__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.mainvisual__content {
  position: absolute;
  top: 160px;
  top: 11.1111111111vw;
  left: 50%;
  width: calc(100% - 14vw);
  margin: auto;
  transform: translateX(-50%);
  color: #fff;
  line-height: 1.6;
}

.mainvisual__sub-title {
  display: inline-block;
  position: relative;
  font-size: 18px;
  font-size: 1.25vw;
}

.mainvisual__sub-title::before {
  z-index: -1;
  position: absolute;
  top: -4px;
  top: -4px;
  top: -0.2777777778vw;
  left: 0;
  width: 61vw;
  height: 39px;
  height: 39px;
  height: 2.7083333333vw;
  margin-left: calc(50% - 50vw);
  border-radius: 0px 4px 4px 0px;
  background: linear-gradient(90deg, rgba(214, 85, 26, 0.8) 50.12%, rgba(247, 147, 27, 0.8) 112.29%);
  content: "";
}

.mainvisual__title {
  margin-top: 20px;
  margin-top: 1.3888888889vw;
  font-weight: 700;
  font-size: 44px;
  font-size: 3.0555555556vw;
}

.mainvisual__lead {
  display: flex;
  align-items: center;
  margin-top: 10px;
  margin-top: 0.6944444444vw;
  font-size: 16px;
  font-size: 1.1111111111vw;
}

.mainvisual__lead::before {
  display: inline-block;
  width: 60px;
  width: 4.1666666667vw;
  height: 1px;
  margin-right: 10px;
  margin-right: 0.6944444444vw;
  background-color: #fff;
  content: "";
}

.mainvisual-label {
  display: inline-block;
  margin-top: 18px;
  margin-top: 1.25vw;
  padding-top: 4px;
  padding-top: 0.2777777778vw;
  padding-right: 10px;
  padding-right: 0.6944444444vw;
  padding-bottom: 4px;
  padding-bottom: 0.2777777778vw;
  padding-left: 10px;
  padding-left: 0.6944444444vw;
  border-radius: 2px;
  background: rgba(235, 89, 23, 0.3);
  font-size: 12px;
  font-size: 0.8333333333vw;
}

.mainvisual-gekkeikans {
  display: flex;
  position: absolute;
  right: 20px;
  right: 1.3888888889vw;
  bottom: 60px;
  bottom: 4.1666666667vw;
}

.mainvisual-gekkeikan {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 133px;
  flex-basis: 9.2361111111vw;
}

.mainvisual-gekkeikan+.mainvisual-gekkeikan {
  margin-left: 14px;
  margin-left: 0.9722222222vw;
}

.floating-cta {
  z-index: 2;
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 1;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.floating-cta.is-hidden {
  transform: translateX(-50%) translateY(8px);
  opacity: 0;
  pointer-events: none;
}

.cta {
  display: flex;
  justify-content: center;
  gap: 60px;
}

.cta__btn {
  display: flex;
  flex: 0 0 297px;
  align-items: center;
  justify-content: center;
  height: 77px;
  border-radius: 5px;
  box-shadow: 2px 4px 25px rgba(72, 66, 57, 0.1);
  letter-spacing: 0;
}

.cta__btn.cta__btn--tel {
  flex-direction: column;
  border: 1px solid #D6551A;
  background-color: #fff;
}

.cta__btn.cta__btn--tel .txt {
  color: #333;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
}

.cta__btn.cta__btn--tel .tel-number {
  margin-top: 2px;
  line-height: 1;
}

.cta__btn.cta__btn--contact {
  display: flex;
  align-items: center;
  background-color: #D6551A;
  color: #fff;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
}

.cta__btn.cta__btn--contact::before {
  display: inline-block;
  width: 24px;
  height: 19px;
  margin-right: 15px;
  background: url(../img/icon_mail.svg) no-repeat center left/contain;
  content: "";
}

.tel-number {
  display: flex;
  align-items: center;
  color: #D6551A;
  font-weight: 700;
  font-size: 2.4rem;
  font-family: "Work Sans", sans-serif;
}

.tel-number::before {
  display: inline-block;
  width: 22px;
  height: 23px;
  margin-right: 15px;
  background: url(../img/icon_phone.svg) no-repeat center left/contain;
  content: "";
}

/*----------------------------------
トップページ：事業内容
----------------------------------*/

.top-service {
  padding-top: 140px;
  overflow: hidden;
  background-color: #fff;
  transition: background-color 0.3s ease;
}

.top-service .button {
  margin-top: 41px;
}

.top-service .button-link {
  box-shadow: 2px 4px 25px rgba(72, 61, 56, 0.08);
}

.top-service__inner {
  width: min(100% - 100px, 1240px);
  height: inherit;
  margin: auto;
}

.top-service__wrap {
  margin-top: 70px;
}

.top-service__lists {
  display: flex;
  justify-content: center;
}

.top-service__lists+.top-service__lists {
  margin-top: 50px;
}

.top-service__list {
  width: calc(25% - 22.5px);
}

.top-service__list+.top-service__list {
  margin-left: 30px;
}

.top-service-link {
  display: flex;
  position: relative;
  flex-direction: column;
  height: 100%;
}

.top-service-link::before {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  border-radius: 5px 0 5px 0;
  background-color: #D6551A;
  content: "";
}

.top-service-link::after {
  position: absolute;
  right: 12px;
  bottom: 14px;
  width: 16px;
  height: 13px;
  background: url(../img/arrow_white.svg) no-repeat center left/contain;
  content: "";
}

.top-service__img {
  overflow: hidden;
}

.top-service__img img {
  border-radius: 5px 5px 0 0;
  transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}

.top-service__content {
  flex: 1;
  padding: 20px 10px 40px;
  border-radius: 0 0 5px 5px;
  background-color: #F8F8F8;
  text-align: center;
}

.top-service__title {
  color: #EB5917;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
}

.top-service__text {
  margin-top: 15px;
  color: #333;
}

.diagnosis {
  margin-top: 30px;
}

.diagnosis-link {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 420px;
  max-width: 100%;
  height: 87px;
  margin: auto;
  border: 1px solid #D6551A;
  box-shadow: 2px 4px 25px rgba(72, 61, 56, 0.08);
}

.diagnosis-link .arrow {
  position: absolute;
  top: 50%;
  right: 25px;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #D6551A;
  transition: all 0.3s ease 0s;
}

.diagnosis-link .arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 9px;
  transform: translate(-50%, -50%);
  background: url(../img/arrow_button_white.svg) no-repeat center left/contain;
  content: "";
}

.diagnosis-link:hover {
  opacity: 1;
}

.diagnosis__img {
  position: absolute;
  bottom: 0;
  left: 30px;
  width: 67px;
  height: 76px;
}

.diagnosis__content {
  position: relative;
  padding-left: 21px;
  text-align: center;
}

.diagnosis__content span {
  display: block;
  line-height: 1.5;
}

.diagnosis__content span.font-small {
  color: #333;
}

.diagnosis__content span.font-large {
  color: #D6551A;
  font-weight: 700;
  font-size: 2.2rem;
}

/*----------------------------------
トップページ：労災に強い理由
----------------------------------*/

.bg-left {
  position: relative;
}

.bg-left::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 50px);
  height: 100%;
  border-radius: 0 40px 0 0;
  background-color: #F8F8F8;
  content: "";
}

.top-strength .button {
  margin-top: 70px;
}

.top-strength__title {
  margin-top: 70px;
  color: #EB5917;
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1.5;
  text-align: center;
}

.top-strength__items {
  display: flex;
  justify-content: center;
  margin-top: 70px;
}

.top-strength__item {
  display: flex;
  flex-direction: column;
  width: calc(33.333% - 20px);
}

.top-strength__item+.top-strength__item {
  margin-left: 30px;
}

.top-strength__img {
  position: relative;
  text-align: center;
}

.top-strength__content {
  flex: 1;
  margin-top: -17px;
  padding: 31px 10px 20px;
  border-radius: 5px;
  background-color: #fff;
  text-align: center;
}

.top-strength__sub-title {
  color: #D6551A;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6;
}

.top-strength__text {
  position: relative;
  margin-top: 45px;
}

.top-strength__text::before {
  position: absolute;
  top: -32px;
  left: 50%;
  width: 40px;
  height: 20px;
  transform: translateX(-50%);
  background: url(../img/arrow_top_strength.svg) no-repeat center left/contain;
  content: "";
}

/*----------------------------------
トップページ：トルシュが選ばれる理由
----------------------------------*/

.top-reason__lists {
  margin-top: 70px;
}

.top-reason__list {
  display: flex;
  align-items: center;
}

.top-reason__list+.top-reason__list {
  margin-top: 80px;
}

.top-reason__img {
  flex: 0 0 50%;
}

.top-reason__img img {
  border-radius: 10px;
}

.top-reason__content {
  margin-left: 100px;
  padding-right: 52px;
}

.top-reason__title>span {
  display: block;
}

.top-reason__title>span.en {
  display: flex;
  align-items: center;
  color: #DE7748;
  font-size: 1.4rem;
  line-height: 1;
  font-family: "Work Sans", sans-serif;
}

.top-reason__title>span.en::after {
  display: inline-block;
  width: 80px;
  height: 1px;
  margin-left: 5px;
  background-color: #DE7748;
  content: "";
}

.top-reason__title>span.ja {
  display: flex;
  align-items: center;
  margin-top: 5px;
  font-weight: 700;
  line-height: 1.5;
}

.top-reason__title>span.ja .number {
  margin-right: 10px;
  color: #D6551A;
  font-size: 3.2rem;
  font-family: "Work Sans", sans-serif;
  letter-spacing: 0;
}

.top-reason__title>span.ja .ttl {
  font-size: 2.8rem;
}

.top-reason__text {
  margin-top: 30px;
}

.top-reason-box {
  position: relative;
  margin-top: 100px;
  padding: 40px 120px;
  border-radius: 5px;
  background-color: #FCF8F0;
}

.top-reason-box::after {
  position: absolute;
  right: 40px;
  bottom: 0;
  width: 70px;
  height: 203px;
  background: url(../img/illust_top_support.svg) no-repeat center left/contain;
  content: "";
}

.top-reason-box__title {
  position: relative;
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1.5;
  text-align: center;
}

.top-reason-box__title::after {
  position: absolute;
  bottom: -8px;
  left: 50%;
  width: 60px;
  height: 1px;
  transform: translateX(-50%);
  background-color: #D6551A;
  content: "";
}

.top-reason-box__lists {
  display: flex;
  justify-content: center;
  margin-top: 38px;
  gap: 30px;
}

.top-reason-box__list {
  position: relative;
  flex: 0 0 220px;
  height: 131px;
  padding: 5px;
  border-radius: 10px;
  background-color: #EB5917;
}

.top-reason-box__list::before {
  position: absolute;
  top: -11px;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translateX(-50%);
  background: url(../img/icon_check.svg) no-repeat center left/contain;
  content: "";
}

.top-reason-box__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 10px 5px 0;
  border: 1px solid #fff;
  border-radius: 10px;
}

.top-reason-box__text {
  color: #fff;
  text-align: center;
}

.top-reason-box__text>span {
  display: block;
}

.top-reason-box__text .font-large {
  font-weight: 700;
  font-size: 2.4rem;
}

.top-reason-box__text .font-small,
.top-reason-box__text .font-medium {
  line-height: 1.5;
}

.top-reason-box__text .font-medium {
  font-weight: 700;
  font-size: 1.8rem;
}

.top-reason-box__text .font-minimum {
  font-size: 1rem;
}

.top-reason-box-caption {
  width: 722px;
  max-width: 100%;
  margin: 10px auto 0;
  color: #7A7A7A;
  font-size: 1.4rem;
}

/*----------------------------------
トップページ：お客様の声・導入事例
----------------------------------*/

.bg-right {
  position: relative;
}

.bg-right::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50px;
  width: calc(100% - 50px);
  height: 100%;
  border-radius: 40px 0 0 0;
  background-color: #F8F8F8;
  content: "";
}

.top-voice .button {
  margin-top: 60px;
}

.top-voice__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top-voice__lists {
  display: grid;
  position: relative;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 60px;
  gap: 21px;
}

.top-voice__list {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  padding: 40px 20px;
  border-radius: 5px;
  background-color: #fff;
}

.top-voice__wrap {
  display: flex;
  align-items: flex-start;
}

.top-voice__img {
  flex: 0 0 80px;
}

.top-voice__title {
  margin-left: 15px;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
}

.top-voice__title .font-small {
  display: block;
  font-size: 1.4rem;
}

.top-voice__text {
  flex: 1 1 auto;
  margin-top: 15px;
}

/* -----------------
   PCで高さを揃える
----------------- */

.top-voice__nav {
  display: flex;
  display: none;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
}

/* appendArrowsで入るslickの矢印ラッパー */

.top-voice__nav .slick-arrow {
  display: flex !important;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #D6551A;
  cursor: pointer;
}

.top-voice__nav .slick-arrow img {
  display: block;
  width: 18px;
  height: auto;
}

.top-voice__nav .top-voice__arrow--prev img {
  transform: rotate(180deg);
}

.top-voice__count {
  flex-shrink: 0;
  min-width: 38px;
  color: #333;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
}

/* 無効時の見た目 */

.top-voice__nav .slick-disabled {
  opacity: 0.35;
  pointer-events: none;
}

/*----------------------------------
トップページ：お知らせ
----------------------------------*/

.top-news .button-link {
  padding-right: 68px;
}

.top-news__inner {
  width: min(100% - 100px, 1200px);
  height: inherit;
  margin: auto;
}

.top-news__wrap {
  display: flex;
}

.top-news__left {
  display: flex;
  flex: 0 0 210px;
  flex-direction: column;
  justify-content: space-between;
}

.top-news__right {
  flex: 0 0 calc(100% - 360px);
  margin-left: 150px;
}

.top-news__right .no-post {
  margin-top: 50px;
}

.news__item {
  border-bottom: 1px solid #E3E3E3;
}

.news__item+.news__item {
  margin-top: 20px;
}

.news__item .info {
  display: block;
  position: relative;
  padding: 20px 60px 20px 0;
  border-radius: 5px;
  background-color: #fff;
}

.news__item .info::after {
  position: absolute;
  top: 50%;
  right: 30px;
  width: 26px;
  height: 26px;
  transform: translateY(-50%);
  background: url(../img/arrow_news.svg) no-repeat center left/contain;
  content: "";
  transition: all 0.3s ease 0s;
}

.news__item .info:hover {
  opacity: 1;
}

.news__item .info__published {
  color: #7A7A7A;
  font-size: 1.4rem;
}

.news__item .info__title {
  margin-top: 10px;
  color: #333;
}

/*----------------------------------
トップページ：よくある質問
----------------------------------*/

.top-faq {
  padding-bottom: 240px;
}

.faq__content {
  width: 1010px;
  max-width: 100%;
  margin: 70px auto 0;
  padding: 60px 80px;
  border-radius: 10px;
  background-color: #F8F8F8;
}

.faq__item {
  border-bottom: 1px solid #E3E3E3;
}

.faq__item:first-of-type .answer {
  display: block;
}

.question {
  position: relative;
  padding: 24.5px 60px 24.5px 25px;
}

.question:hover {
  cursor: pointer;
}

.question::before,
.question::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 25px;
  width: 16px;
  height: 2px;
  transform: translate(-50%, -50%);
  background: #D6551A;
  content: "";
  transition: all 0.4s;
}

.question::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.question.minus::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.answer {
  display: none;
  padding: 15.5px 25px 25px 25px;
}

.q-list,
.a-list {
  display: flex;
  align-items: center;
}

.q-list-left,
.a-list-left {
  display: flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  height: 36px;
  margin-right: 20px;
  border-radius: 50%;
  font-weight: 500;
  font-family: "Work Sans", sans-serif;
}

.q-list-left {
  background-color: #D6551A;
  color: #fff;
}

.a-list-left {
  border: 1px solid #D6551A;
  background-color: #fff;
  color: #D6551A;
}

.a-list-right a {
  color: #D6551A;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 3px;
}

/*----------------------------------
各ページ：お問い合わせ
----------------------------------*/

.contact-part .cta {
  margin-top: 30px;
}

.contact-part__img img {
  border-radius: 40px 40px 0 0;
}

.contact-part__content {
  margin-top: -170px;
}

.contact-part__wrap {
  position: relative;
  padding: 40px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 2px 4px 35px rgba(72, 61, 56, 0.08);
}

.contact-part__text {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  text-align: center;
}

/*----------------------------------
フッター
----------------------------------*/

.footer {
  margin-top: -93px;
  padding: 249px 0 30px;
  background-color: #F8F8F8;
}

.footer__contents {
  display: flex;
  justify-content: space-between;
}

.footer__left {
  flex: 0 0 273px;
}

.footer-logo {
  width: 150px;
}

.footer-info {
  margin-top: 15px;
  font-size: 1.4rem;
  letter-spacing: 0;
}

.footer-sns {
  display: flex;
  align-items: center;
  margin-top: 17px;
}

.footer-sns .sns+.sns {
  margin-left: 15px;
}

.footer-sns .sns.youtube img {
  width: 45px;
}

.footer-sns .sns.instagram img {
  width: 35px;
}

.footer__right {
  flex: 0 0 479px;
}

.footer__nav {
  display: flex;
}

.footer__nav ul {
  display: flex;
  flex: 0 0 244px;
  flex-direction: column;
  flex-wrap: wrap;
  height: 117px;
}

.footer__nav ul li:not(:nth-child(3n+1)) {
  margin-top: 15px;
}

.footer__nav ul li:nth-child(n+4) {
  margin-left: 60px;
}

.footer__nav ul li a {
  color: #333;
  line-height: 1.5;
}

.footer-contact {
  flex: 0 0 175px;
  margin-left: 60px;
}

.footer-contact-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  padding-bottom: 2px;
  border-radius: 5px;
  background-color: #D6551A;
  box-shadow: 2px 4px 25px rgba(72, 61, 56, 0.08);
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
}

.footer-contact-link::before {
  display: inline-block;
  width: 20px;
  height: 15px;
  margin: 3px 15px 0 0;
  background: url(../img/icon_mail.svg) no-repeat center left/contain;
  content: "";
}

.footer__copy {
  margin-top: 100px;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}

.disable-auto-tel a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {

  .news-slider__track {
    transform: none;
    animation: none;
  }

}

@media (min-width: 768px) {

  .rousai-box-image .button-link:hover {
    color: #244C65;
  }

  .rousai-box-image .button-link:hover .arrow {
    background-color: #244C65;
  }

  .rousai-box-image .button-link:hover .arrow::after {
    background-image: url(../img/arrow_button_white.svg);
  }

  .archive-voice-link:hover img {
    transform: scale(1.1);
  }

  .sumit-button__wrap:hover .arrow {
    background-color: #D6551A;
  }

  .sumit-button__wrap:hover .arrow::after {
    background-image: url(../img/arrow_button_white.svg);
  }

  .hidden-pc {
    display: none;
  }

  .button-link:hover {
    background-color: #fff;
    color: #D6551A;
  }

  .button-link:hover .arrow {
    background-color: #D6551A;
  }

  .button-link:hover .arrow::after {
    background-image: url(../img/arrow_button_white.svg);
  }

  .mainvisual-gekkeikans {
    width: 19.4444444444vw;
  }

  .top-service-link:hover img {
    transform: scale(1.1);
  }

  .diagnosis-link:hover .font-large {
    color: #EB5917;
  }

  .diagnosis-link:hover .arrow {
    right: 15px;
  }

  .top-voice__list {
    width: auto;
  }

  .news__item .info:hover::after {
    right: 20px;
  }

  .news__item .info:hover .info__title {
    color: #EB5917;
  }

}

@media (min-width: 768px) and (max-width: 1023px) {

  .hidden-tab {
    display: none;
  }

  .block-tab {
    display: block;
  }

}

@media screen and (min-width: 768px) {

  .top-voice.has-slider .top-voice__lists.slick-initialized .slick-list {
    margin: 0 -10.5px;
  }

  .top-voice.has-slider .top-voice__lists.slick-initialized .slick-slide {
    box-sizing: border-box;
    margin: 0 10.5px;
  }

  .top-voice__lists.is-slider.slick-initialized .slick-track {
    display: flex !important;
  }

  .top-voice__lists.is-slider.slick-initialized .slick-slide {
    display: flex !important;
    flex-direction: column;
    height: inherit !important;
  }

  .top-voice__lists.is-slider.slick-initialized .slick-slide>div {
    display: flex;
    width: 100%;
  }

  .top-voice__lists.is-slider .top-voice__list {
    height: 100%;
  }

  .top-voice__lists.is-slider .top-voice__wrap {
    height: 100%;
  }

  .top-voice.has-slider .top-voice__nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
  }

}

@media (min-width: 1440px) {

  .hidden-xl {
    display: none;
  }

  .mainvisual__content {
    top: 160px;
    width: calc(100% - 200px);
  }

  .mainvisual__sub-title {
    font-size: 1.8rem;
  }

  .mainvisual__sub-title::before {
    top: -4px;
    height: 39px;
  }

  .mainvisual__title {
    margin-top: 20px;
    font-size: 4.4rem;
  }

  .mainvisual__lead {
    margin-top: 10px;
  }

  .mainvisual__lead::before {
    width: 60px;
    margin-right: 10px;
  }

  .mainvisual-label {
    margin-top: 18px;
    padding: 4px 10px;
    font-size: 1.2rem;
  }

  .mainvisual-gekkeikans {
    right: 20px;
    bottom: 60px;
    width: 280px;
  }

  .mainvisual-gekkeikan {
    flex: 0 0 133px;
  }

  .mainvisual-gekkeikan+.mainvisual-gekkeikan {
    margin-left: 14px;
  }

}

@media (max-width: 1349px) {

  .page-intro__content {
    padding-right: 0;
  }

}

@media (max-width: 1299px) {

  .rousai-flow__item.second .speech-bubble {
    top: -77px;
    right: -158px;
    width: 230px;
  }

}

@media (max-width: 1249px) {

  .header {
    padding-left: 20px;
  }

  .header__nav-items>li {
    margin-right: 15px;
  }

  .header-search {
    margin-right: 10px;
  }

  .header-tel {
    margin-right: 10px;
  }

}

@media (max-width: 1219px) {

  .archive-voice__img {
    height: 200px;
    height: 16.393442623vw;
  }

}

@media (max-width: 1199px) {

  .page-intro__content {
    margin-left: 50px;
  }

  .page-intro__title {
    font-size: 3rem;
  }

  .hidden-w1200 {
    display: none;
  }

  .mainvisual__content {
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .top-reason-box::after {
    right: 10px;
  }

}

@media (max-width: 1149px) {

  .rousai-system__lists {
    gap: 15px;
  }

  .rousai-system__list .list__title {
    font-size: 1.8rem;
  }

  .rousai-system__list .list__title .font-small {
    font-size: 1.5rem;
  }

  .hidden-w1150 {
    display: none;
  }

}

@media (max-width: 1099px) {

  .company-sec07__content {
    padding-right: 60px;
  }

  .block-w1100 {
    display: block;
  }

  .display-w1100 {
    display: block;
  }

  .header {
    padding-right: 80px;
  }

  .header__nav {
    display: none;
  }

  .drawer__toggle {
    display: block;
    z-index: 41;
    position: fixed;
    top: 32px;
    right: 20px;
    width: 35px;
    height: 25px;
    cursor: pointer;
  }

  .drawer__wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 35px;
    height: 25px;
    transform: translate(-50%, -50%);
  }

  .drawer__line {
    display: block;
    position: absolute;
    width: 35px;
    height: 3px;
    border-radius: 2px;
    background: #D6551A;
    transition: transform 0.3s;
  }

  .drawer__line--center {
    top: 11px;
  }

  .drawer__line--bottom {
    bottom: 0;
  }

  .drawer__line--top.active {
    top: 10.5px;
    right: 0;
    transform: rotate(45deg);
    background: #D6551A;
  }

  .top-service__title {
    font-size: 2.1rem;
  }

}

@media (max-width: 1023px) {

  .page-intro__inner {
    width: min(100% - 70px, 1240px);
  }

  .page-intro__content {
    margin-left: 30px;
  }

  .company-sec01__content {
    margin-left: 30px;
  }

  .company-sec02-box {
    padding: 30px 70px;
  }

  .company-sec02-box::before {
    width: 490px;
  }

  .company-sec02-box__img {
    flex: initial;
    width: 100px;
  }

  .company-sec02-box__content {
    flex: 0 0 calc(100% - 180px);
    margin-left: 80px;
  }

  .corporate__content {
    margin-left: 100px;
  }

  .company-sec07__inner {
    width: min(100% - 100px, 1240px);
  }

  .company-sec07__content {
    margin-left: 40px;
    padding-right: 0;
  }

  .company-sec07__title {
    font-size: 2.5rem;
  }

  .service-head__title {
    flex: 0 0 210px;
    padding-left: 20px;
    font-size: 2.2rem;
  }

  .service-head__lead {
    line-height: 1.5;
  }

  .service-head-circle::before,
  .service-head-circle::after {
    right: 5px;
  }

  .service__content {
    padding: 60px 30px;
  }

  .service-feature__lists {
    gap: 40px;
  }

  .service-feature__title>span.en::after {
    width: 60px;
  }

  .service-price__content {
    padding: 0;
  }

  .service-price-box {
    padding: 40px;
  }

  .rousai-flow__items .arrow {
    flex: 0 0 60px;
    min-width: 0;
    margin: 0 20px;
  }

  .rousai-flow__item.first {
    flex: 0 0 200px;
  }

  .rousai-flow__item.second {
    flex: 0 0 240px;
  }

  .rousai-flow__item.second .speech-bubble {
    top: -28px;
    right: -107px;
    width: 150px;
  }

  .rousai-system__list {
    display: flex;
    flex-direction: column;
  }

  .rousai-system__list .list__title {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
  }

  .rousai-explanation__content {
    margin-left: 49px;
  }

  .rousai-box {
    padding: 60px 30px;
  }

  .rousai-support__items {
    gap: 30px;
  }

  .archive-voice__content {
    gap: 50px 30px;
  }

  .archive-voice__img {
    height: 180px;
    height: 17.5953079179vw;
  }

  .archive__content {
    flex: 0 0 calc(100% - 280px);
  }

  .archive-sidebar {
    flex: 0 0 200px;
    margin-left: 30px;
  }

  .single-sidebar {
    margin-left: 30px;
  }

  .inner {
    width: min(100% - 100px, 1080px);
  }

  .header__nav-items>li>a {
    font-size: 1.4rem;
  }

  .header-tel .tel-number {
    padding-left: 17px;
    font-size: 20px;
  }

  .mainvisual__content {
    width: calc(100% - 8vw);
  }

  .mainvisual__sub-title {
    font-size: 18px;
    font-size: 1.7578125vw;
  }

  .mainvisual__sub-title::before {
    top: 1px;
    top: 0.09765625vw;
    width: 65vw;
  }

  .mainvisual__title {
    font-size: 40px;
    font-size: 3.90625vw;
  }

  .mainvisual__lead {
    font-size: 18px;
    font-size: 1.7578125vw;
  }

  .mainvisual-label {
    margin-top: 15px;
    margin-top: 4vw;
    font-size: 14px;
    font-size: 1.3671875vw;
  }

  .mainvisual-gekkeikans {
    width: 26.9487847222vw;
  }

  .mainvisual-gekkeikan {
    flex-basis: 133px;
    flex-basis: 12.98828125vw;
  }

  .cta {
    gap: 30px;
  }

  .top-service__inner {
    width: min(100% - 70px, 1240px);
  }

  .top-service__list {
    width: calc(33.333% - 12px);
  }

  .top-service__list+.top-service__list {
    margin-left: 16px;
  }

  .top-service__content {
    padding: 20px 7px 40px;
  }

  .top-service__text {
    font-size: 1.5rem;
  }

  .bg-left::before {
    width: calc(100% - 30px);
  }

  .top-strength__item {
    width: calc(33.333% - 6.6666666667px);
  }

  .top-strength__item+.top-strength__item {
    margin-left: 10px;
  }

  .top-strength__content {
    padding: 31px 5px 20px;
  }

  .top-strength__sub-title {
    font-size: 2.2rem;
  }

  .top-strength__text {
    font-size: 1.5rem;
  }

  .top-reason__content {
    margin-left: 30px;
    padding-right: 0;
  }

  .top-reason__title>span.en::after {
    width: 60px;
  }

  .top-reason-box {
    padding: 40px 20px;
  }

  .top-reason-box::after {
    top: 0;
    bottom: initial;
    width: 49px;
    height: 140px;
  }

  .top-reason-box__lists {
    gap: 0;
  }

  .top-reason-box__list {
    flex: initial;
    width: calc(33.333% - 6.6666666667px);
    max-width: 220px;
  }

  .top-reason-box__list+.top-reason-box__list {
    margin-left: 20px;
  }

  .bg-right::before {
    left: 30px;
    width: calc(100% - 30px);
  }

  .top-voice__lists {
    gap: 10px;
  }

  .top-voice__list {
    padding: 40px 10px;
  }

  .top-voice__img {
    flex: 0 0 60px;
  }

  .top-voice__title {
    font-size: 1.8rem;
  }

  .top-news__inner {
    width: min(100% - 70px, 1200px);
  }

  .top-news__right {
    flex: 0 0 calc(100% - 260px);
    margin-left: 50px;
  }

  .faq__content {
    padding: 60px 40px;
  }

  .question {
    padding-right: 45px;
  }

  .question::before,
  .question::after {
    right: 5px;
  }

  .footer__right {
    flex: 0 0 379px;
  }

  .footer__nav ul {
    flex: 0 0 204px;
  }

  .footer__nav ul li:nth-child(n+4) {
    margin-left: 20px;
  }

  .footer-contact {
    flex: 0 0 155px;
    margin-left: 20px;
  }

}

@media (max-width: 899px) {

  .block-w900 {
    display: block;
  }

}

@media (max-width: 767px) {

  .page-mainvisual {
    margin-top: 20px;
    padding: 0 20px;
  }

  .page-mainvisual__img {
    height: 180px;
  }

  .page-mainvisual__img img {
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }

  .page-mainvisual__title {
    left: 50px;
  }

  .page-mainvisual__title .en {
    font-size: 1.6rem;
  }

  .page-mainvisual__title .en::after {
    width: 40px;
  }

  .page-mainvisual__title .ja {
    font-size: 2.6rem;
  }

  .breadcrumb {
    margin-top: 16px;
    padding-left: 16px;
  }

  .breadcrumb__items>span:nth-child(2) {
    white-space: nowrap;
  }

  .page-intro__inner {
    width: min(100% - 40px, 1240px);
  }

  .page-intro__wrap {
    display: block;
  }

  .page-intro__img img {
    border-radius: 5px;
  }

  .page-intro__content {
    margin: 30px 0 0 0;
  }

  .page-intro__title {
    font-size: 2.4rem;
  }

  .page-intro__text {
    margin-top: 20px;
  }

  .pagination {
    margin-top: 50px;
  }

  .search-page h1 {
    margin-bottom: 30px;
    font-size: 2.2rem;
  }

  .page-404 {
    padding: 80px 0 130px;
  }

  .page-404__title {
    font-size: 3.2rem;
  }

  .page-404__wrap {
    margin-top: 30px;
  }

  .page-404__text {
    text-align: left;
  }

  .page-404__text .d-iblock {
    display: inline;
  }

  .company-sec01__wrap {
    display: block;
    margin-top: 40px;
  }

  .company-sec01__img img {
    border-radius: 5px;
  }

  .company-sec01__content {
    margin: 30px 0 0 0;
  }

  .text__wrap .text+.text {
    margin-top: 15px;
  }

  .career {
    margin-top: 40px;
    padding: 30px 20px;
  }

  .company-sec02 .text__wrap {
    margin-top: 40px;
    text-align: left;
  }

  .company-sec02-box {
    margin-top: 30px;
    padding: 30px 20px;
  }

  .company-sec02-box::before {
    top: -415px;
    left: 50%;
    width: 600px;
    height: 600px;
    transform: translateX(-50%);
  }

  .company-sec02-box__wrap {
    display: block;
  }

  .company-sec02-box__img {
    width: 100px;
    margin: auto;
  }

  .company-sec02-box__content {
    margin: 40px 0 0 0;
  }

  .company-sec03__wrap {
    display: block;
  }

  .company-sec03__wrap .section__title {
    text-align: center;
  }

  .corporate__content {
    margin: 40px 0 0 0;
  }

  .table th {
    width: 100px;
    padding-left: 0;
  }

  .table td {
    padding-left: 15px;
  }

  .google-map {
    margin-top: 40px;
  }

  .company-sec04__content {
    height: auto;
    margin-top: 40px;
    padding-top: 0;
  }

  .company-sec04__wrap {
    height: auto;
    margin: auto;
  }

  .company-sec04__title {
    font-size: 2rem;
  }

  .company-sec04__lead {
    font-size: 1.6rem;
  }

  .company-sec04__img {
    position: static;
    width: 100%;
    margin-top: 40px;
  }

  .company__lists {
    margin-top: 40px;
  }

  .company__list {
    display: block;
  }

  .company__img {
    width: 250px;
    margin: auto;
  }

  .company__content {
    margin: 30px 0 0 0;
  }

  .company__title::after {
    content: none;
  }

  .company-sec06 {
    padding-top: 50px !important;
  }

  .company-sec07 {
    padding-bottom: 130px !important;
  }

  .company-sec07__inner {
    width: min(100% - 40px, 1240px);
  }

  .company-sec07__wrap {
    display: block;
  }

  .company-sec07__img {
    padding: 20px 20px 20px 10px;
  }

  .company-sec07__content {
    margin: 30px 0 0 0;
  }

  .company-sec07__content .text__wrap {
    margin-top: 40px;
  }

  .company-sec07__title {
    font-size: 2.3rem;
  }

  .service__lists {
    margin-top: 40px;
  }

  .service__list+.service__list {
    margin-top: 30px;
  }

  .service-head {
    height: auto;
    padding: 10px 0;
  }

  .service-head__img {
    display: none;
  }

  .service-head__wrap {
    display: block;
    flex: initial;
  }

  .service-head__title {
    font-size: 2rem;
  }

  .service-head__lead {
    margin-top: 5px;
    font-size: 1.4rem;
  }

  .service-head-circle::before,
  .service-head-circle::after {
    right: -7px;
  }

  .service__content {
    padding: 30px 20px;
  }

  .service__title {
    height: auto;
    padding: 5px 10px;
    font-size: 1.8rem;
  }

  .service-partnership {
    margin-top: 40px;
  }

  .service-partnership__title {
    font-size: 1.8rem;
  }

  .service-partnership__items {
    display: block;
  }

  .service-partnership__item {
    width: 100%;
  }

  .service-partnership__item+.service-partnership__item {
    margin: 20px 0 0 0;
  }

  .service-partnership-link::before {
    width: 28px;
    height: 28px;
  }

  .service-partnership-link::after {
    right: 7px;
    bottom: 10px;
    width: 13px;
    height: 10px;
  }

  .service-feature__lists {
    grid-template-columns: 1fr;
    margin-top: 40px;
  }

  .service-feature__content {
    margin-top: 15px;
  }

  .service-feature__title>span.ja .number {
    font-size: 2.8rem;
  }

  .service-feature__title>span.ja .ttl {
    font-size: 2.4rem;
  }

  .service-feature__text {
    margin-top: 15px;
  }

  .service-sec03 {
    padding-bottom: 130px !important;
  }

  .service-price {
    margin-top: 40px;
  }

  .service-price__item+.service-price__item {
    margin-top: 70px;
  }

  .service-price__item:first-of-type .service-price__content table th:first-child {
    width: 36%;
  }

  .service-price__item:first-of-type .service-price__content table td .font-large {
    font-size: 1.6rem;
  }

  .service-price__item:first-of-type .service-price__content table td .font-small {
    font-size: 1.2rem;
  }

  .service-price__item:first-of-type .service-price__content table td .font-small span {
    padding: 5px 10px;
  }

  .service-price__item:nth-of-type(3) .service-price__content table th:last-child {
    width: 250px;
  }

  .service-price__title {
    font-size: 2.2rem;
  }

  .service-price__title::before {
    top: 9px;
  }

  .service-price__content table {
    width: 727px;
  }

  .service-price__content table th:not(:first-child) {
    font-size: 1.6rem;
  }

  .service-price__content table th:first-child {
    font-size: 1.5rem;
  }

  .service-price__content table td {
    font-size: 1.5rem;
  }

  .service-price-box {
    padding: 30px 20px;
  }

  .service-price-box__title::before {
    width: 24px;
    height: 24px;
  }

  .js-scrollable {
    -webkit-overflow-scrolling: touch;
    width: calc(100% + 50vw - 50%);
    margin-right: calc(50% - 50vw);
    padding-right: 20px;
    overflow-x: auto;
  }

  .scroll-hint-icon {
    top: 100px;
  }

  .rousai-flow {
    margin-top: 40px;
  }

  .rousai-flow__title {
    font-size: 2.2rem;
  }

  .rousai-flow__title::before {
    top: 9px;
  }

  .rousai-flow__items {
    display: block;
  }

  .rousai-flow__items .arrow {
    width: 85px;
    height: 50px;
    margin: 40px auto;
    transform: rotate(90deg);
  }

  .rousai-flow__item.second .rousai-flow-illust {
    margin: 90px 0 10px;
  }

  .rousai-flow__item.second .speech-bubble {
    top: 40px;
    right: initial;
    left: calc(50% + 32px);
    width: 150px;
  }

  .rousai-system {
    margin-top: 100px;
  }

  .rousai-system__item+.rousai-system__item {
    margin-top: 40px;
    padding-top: 40px;
  }

  .rousai-system__title {
    font-size: 2.4rem;
  }

  .rousai-system__text {
    margin-top: 30px;
    text-align: left;
  }

  .rousai-system__img+.rousai-system__img {
    margin-left: 20px;
  }

  .rousai-system__lists {
    display: block;
  }

  .rousai-system__list+.rousai-system__list {
    margin-top: 20px;
  }

  .rousai-explanation {
    margin-top: 40px;
  }

  .rousai-explanation__img {
    flex: 0 0 50px;
  }

  .rousai-explanation__content {
    margin-left: 30px;
    padding: 20px;
  }

  .rousai-explanation__content::before {
    left: -22px;
    width: 30px;
    height: 30px;
  }

  .rousai-explanation__text {
    font-size: 1.6rem;
    text-align: left;
  }

  .rousai-box {
    margin-top: 40px;
    padding: 40px 20px;
  }

  .rousai-box__text {
    text-align: left;
  }

  .rousai-box-image .button {
    position: static;
    margin-top: 30px;
    text-align: center;
  }

  .rousai-support {
    margin-top: 40px;
  }

  .rousai-support__items {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }

  .rousai-support__img img {
    border-radius: 5px;
  }

  .rousai-support__text {
    margin-top: 10px;
    font-size: 1.8rem;
  }

  .rousai-support-box {
    margin-top: 40px;
    padding: 30px 20px;
  }

  .rousai-support-box__text {
    font-size: 1.8rem;
  }

  .rousai-sec03 {
    padding-bottom: 130px !important;
  }

  .voice {
    padding: 80px 0 130px;
  }

  .archive-voice__content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .archive-voice__img {
    height: 209px;
    height: 55.7333333333vw;
  }

  .single-voice__wrap {
    padding: 40px 20px;
  }

  .single-voice__img {
    margin-bottom: 40px;
  }

  .single-voice__img img {
    border-radius: 5px;
  }

  .single-voice__title {
    font-size: 2.2rem;
  }

  .single-voice__content {
    margin-top: 30px;
  }

  .single-voice-box {
    margin-top: 30px;
  }

  .other-voice {
    margin-top: 80px;
  }

  .other-voice .archive-voice__content {
    margin-top: 30px;
  }

  .other-voice__title {
    font-size: 2.2rem;
  }

  .news {
    padding: 80px 0 130px;
  }

  .archive__wrap {
    display: block;
  }

  .archive-sidebar {
    margin: 80px 0 0 0;
  }

  .sidebar__item+.sidebar__item {
    margin-top: 40px;
  }

  .single__wrap {
    display: block;
  }

  .single-news__content {
    padding: 30px 0 60px;
  }

  .single-news__content figure img {
    border-radius: 5px;
  }

  .single-news__content p {
    margin-top: 10px;
  }

  .single-news__content h2 {
    margin: 30px 0 10px;
    font-size: 2rem;
  }

  .single-news__content h3 {
    margin: 20px 0 10px;
    font-size: 1.8rem;
  }

  .single-news__content h4 {
    margin: 20px 0 10px;
    font-size: 1.6rem;
  }

  .single-sidebar {
    margin: 80px 0 0 0;
  }

  .single__footer-left a {
    padding-left: 24px;
  }

  .single__footer-center {
    top: 2px;
    font-size: 1.4rem;
  }

  .single__footer-right a {
    padding-right: 24px;
  }

  .prev,
  .next {
    font-size: 1.4rem;
  }

  .contact {
    padding: 80px 0 130px;
  }

  .contact-box {
    padding: 30px 20px 60px;
  }

  .contact-box__title {
    font-size: 2.4rem;
  }

  .contact-box__text {
    margin-top: 15px;
    text-align: left;
  }

  .contact__items {
    margin-top: 100px;
  }

  .contact__item+.contact__item {
    margin-top: 60px;
  }

  .contact-sec__title {
    font-size: 2.2rem;
  }

  .contact-sec__title::before {
    top: 9px;
  }

  .contact-sec__title+.button {
    margin-top: 15px;
  }

  .contact-sec__title+.button .button-link {
    width: 400px;
    max-width: 100%;
    height: 80px;
    padding-top: 10px;
    font-size: 1.6rem;
    text-align: center;
  }

  .free-dial__wrap {
    display: block;
    margin-top: 20px;
  }

  .free-dial__wrap .business-hour {
    margin-left: 0;
  }

  .free-dial__img {
    margin-right: 5px;
  }

  .contact__wrap {
    margin-top: 30px;
  }

  .contact-row {
    display: block;
    margin-bottom: 20px;
  }

  .contact-title {
    justify-content: flex-start;
  }

  .contact-text {
    margin: 10px auto 0;
  }

  input[type=text],
  input[type=email] {
    height: 50px;
  }

  .contact-type {
    margin: 10px auto 0;
  }

  .contact-type label:last-child {
    margin-right: 0;
  }

  textarea {
    margin: auto;
    line-height: 1.5;
  }

  .radio-content .contact-text {
    padding-bottom: 6px;
  }

  .privacy-policy-link {
    text-decoration-thickness: 1px;
  }

  .submit-button {
    margin-top: 30px;
  }

  .sumit-button__wrap .arrow {
    right: 20px;
  }

  .contact-thanks__content .text__wrap {
    margin-top: 30px;
    text-align: left;
  }

  .contact-thanks__content .button {
    margin-top: 40px;
  }

  .contact-thanks__title {
    font-size: 2.2rem;
  }

  .policy {
    padding: 80px 0 130px;
  }

  .policy__item+.policy__item {
    margin-top: 30px;
  }

  .policy__text {
    margin-top: 10px;
  }

  :root {
    --header-h: 70px;
  }

  .hidden-sp {
    display: none;
  }

  .inner {
    width: min(100% - 40px, 1080px);
  }

  .sec {
    padding: 80px 0;
  }

  .section__title .en {
    font-size: 1.6rem;
  }

  .section__title .ja {
    font-size: 3rem;
  }

  .button-link {
    font-size: 1.6rem;
  }

  .button-link .arrow {
    right: 20px;
  }

  .header {
    height: 70px;
    padding-right: 85px;
  }

  body,
  main,
  .wrapper {
    transform: none !important;
    filter: none !important;
  }

  .header__logo {
    width: 110px;
    margin-top: 8px;
  }

  .header-search {
    display: none;
  }

  .header-tel {
    display: none;
  }

  .header-button.claim-button {
    flex: 0 0 109px;
    height: 48px;
    margin-top: 7px;
  }

  .header-button.claim-button .header-button__wrap {
    display: flex;
    align-items: center;
  }

  .header-button.claim-button a {
    padding: 0 0 4px 0;
    border: 1px solid #D6551A;
    border-radius: 5px;
    background-color: #fff;
  }

  .header-button.claim-button a .img {
    width: 20px;
    margin-right: 5px;
  }

  .header-button.contact-button {
    display: none;
  }

  .drawer__toggle {
    top: 0;
    right: 0;
    width: 75px;
    height: 70px;
    border-radius: 0 0 0 5px;
    background-color: #D6551A;
  }

  .drawer__wrapper {
    height: 22px;
  }

  .drawer__line {
    height: 2px;
    background: #fff;
  }

  .drawer__line--center {
    top: 10px;
  }

  .drawer__line--top.active {
    background: #fff;
  }

  .drawer__line--bottom.active {
    bottom: 9.5px;
    background: #fff;
  }

  .drawer__nav {
    padding-top: 0;
  }

  .drawer__nav .header-tel {
    display: block;
  }

  .drawer__nav .header-tel .business-hour {
    font-size: 1.2rem;
  }

  .drawer__wrap {
    width: 100%;
  }

  .drawer__menu {
    margin-top: 58px;
  }

  .drawer-contact-button {
    margin-top: 20px;
  }

  .news-slider {
    height: 34px;
    padding-top: 1px;
  }

  .mainvisual {
    height: calc(100vh - 104px);
    padding: 20px 15px 40px;
  }

  .mainvisual__img img {
    border-radius: 15px;
  }

  .mainvisual__content {
    top: initial;
    bottom: 60px;
    bottom: 16vw;
    left: 0;
    width: 100%;
    padding-left: 10px;
    transform: none;
  }

  .mainvisual__sub-title {
    z-index: 1;
    font-size: clamp(12px, 3.7333333333vw, 23px);
  }

  .mainvisual__sub-title::before {
    top: -1px;
    top: -0.2666666667vw;
    left: -10px;
    width: calc(100% + 10px);
    height: calc(100% + 2px);
    margin-left: 0;
  }

  .mainvisual__title {
    margin-top: 10px;
    margin-top: 2.6666666667vw;
    font-size: clamp(21px, 6.9333333333vw, 42px);
    letter-spacing: 0;
  }

  .mainvisual__title .sp-fz22 {
    font-size: 21px;
    font-size: 5.6vw;
  }

  .mainvisual__lead {
    align-items: flex-start;
    font-size: clamp(10px, 3.2vw, 18px);
    line-height: 1.6;
  }

  .mainvisual__lead::before {
    width: 30px;
    margin-top: 9px;
    margin-top: 2.4vw;
    margin-right: 5px;
  }

  .mainvisual-label {
    font-size: clamp(8px, 2.6666666667vw, 16px);
  }

  .mainvisual-gekkeikans {
    top: 20px;
    top: 5.3333333333vw;
    right: 10px;
    right: 2.6666666667vw;
    bottom: initial;
    width: calc(200px + 2.4vw);
  }

  .mainvisual-gekkeikan {
    flex-basis: 86px;
    flex-basis: 22.9333333333vw;
    max-width: 100px;
    box-shadow: none;
  }

  .mainvisual-gekkeikan+.mainvisual-gekkeikan {
    margin-left: 9px;
    margin-left: 2.4vw;
  }

  .floating-cta {
    width: calc(100% - 20px);
  }

  .floating-cta .cta {
    gap: 11px;
  }

  .floating-cta .cta__btn {
    flex: 0 0 calc(50% - 5.5px);
    height: 58px;
  }

  .floating-cta .cta__btn.cta__btn--tel .txt {
    font-size: 1.2rem;
  }

  .floating-cta .cta__btn.cta__btn--tel .tel-number {
    font-size: 1.8rem;
  }

  .floating-cta .cta__btn.cta__btn--tel .tel-number::before {
    width: 16px;
    height: 16px;
    margin-right: 5px;
  }

  .floating-cta .cta__btn.cta__btn--contact {
    font-size: 1.5rem;
    line-height: 1.3;
    text-align: center;
  }

  .floating-cta .cta__btn.cta__btn--contact::before {
    width: 18px;
    height: 14px;
    margin-right: 10px;
  }

  .top-service {
    padding-top: 80px;
  }

  .top-service .button {
    margin-top: 50px;
  }

  .top-service__inner {
    width: min(100% - 40px, 1240px);
  }

  .top-service__wrap {
    margin-top: 40px;
  }

  .top-service__lists {
    display: block;
  }

  .top-service__list {
    width: 100%;
  }

  .top-service__list+.top-service__list {
    margin: 30px 0 0 0;
  }

  .top-service-link {
    flex-direction: row;
    align-items: center;
    padding-left: 10px;
    border-radius: 5px;
    background-color: #F8F8F8;
  }

  .top-service-link::before {
    width: 28px;
    height: 28px;
  }

  .top-service-link::after {
    right: 7px;
    bottom: 9px;
    width: 13px;
    height: 10px;
  }

  .top-service__img {
    flex: 0 0 36.923%;
  }

  .top-service__img img {
    border-radius: 5px;
  }

  .top-service__content {
    margin-left: 10px;
    padding: 20px 0 38px;
    border-radius: 0 5px 5px 0;
  }

  .top-service__title {
    font-size: 2rem;
  }

  .top-service__text {
    margin-top: 5px;
    padding: 0 5px;
    font-size: 1.4rem;
    text-align: left;
  }

  .diagnosis {
    margin-top: 20px;
  }

  .diagnosis-link .arrow {
    right: 15px;
  }

  .diagnosis__img {
    left: 9px;
    width: 54px;
    height: 61px;
  }

  .diagnosis__content {
    padding-left: 3px;
  }

  .diagnosis__content span.font-small {
    font-size: 1.4rem;
  }

  .diagnosis__content span.font-large {
    font-size: 2rem;
  }

  .bg-left::before {
    width: calc(100% - 20px);
  }

  .bg-left .inner {
    width: min(100% - 70px, 1080px);
  }

  .top-strength .button {
    margin-top: 40px;
  }

  .top-strength__title {
    margin-top: 40px;
    color: #D6551A;
    font-size: 2.2rem;
  }

  .top-strength__items {
    display: block;
    margin-top: 40px;
  }

  .top-strength__item {
    width: 100%;
  }

  .top-strength__item+.top-strength__item {
    margin: 30px 0 0 0;
  }

  .top-strength__item:first-of-type .top-strength__img {
    height: 120px;
  }

  .top-strength__item:first-of-type .top-strength__img img {
    height: 100%;
  }

  .top-strength__item:first-of-type .top-strength__content {
    margin-top: -55px;
  }

  .top-strength__item:nth-of-type(2) .top-strength__img img {
    width: 165px;
  }

  .top-strength__item:nth-of-type(2) .top-strength__content {
    margin-top: -55px;
  }

  .top-strength__item:nth-of-type(3) {
    margin-top: 0;
  }

  .top-strength__item:nth-of-type(3) .top-strength__img img {
    width: 151px;
  }

  .top-strength__item:nth-of-type(3) .top-strength__content {
    margin-top: -23px;
    padding-top: 38px;
  }

  .top-strength__content {
    padding: 70px 16.5px 20px;
  }

  .top-strength__sub-title {
    font-size: 2rem;
  }

  .top-strength__text {
    margin-top: 40px;
    font-size: 1.6rem;
  }

  .top-strength__text::before {
    width: 35px;
  }

  .top-reason__lists {
    margin-top: 40px;
  }

  .top-reason__list {
    display: block;
  }

  .top-reason__list+.top-reason__list {
    margin-top: 30px;
  }

  .top-reason__img img {
    border-radius: 5px;
  }

  .top-reason__content {
    margin: 20px 0 0 0;
  }

  .top-reason__title>span.en {
    color: rgba(214, 85, 26, 0.8);
  }

  .top-reason__title>span.en::after {
    background-color: rgba(214, 85, 26, 0.8);
  }

  .top-reason__title>span.ja .number {
    font-size: 2.8rem;
  }

  .top-reason__title>span.ja .ttl {
    font-size: 2.4rem;
  }

  .top-reason__text {
    margin-top: 15px;
  }

  .top-reason-box {
    margin-top: 60px;
    padding: 30px 19px;
  }

  .top-reason-box::after {
    top: 4px;
    right: -7px;
    width: 40px;
    height: 79px;
    background-image: url(../img/illust_top_support_sp.svg);
  }

  .top-reason-box__title {
    font-size: 2.4rem;
  }

  .top-reason-box__lists {
    display: block;
  }

  .top-reason-box__list {
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 3px;
    border-radius: 5px;
  }

  .top-reason-box__list+.top-reason-box__list {
    margin: 10px 0 0 0;
  }

  .top-reason-box__list::before {
    top: 50%;
    left: 13px;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
  }

  .top-reason-box__inner {
    justify-content: flex-start;
    padding: 5px 10px 5px 48px;
    border-radius: 5px;
  }

  .top-reason-box__text {
    text-align: left;
  }

  .top-reason-box__text>span {
    display: inline;
  }

  .top-reason-box__text .font-large {
    font-size: 1.8rem;
  }

  .bg-right::before {
    left: 20px;
    width: calc(100% - 20px);
  }

  .bg-right .inner {
    padding-left: 20px;
  }

  .top-voice {
    overflow: hidden;
  }

  .top-voice .button {
    margin-top: 40px;
  }

  .top-voice__lists {
    display: block;
    margin-left: 8px;
    overflow: visible;
  }

  .top-voice__list {
    display: flex !important;
    flex-direction: column;
    width: 80vw;
    height: 100%;
    padding: 30px 20px;
  }

  .top-voice__lists .slick-slide {
    height: auto;
    margin: 0 7.5px;
  }

  .top-voice__lists .slick-list {
    width: 100vw;
    margin: 0 -7.5px;
    padding-right: 24px;
  }

  .top-voice__lists .slick-track {
    display: flex;
  }

  .top-voice__img {
    flex: 0 0 80px;
  }

  .top-news .section__title {
    text-align: center;
  }

  .top-news .button {
    order: 3;
    margin-top: 40px;
    text-align: center;
  }

  .top-news__inner {
    width: min(100% - 40px, 1200px);
  }

  .top-news__wrap {
    flex-direction: column;
  }

  .top-news__left {
    display: contents;
  }

  .top-news__right {
    order: 2;
    margin: 21px 0 0 0;
  }

  .top-news__right .no-post {
    text-align: center;
  }

  .news__item+.news__item {
    margin-top: 0;
  }

  .news__item .info {
    padding: 15px 35px 15px 0;
    border-radius: 3px;
  }

  .news__item .info::after {
    right: 10px;
  }

  .news__item .info__title {
    margin-top: 7px;
  }

  .top-faq {
    padding-top: 50px;
    padding-bottom: 130px;
  }

  .faq__content {
    margin-top: 40px;
    padding: 40px 20px;
  }

  .question {
    padding: 15px 26px 15px 0;
    font-size: 16px;
  }

  .question::before,
  .question::after {
    right: -7px;
  }

  .answer {
    padding: 15px 10px 15px 0;
  }

  .a-list {
    align-items: flex-start;
  }

  .q-list-left,
  .a-list-left {
    margin-right: 10px;
  }

  .contact-part .cta {
    display: block;
    margin-top: 20px;
  }

  .contact-part .cta__btn+.cta__btn {
    margin-top: 20px;
    font-size: 1.6rem;
  }

  .contact-part__img img {
    border-radius: 20px 20px 0 0;
  }

  .contact-part__content {
    margin-top: -179px;
    margin-top: -47.7333333333vw;
  }

  .contact-part__wrap {
    padding: 30px 19px;
    border-radius: 5px;
  }

  .contact-part__text {
    font-size: 2rem;
  }

  .footer {
    margin-top: -165px;
    margin-top: -44vw;
    padding-top: 249px;
    padding-top: 66.4vw;
  }

  .footer__contents {
    display: block;
  }

  .footer-logo {
    margin: auto;
  }

  .footer-info {
    text-align: center;
  }

  .footer-sns {
    justify-content: center;
    margin-top: 15px;
  }

  .footer__right {
    margin-top: 50px;
  }

  .footer__nav {
    display: block;
  }

  .footer__nav ul {
    flex-wrap: nowrap;
    height: auto;
  }

  .footer__nav ul li {
    text-align: center;
  }

  .footer__nav ul li:nth-child(n+4) {
    margin: 15px 0 0 0;
  }

  .footer__nav ul li a {
    display: block;
  }

  .footer-contact {
    margin: 15px 0 0 0;
  }

  .footer-contact-link {
    width: 215px;
    margin: auto;
  }

  .footer__copy {
    margin-top: 70px;
  }

}

@media (max-width: 767px) and (max-width: 359px) {

  .floating-cta .cta__btn.cta__btn--tel .tel-number::before {
    margin-right: 1px;
  }

}

@media screen and (max-width: 767px) {

  .top-voice__nav {
    display: none;
  }

}

@media (max-width: 499px) {

  .service-price__content table {
    width: 600px;
  }

}

@media (max-width: 449px) {

  .free-dial {
    font-size: 42px;
    font-size: 9.3333333333vw;
  }

  .free-dial__img {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 78px;
    flex-basis: 17.3333333333vw;
    min-width: 0;
  }

}

@media (max-width: 435px) {

  .mainvisual-gekkeikans {
    width: 48.2666666666vw;
  }

}

@media (max-width: 433px) {

  .hidden-w433 {
    display: none;
  }

}

@media (max-width: 389px) {

  .hidden-w390 {
    display: none;
  }

}

@media (max-width: 380px) {

  .company-sec04__lead>span {
    width: 152px;
  }

  .hidden-w380 {
    display: none;
  }

}

@media (max-width: 374px) {

  .company-sec07__title {
    font-size: 22px;
    font-size: 5.8666666667vw;
  }

  .rousai-flow__item.second .speech-bubble {
    left: calc(50% + 6px);
  }

  .hidden-w375 {
    display: none;
  }

  .top-voice__list {
    width: 75vw;
  }

}

@media (max-width: 359px) {

  .page-intro__title {
    font-size: 2.2rem;
  }

  .company-sec02 .section__title .ja {
    font-size: 2.7rem;
  }

  .company__title {
    font-size: 1.9rem;
  }

  .service__content .diagnosis .font-small {
    font-size: 1.2rem;
  }

  .service__content .diagnosis .font-large {
    font-size: 1.6rem;
  }

  .service-feature__title>span.ja .number {
    font-size: 2.6rem;
  }

  .service-feature__title>span.ja .ttl {
    font-size: 2.2rem;
  }

  .service-sec02 .section__title .ja {
    font-size: 2.7rem;
  }

  .service-price-box__title {
    font-size: 1.7rem;
  }

  .service-price-box__title::before {
    width: 21px;
    height: 21px;
    margin: 2px 5px 0 0;
  }

  .rousai-support__text {
    font-size: 1.5rem;
  }

  .rousai-support-box__text {
    font-size: 1.6rem;
  }

  .single-news__wrapper .single__footer .prev,
  .single-news__wrapper .single__footer .next {
    font-size: 1.4rem;
  }

  .contact-box__title {
    font-size: 2.1rem;
  }

  .contact-sec__title {
    font-size: 2rem;
  }

  .contact-type label {
    margin-right: 24px;
  }

  .privacy-policy .page-mainvisual__title {
    left: 40px;
  }

  .privacy-policy .page-mainvisual__title .ja {
    font-size: 2.2rem;
  }

  .hidden-sm {
    display: none;
  }

  .header {
    padding-right: 82px;
  }

  .header-button.claim-button {
    flex: 0 0 98px;
  }

  .header-button.claim-button a .txt {
    font-size: 1.5rem;
  }

  .drawer__nav {
    padding: 30px 20px 40px;
  }

  .mainvisual__title {
    font-size: clamp(21px, 6.2vw, 42px);
  }

  .floating-cta .cta__btn.cta__btn--tel .txt {
    font-size: 1.1rem;
  }

  .floating-cta .cta__btn.cta__btn--tel .tel-number {
    font-size: 1.7rem;
  }

  .floating-cta .cta__btn.cta__btn--contact {
    font-size: 1.4rem;
  }

  .top-service__title {
    font-size: 1.8rem;
  }

  .diagnosis-link .arrow {
    right: 5px;
  }

  .diagnosis__img {
    left: 4px;
  }

  .diagnosis__content {
    padding-left: 10px;
  }

  .top-strength__sub-title {
    font-size: 1.8rem;
  }

  .top-strength__text {
    font-size: 1.5rem;
  }

  .top-reason-box__title {
    font-size: 2.2rem;
  }

  .contact-part__text {
    font-size: 1.9rem;
  }

}

@keyframes newsTicker {

  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }

}