/* =========================
  TOPページ
========================= */
/*FV*/
.fv {
  padding: 140px 32px 0;
}

.emergency_message_area .emergency_message {
  max-width: 1200px;
  margin: 12px auto 0;
}

.emergency_message_area .emergency_message:first-child {
  margin-top: 0;
}

.emergency_message {
  background: #FFF2F3;
  border-radius: 8px;
  padding: 0 20px;
}

.emergency_message_view {
  padding: 16px 0 0;
  border-bottom: solid 1px #8D9AA6;
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.emergency_message_view::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: translateY(calc(-50% + 5px)) rotate(45deg);
  transition: transform 0.3s ease;
}

.emergency_message.is-open .emergency_message_view::after {
  transform: translateY(calc(-50% + 8px)) rotate(-135deg);
}

.emergency_message_title {
  padding-left: 2px;
  position: relative;
  font-weight: 600;
  color: #C40E18;
}

.emergency_message_inner {
  max-height: 0;
  overflow: hidden;
  padding: 0 0 16px; /* ← 常に持たせる */
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.emergency_message_inner p {
  font-size: 14px;
  margin-top: 16px;
}

.emergency_message_inner a {
  color: #C40E18;
  text-decoration: underline;
}

.fv_inner {
  padding: 56px 0 0;
  max-width: 1200px;
  margin: 0 auto;
  right: 0;
  left: 0;
  position: relative;
  display: flex;
}

.fv_illust {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .5s ease-out, transform .5s ease-out;
}

.fv_illust.is-show {
  opacity: 1;
  transform: translateY(0);
}

.fv_text_button {
  display: flex;
  flex-direction: column;
}

.fv_text p {
  font-size: 20px;
  font-weight: 600;
  white-space: nowrap;
}

.fv_text h2 {
  font-size: 60px;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.4;
  margin-top: 12px;
}

.fv_text img {
  margin-top: 32px;
}

.fv_button_annotation {
  margin-top: 56px;
}

.fv_button_list {
  display: flex;
  gap: 24px;
}

.fv_button_item {
  width: calc((100% - 24px) / 2);
  display: flex;
}

.fv_button_item a {
  color: #000;
  font-weight: bold;
  line-height: 1.4;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.fv_button_item a:hover {
  opacity: 0.7;
}

.fv_button_item:first-child a {
  display: flex;
  align-items: center;
  border: solid 4px #315EA8;
  border-radius: 8px;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 73px;
}

.fv_button_item_img {
  background-color: #315EA8;
  padding: 0 8px 0px 4px;
  width: 40%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.fv_button_item_img img {
  height: 100%;
}

.fv_button_item:first-child a p {
  font-weight: 600;
  text-align: center;
  width: 60%;
}

.fv_button_item:first-child a::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url(/new_common/images/icon_external_bk.svg) no-repeat center / contain;
  margin-right: 16px;
  vertical-align: middle;
  position: absolute;
  right: -8px;
}

.fv_button_item:last-child a {
  position: relative;
  overflow: hidden;
  border: 4px solid transparent;
  border-radius: 8px;
  background: linear-gradient(to right, #FFD300, #FFBB01) padding-box,
              linear-gradient(to right, #FFD300, #FFBB01) border-box;
  background-clip: padding-box, border-box;
  color: #000;
  z-index: 1;
  width: 100%;
  height: 100%;
  font-weight: 600;
  min-height: 73px;
}

.fv_button_item:last-child a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
}

.fv_button_item:last-child a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateY(-50%) rotate(45deg);
}

.annotation_text {
  font-size: 10px;
  line-height: 1.2;
  margin-top: 28px;
}

.fv_br_sp {
  display: none;
}

/*バナーエリア*/
.banner_area {
  margin: 64px auto 0;
  padding: 0 48px;
  max-width: 684px;
  width: 100%;
}

.banner_area a {
  transition-property: opacity;
  transition-duration: 0.3s;
}

.banner_area a:hover {
  opacity: 0.7;
}

.banner_area a img {
  border-radius: 4px;
}

/*法人の移動課題を解決*/
.solutions {
  margin-top: 72px;
  background: #E4E6E9;
  padding: 72px 16px;
}

.solutions_inner,
.solutions_list {
  max-width: 1200px;
  margin: auto;
}

.solutions h2 {
  margin: 0;
  text-align: center;
  font-size: 32px;
}

.solutions_list {
  margin-top: 56px;
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.solutions_list li {
  width: calc((100% - 96px) / 4);
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* スクロールアニメーション */
.solutions_list li {
  opacity: 0;
  transform: translateY(30px);
  transition: 
    opacity .6s cubic-bezier(.22,1,.36,1),
    transform .6s cubic-bezier(.22,1,.36,1);
}

.solutions_list li.is-show {
  opacity: 1;
  transform: translateY(0);
}

.solutions_list_title {
  background: #6279B8;
  text-align: center;
  color: #fff;
  padding: 10px 8px;
  line-height: 1.4;
  min-height: calc(1.4em * 2 + 20px);
  align-items: center;
  justify-content: center;
  display: flex;
}

.solutions_list_detail {
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}

.solutions_br {
  display: block;
}

/*コスト削減と業務効率化*/
.strength {
  background: #D1D4D9;
  padding: 88px 16px;
}

.strength_text {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

.strength_text_br {
  display: none;
}

.strength_text h2 {
  font-size: 32px;
  margin: 0;
}

.strength_text h2 span {
  color: #C40E18;
  background: linear-gradient(transparent 55%, #FFD300 55%);
}

.strength_text p {
  margin-top: 16px;
}

.strength_service {
  max-width: 1200px;
  margin: 48px auto 0;
  background: #fff;
  padding: 40px 56px;
}

.strength_service h3 {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  position: relative;
  padding-bottom: 24px;
}

.strength_service h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 48px;
  height: 8px;
  background: #273F67;
  border-radius: 999px;
}

.strength_service_list {
  display: flex;
  gap: 40px;
  margin-top: 40px;
}

.strength_service_list li {
  width: calc((100% - 80px) / 3);
}

.strength_service_label {
  background: #C40E18;
  color: #fff;
  padding: 2px 28px;
  margin-top: 20px;
  width: fit-content;
  border-radius: 40px;
}

.strength_service_name {
  margin-top: 10px;
  font-size: 24px;
  font-weight: 600;
}

.strength_service a {
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #315EA8;
  text-align: center;
  max-width: 400px;
  margin: 40px auto 0;
  padding: 24px 16px;
  overflow: hidden;
  z-index: 1;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.strength_service a:hover {
  opacity: 0.7;
}

.strength_service a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.strength > .annotation {
  max-width: 1200px;
  margin: auto;
  text-align: right;
  margin-top: 16px;
}

.strength > .annotation a {
  color: #C40E18;
  text-decoration: underline;
}

/* スクロールアニメーション */
.strength_text h2,
.strength_main_text,
.strength_text .annotation,
.strength_service,
.strength > .annotation {
  opacity: 0;
  transform: translateY(30px);
  transition: 
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1);
}

.strength_text h2.is-show,
.strength_main_text.is-show,
.strength_text .annotation.is-show,
.strength_service.is-show,
.strength > .annotation.is-show {
  opacity: 1;
  transform: translateY(0);
}

/*導入実績*/
.achievements {
  padding: 64px 16px;
}

.achievements_inner {
  max-width: 1200px;
  margin: auto;
}

.achievements_inner p {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
}

.achievements_crown {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 24px;
}

.achievements_crown img {
  max-height: 112px;
}

.achievements_crown_text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.achievements_crown_text p {
  font-size: 32px;
  line-height: 1;
}

.achievements_crown_text p span {
  font-size: 56px;
  color: #C40E18;
}

.achievements_inner > img {
  margin-top: 52px;
}

.achievements_inner .annotation {
  margin-top: 28px;
  text-align: right;
  font-size: 12px;
  font-weight: normal;
}

.achievements_logo {
  margin-top: 52px;
}

.achievements_logo_list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
}

.achievements_logo_list:last-child {
  display: none;
}

.achievements_logo_list li {
  width: calc((100% - 40px * 7) / 8);
  display: flex;
  justify-content: center;
  align-items: center;
}

/* スクロールアニメーション */
.achievements_inner > p,
.achievements_crown,
.achievements_logo,
.achievements_inner .annotation {
  opacity: 0;
  transform: translateY(30px);
  transition: 
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1);
}

.achievements_inner .is-show {
  opacity: 1;
  transform: translateY(0);
}

/*選ばれる理由*/
.point {
  background: linear-gradient(to bottom, #F7F8F9, #E2E5E9);
  padding: 120px 16px;
  border-radius: 64px 64px 0 0;
  overflow: clip;
}

.point_inner {
  max-width: 1200px;
  margin: 0 auto;
}

.point_inner h2 {
  font-size: 32px;
}

.point_list {
  display: flex;
  flex-direction: column;
  gap: 48px;
  margin-top: 64px;
}

.point_list_detail {
  display: flex;
  align-items: center;
}

.point_list_detail:nth-child(odd) > div:first-child,
.point_list_detail:nth-child(even) > div:last-child {
  width: 60%;
  display: flex;
  flex-direction: column;
}

.point_list_detail:nth-child(odd) > div:nth-child(2),
.point_list_detail:nth-child(even) > div:first-child {
  width: 40%;
}

.point_list_detail:nth-child(odd) > div:nth-child(2) img,
.point_list_detail:nth-child(even) > div:first-child img {
  width: 100%;
}

.point_detail_text {
  padding: 0 0 48px;
}

.point_list_detail:nth-child(even) > div:last-child {
  align-items: end;
}

.point_no {
  background: #315EA8;
  color: #fff;
  font-size: 24px;
  width: fit-content;
  padding: 0 56px;
  border-radius: 16px 0 16px 0;
}

.point_list_detail:nth-child(even) .point_no {
  border-radius: 0 16px 0 16px;
}

.point_no span {
  font-size: 40px;
}

.point_list_detail:nth-child(odd) .point_detail_text_inner {
  margin-top: 24px;
  padding-left: 56px;
}

.point_list_detail:nth-child(3) .point_detail_text_inner {
  margin-top: 40px;
}

.point_list_detail:nth-child(even) .point_detail_text_inner {
  margin-top: 16px;
  padding-right: 56px;
}

.point_detail_text_inner .point_title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  margin-top: 0;
}

.point_list_detail:nth-child(2) .point_detail_text_inner .point_title {
  line-height: 1.5;
}

.point_list_detail:nth-child(3) .point_detail_text_inner .point_title,
.point_list_detail:nth-child(4) .point_detail_text_inner .point_title {
  line-height: 1.4;
}

.point_detail_text_inner .point_title span {
  color: #C40E18;
  font-size: 40px;
}

.point_detail_text_inner .point_title span br {
  display: none;
}

.point_detail_text_inner .point_title .point_title_zero {
  font-size: 58px;
}

.point_detail_text_inner p {
  font-size: 16px;
  margin-top: 24px;
}

.point_detail_text_inner p.annotation {
  margin-top: 16px;
}

.point_detail_text_inner p.annotation a {
  color: #C40E18;
}

.point_detail_text_inner p.annotation a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 2px;
  margin-right: 2px;
  background: url(/new_common/images/icon_external.svg) no-repeat center / contain;
  vertical-align: middle;
  margin-bottom: 2px;
}

.point_detail_text_inner img {
  max-width: 360px;
  margin-top: 24px;
}

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

.point_list_detail::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  background: #fff;
  z-index: -1;
}

.point_list_detail:nth-child(odd)::before {
  left: 0;
  right: -100vw;
  border-radius: 16px 0 0 16px;
}

.point_list_detail:nth-child(even)::before {
  right: 0;
  left: -100vw;
  border-radius: 0 16px 16px 0;
}

/* スクロールアニメーション */
.point_inner h2,
.point_list_detail {
  opacity: 0;
  transform: translateY(40px);
  transition: 
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1);
}

.point_inner .is-show {
  opacity: 1;
  transform: translateY(0);
}

/*新着情報*/
.news {
  padding: 80px 16px;
}

.news_inner {
  max-width: 1200px;
  margin: auto;
}

.news_title_area {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.news_title_area a {
  color: #000;
  text-decoration: underline;
  position: relative;
  padding-right: 22px;
}

.news_title_area a::before {
  content: "";
  position: absolute;
  right: 7px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
}

.news_title_area a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #273f67;
}

.news_list {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.news_list_detail a {
  display: flex;
  padding: 24px 32px;
  background-color: #EFF2F8;
  color: #000;
  border-radius: 8px;
  gap: 16px;
  position: relative;
}

.news_list_title {
  text-decoration: underline;
}

.news_list_detail a::before {
  content: "";
  position: absolute;
  right: 32px;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2.5px solid #000;
  border-right: 2.5px solid #000;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
  border-radius: 2px;
}

/* スクロールアニメーション */
.news_title_area,
.news_list {
  opacity: 0;
  transform: translateY(30px);
  transition: 
    opacity .6s cubic-bezier(.22,1,.36,1),
    transform .6s cubic-bezier(.22,1,.36,1);
}

.news_inner .is-show {
  opacity: 1;
  transform: translateY(0);
}

/*タイムズバナー*/
.timz_bnr {
  padding: 40px 16px 80px;
}

.timz_bnr_inner {
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.timz_bnr_inner li {
  flex: 0 0 calc((100% - 80px) / 5);
}

.timz_bnr_inner li img {
  width: 100%;
}

/*フッター上部CTA*/
.last_cta {
  background-image: 
    url(/new_common/images/cta_bg_01.webp),
    url(/new_common/images/cta_bg_02.webp);

  background-position: 
    left 120%,
    right 200%;

  background-repeat: 
    no-repeat,
    no-repeat;

  background-size: 
    min(470px, 46vw) auto,
    min(420px, 28vw) auto;

  background-color: #315EA8;

  padding: 72px 16px;
}

.last_cta_inner {
  max-width: 1200px;
  margin: auto;
}

.last_cta_inner h2 {
  font-size: 42px;
  text-align: center;
  color: #fff;
}

.last_cta_inner h2 span {
  font-size: 38px;
}

.last_cta_botton_area {
  margin-top: 32px;
}

.last_cta_botton_area p {
  font-size: 28px;
  text-align: center;
  color: #fff;
}

.last_cta_botton_flex {
  display: flex;
  max-width: 740px;
  margin: 32px auto 0;
  gap: 40px;
}

.last_cta_botton_flex li {
  width: calc((100% - 24px) / 2);
  position: relative;
}

.last_cta_botton_flex li .wh_label {
  background: #fff;
  color: #C40E18;
  font-size: 14px;
  position: absolute;
  padding: 8px 40px;
  line-height: 1;
  border-radius: 40px;
  top: -20px;
  z-index: 2;
}

.last_cta_botton_flex li a {
  align-items: center;
  border: 4px solid transparent;
  border-radius: 8px;
  background: linear-gradient(to right, #FFD300, #FFBB01) padding-box, linear-gradient(to right, #FFD300, #FFBB01) border-box;
  background-clip: padding-box, border-box;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
  color: #000;
  display: flex;
  font-weight: bold;
  height: 100%;
  justify-content: center;
  line-height: 1.4;
  max-width: 350px;
  padding: 20px 22px;
  position: relative;
  text-align: center;
  white-space: nowrap;
  width: 100%;
  z-index: 1;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.last_cta_botton_flex li a:hover {
  opacity: 0.7;
}

.last_cta_botton_flex li:last-child a {
  background: #fff;
}

.last_cta_botton_flex li a::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2.5px solid #000;
  border-right: 2.5px solid #000;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
  border-radius: 2px;
}

.last_cta_botton_flex li a p {
  font-size: 16px;
  color: #000;
  line-height: 1.5;
}

.last_cta_botton_flex li a p span {
  display: block;
  font-size: 14px;
}

/* スクロールアニメーション */
.last_cta_botton_area > p,
.last_cta_botton_flex {
  opacity: 0;
  transform: translateY(30px);
  transition: 
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1);
}

.last_cta .is-show {
  opacity: 1;
  transform: translateY(0);
}

/* =========================
  2階層目以降FV
========================= */
.fv_lower_inner {
  margin: 0 auto 72px;
  max-width: 1200px;
}

.Breadcrumb_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.Breadcrumb_list li {
  font-size: 12px;
  color: #6C6C6C;
}

.Breadcrumb_list li a {
  color: #000;
  text-decoration: underline;
}

.Breadcrumb_list li + li {
  margin-left: 0;
  display: flex;
  align-items: center;
}

.Breadcrumb_list li + li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1.5px solid #6C6C6C;
  border-right: 1.5px solid #6C6C6C;
  transform: rotate(45deg);
  margin-right: 8px;
}

.fv_lower_inner h2 {
  font-size: 40px;
  margin: 80px 0 0;
}

.fv_lower_inner p {
  margin-top: 32px;
}

/* =========================
  サービスについて
========================= */
/*サービス一覧*/
.service_list {
  background: #F7F8F9;
}

.service_list_inner {
  padding: 72px 16px;
}

.service_list_inner h2 {
  font-size: 32px;
  position: relative;
  padding-bottom: 28px;
  text-align: center;
}

.service_list_inner h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 8px;
  background: #273F67;
  border-radius: 999px;
  transform: translateX(-50%);
}

.service_list_inner_detail {
  display: flex;
  flex-wrap: wrap;
  margin: 48px auto 0;
  padding: 56px;
  gap: 40px;
  background: #fff;
  max-width: 1200px;
  border-radius: 16px;
}

.service_list_inner_detail li {
  flex: 0 0 calc((100% - 40px) / 2);
}

.service_list_title_area {
  display: flex;
  gap: 16px;
  align-items: center;
}

.service_list_title_area img {
  max-width: 67px;
  width: 100%;
  height: 100%;
  border-radius: 8px;
}

.service_list_inner_detail li:nth-child(2) .service_list_title_area img {
  border: solid 1px #8D9AA6;
  padding: 8px;
}

.red_label {
  background: #C40E18;
  color: #fff;
  width: fit-content;
  padding: 0 24px;
  border-radius: 32px;
}

.service_list_text h3 {
  font-size: 24px;
  margin-top: 14px;
  line-height: 1;
}

.service_list_inner_detail li > p {
  margin-top: 24px;
}

.annotation_area {
  max-width: 1200px;
  margin: 16px auto 0;
}

.annotation_area .annotation:first-child {
  text-align: right;
}

/*申し込みプラン一覧*/
.plan_list {
  padding: 72px 16px;
}

.plan_list_inner {
  max-width: 1200px;
  margin: 0 auto;
}

.plan_list h2 {
  font-size: 32px;
  position: relative;
  padding-bottom: 28px;
  margin: 0 0 56px;
  text-align: center;
}

.plan_list h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 8px;
  background: #273F67;
  border-radius: 999px;
  transform: translateX(-50%);
}

/*テーブル*/
.plan_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.plan_table_head_detail {
  background: #C4D2F9;
}

.plan_table_head_detail:nth-child(3) {
  background: #FFD300;
}

.plan_table th[colspan="2"] {
  background: #fff;
}

.plan_table th[colspan="2"],
.plan_table td[colspan="2"] {
  width: 30%;
}

.plan_table th:not([colspan]),
.plan_table td:not([colspan]) {
  width: calc((100% - 297px) / 3);
}

.plan_table td {
  background: #F7F8F9;
  text-align: center;
  position: relative;
}

.plan_table td sup {
  position: absolute;
  top: 16px;
  font-weight: normal;
}

.plan_table td span {
  font-size: 32px;
}

.plan_table td[colspan="2"],
.plan_table tbody td[rowspan] {
  background: #D1D4D9;
}

.plan_table tbody tr:not(:first-child) td:first-child:not([rowspan]):not([colspan]) {
  background: #E4E6E9;
  padding: 24px 16px;
}

.plan_table tbody tr td:nth-child(3) {
  background: #FFF3BE;
}

.plan_table th,
.plan_table td {
  vertical-align: middle;
}

.plan_table th {
  padding: 16px;
  line-height: 1.4;
}

.plan_table th > div,
.plan_table td > div {
  height: 100%;
}

.plan_table th > div,
.plan_table td > div {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.plan_table td > div p {
  font-weight: bold;
  text-align: center;
}

.plan_table td:has(img) {
  vertical-align: top;
}

.plan_table td img {
  max-width: 100%;
  height: auto;
  display: block;
  padding: 20px 24px;
}

.plan_table .label {
  background: #273F67;
  color: #fff;
  font-size: 14px;
  padding: 4px 24px;
  display: inline-block;
  margin-bottom: 6px;
  border-radius: 40px;
  position: absolute;
  top: -32px;
}

.plan_table tbody td[rowspan] + td {
  background: #E4E6E9;
}

.plan_table tbody td[rowspan] + td + td {
  background: #F7F8F9;
}

.plan_table tbody td[rowspan] + td + td + td {
  background: #FFF3BE;
}

.plan_table {
  border-collapse: separate;
  border-spacing: 4px;
  background: #fff;
}

.plan_table th,
.plan_table td {
  border: none;
}

.plan_table tbody tr:nth-last-child(2) td {
  font-weight: bold;
  padding: 16px;
}

.plan_table tbody tr:last-child td {
  background: #fff;
  padding: 12px 16px;
}

.plan_table tbody tr:last-child td a {
  background: #315EA8;
  color: #fff;
  text-align: center;
  padding: 16px 16px;
  width: 100%;
  border-radius: 6px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
  font-weight: 600;
  position: relative;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.plan_table tbody tr:last-child td a:hover {
  opacity: 0.7;
}

.plan_table tbody tr:last-child td a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.plan_list .annotation_area .annotation:first-child {
  text-align: left;
}

.plan_list .annotation_area .annotation {
  margin-top: 8px;
}

.plan_list .annotation_area .annotation_no {
  padding-left: 24px;
  position: relative;
}

.plan_list .annotation_area .annotation_no span {
  position: absolute;
  left: 0px;
}

.plan_list .annotation_area .annotation a {
  color: #C40E18;
  text-decoration: underline;
}

.plan_list .annotation_area .annotation a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  background: url("/new_common/images/icon_external.svg") no-repeat center / contain;
  vertical-align: middle;
  margin-bottom: 2px;
}

/* =========================
  入会申込
========================= */
.plan_about {
  background: #F7F8F9;
  padding: 110px 16px 72px;
}

.plan_about_inner {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.plan_about_inner_detail {
  border-radius: 16px;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.plan_about_inner_title {
  padding: 20px 16px;
}

.plan_about_inner_title h3 {
  text-align: center;
  margin: 0;
  font-size: 24px;
}

.plan_about_inner_title p {
  text-align: center;
  margin-top: 8px;
  font-weight: 600;
}

.easy_plan {
  border: solid 2px #FFD300;
  position: relative;
}

.easy_plan_recommendation {
  position: absolute;
  top: -48px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 24px;
  font-weight: 600;
}

.easy_plan .plan_about_inner_title {
  background: #FFD300;
  border-radius: 12px 12px 0 0;
}

.support_plan {
  border: solid 2px #273F67;
}

.support_plan .plan_about_inner_title {
  background: #273F67;
  border-radius: 12px 12px 0 0;
}

.support_plan .plan_about_inner_title h3,
.support_plan .plan_about_inner_title p {
  color: #fff;
}

.plan_about_inner_features {
  padding: 28px 16px;
  min-height: 170px;
}

.plan_about_inner_features p {
  font-weight: 600;
  position: relative;
  padding-left: 12px;
}

.plan_about_inner_features p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: #273F67;
}

.plan_about_inner_features ul {
  margin-top: 16px;
  padding-left: 0;
}

.plan_about_inner_features li {
  list-style: none;
  position: relative;
  padding-left: 22px;
  margin-top: 16px;
}

.plan_about_inner_features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 14px;
  height: 14px;
  background: #273F67;
  border-radius: 50%;
}

.plan_about_inner_features li::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.45em;
  width: 5px;
  height: 6px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(45deg);
}

.plan_about_inner_service {
  padding: 0 16px;
}

.plan_about_inner_service > p {
  text-align: center;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.plan_about_inner_service > p::before,
.plan_about_inner_service > p::after {
  content: "";
  height: 1px;
  background: #273F67;
  flex: 1;
}

.support_plan .service_detail {
  max-width: 50%;
  margin: 24px auto 0;
}

.service_detail {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 0 16px;
  margin-top: 24px;
}

.service_detail div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.service_detail div img {
  width: 100%;
  max-width: 200px;
  height: auto;
}

.service_detail div p {
  text-align: center;
  line-height: 1.5;
}

.support_plan .service_detail div {
  justify-self: center;
}

.service_subject {
  background: #F7F8F9;
  border-radius: 6px;
  padding: 16px;
  margin-top: 28px;
  min-height: 204px;
}

.service_subject p {
  font-weight: 600;
}

.service_subject ul {
  margin-top: 8px;
}

.service_subject ul li,
#flow .service_subject ul li.annotation {
  margin-top: 4px;
}

.plan_about_inner_step {
  margin-top: 28px;
  background: #F7F8F9;
  padding: 16px;
}

.plan_about_inner_step p {
  font-weight: 600;
  position: relative;
  padding-left: 12px;
}

.plan_about_inner_step p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: #273F67;
}

.plan_about_inner_step_list {
  margin-top: 16px;
}

.plan_about_inner_step_list li {
  display: flex;
  position: relative;
}

.plan_about_inner_step_list li:not(:last-child) {
  margin-bottom: 16px;
}

.plan_about_inner_step_list li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 20px;
  bottom: -16px;
  width: 6px;
  height: 16px;
  background: #8D9AA6;
}

.plan_about_inner_step_no {
  background: #315EA8;
  border-radius: 6px 0 0 6px;
}

.plan_about_inner_step .plan_about_inner_step_list .plan_about_inner_step_no p span {
  font-size: 12px;
  display: block;
  font-weight: normal;
}

.plan_about_inner_step .plan_about_inner_step_list .plan_about_inner_step_no p {
  padding: 6px 8px;
  text-align: center;
  line-height: 1.2;
  color: #fff;
}

.plan_about_inner_step .plan_about_inner_step_list p::before {
  content: none;
}

.plan_about_inner_step_list li > p {
  background: #fff;
  border-radius: 0 6px 6px 0;
  width: 100%;
  display: flex;
  align-items: center;
}

.plan_about_inner_cta {
  padding: 24px 16px;
}

.plan_cta_carshare {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: dotted 2px #6C6C6C;
}

.plan_cta_carshare p {
  font-weight: 600;
}

.plan_cta_carshare a {
  align-items: center;
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.24);
  border: 4px solid transparent;
  border-radius: 8px;
  background: linear-gradient(to right, #FFD300, #FFBB01) padding-box, linear-gradient(to right, #FFD300, #FFBB01) border-box;
  background-clip: padding-box, border-box;
  color: #000;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  height: 100%;
  justify-content: center;
  line-height: 1.4;
  min-height: 74px;
  padding: 12px 16px;
  position: relative;
  text-align: center;
  width: 80%;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.plan_cta_carshare a:hover {
  opacity: 0.7;
}

.plan_cta_carshare a::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(/new_common/images/icon_external_bk.svg) no-repeat center / contain;
  position: absolute;
  right: 16px;
  top: 38%;
}

.plan_cta_carshare a span {
  display: block;
  font-size: 14px;
}

.plan_cta_carshare:last-child {
  border-bottom: 0;
  padding: 0;
  gap: 8px;
  margin-top: 16px;
}

.support_plan .plan_cta_carshare {
  margin-top: 0;
  gap: 16px;
}

/*資料ダウンロード*/
.download_inner {
  max-width: 1200px;
  margin: 32px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  background: #273F67 url(/new_common/images/download_bg.webp) no-repeat center;
  background-size: 800px auto;
  background-position: right -130px center;
  border-radius: 16px;
  padding: 8px;
}

.download_inner_text_btn {
  width: 50%;
  text-align: center;
  color: #fff;
  padding: 8px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.download_inner_text_area_title {
  font-size: 24px;
  margin-top: 4px;
}

.download_inner_text_btn .annotation {
  text-align: left;
  margin-top: 10px;
}

#flow .download_inner_text_btn .annotation {
  margin: 8px auto 0;
}

.download_inner img {
  width: 30%;
}

.download_inner_text_btn a {
  align-items: center;
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.24);
  border: 4px solid transparent;
  border-radius: 8px;
  background: #fff;
  background-clip: padding-box, border-box;
  color: #000;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  height: 100%;
  justify-content: center;
  line-height: 1;
  margin-top: 16px;
  min-height: 74px;
  padding: 12px 16px;
  position: relative;
  text-align: center;
  width: 50%;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.download_inner_text_btn a:hover {
  opacity: 0.7;
}

.download_inner_text_btn a::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(/new_common/images/icon_external_bk.svg) no-repeat center / contain;
  position: absolute;
  right: 16px;
  top: 38%;
}

#flow .annotation {
  max-width: 1200px;
  margin: 16px auto 0;
}

.plan_menu_btn {
  display: none;
}

/* =========================
  allcard
========================= */
.service_menu {
  background: #E9EAED;
  padding: 72px 16px 60px;
  position: relative;
}

.service_menu h2 {
  font-size: 32px;
  position: relative;
  padding-bottom: 28px;
  margin: 0 0 56px;
  text-align: center;
}

.service_menu h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 8px;
  background: #273F67;
  border-radius: 999px;
  transform: translateX(-50%);
}

.service_menu_list_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  bottom: -32px;
  margin: auto;
  right: 0;
  left: 0;
  padding: 0 16px;
}

.service_menu_list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  max-width: 1200px;
  width: 100%;
}

#carsharing .service_menu_list {
  max-width: 960px;
}

#times .service_menu_list {
  max-width: 710px;
}

.service_menu_list li {
  width: calc((100% - 96px) / 5);
}

#carsharing .service_menu_list li {
  width: calc((100% - 72px) / 4);
}

#times .service_menu_list li {
  width: calc((100% - 48px) / 3);
}

.service_menu_list li a {
  padding: 16px 16px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
  background: #fff;
  height: 100%;
  color: #000;
  font-size: 18px;
  font-weight: 600;
  border-radius: 8px;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  width: 100%;
  min-height: 106px;
}

.service_menu_list li a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: translateX(-50%) rotate(45deg);
}

.service_menu_list li a span {
  padding: 0 24px;
  background: #D9D9D9;
  border-radius: 32px;
  font-size: 16px;
  margin-bottom: 12px;
  font-weight: normal;
}

.service_list_detail > div:nth-child(odd) {
  background: #F7F8F9;
}

.service_list_detail > div:nth-child(even) {
  background: #E9EAED;
}

.service_list_detail > div:first-child {
  padding: 88px 16px 72px;
}

.service_list_detail > div {
  padding: 72px 16px;
}

.service_inner {
  max-width: 1200px;
  margin: auto;
}

.service_inner_title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.service_inner_title img {
  width: 67px;
}

.service_inner_title p {
  font-size: 28px;
  font-weight: bold;
}

.service_inner_title p span {
  font-size: 16px;
  display: block;
  width: fit-content;
  background: #6C6C6C;
  padding: 0 24px;
  border-radius: 32px;
  color: #fff;
  font-weight: normal;
}

.service_inner_detail {
  display: flex;
  flex: 0 0 calc(50% - 12px);
}

.service_inner_flex {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 32px auto 0;
  gap: 24px;
}

.service_inner_textarea_title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 8px;
}

.service_inner_illust {
  background: #FFD300;
  display: flex;
  align-items: center;
  width: 20%;
  padding: 8px;
}

.service_inner_textarea {
  background: #fff;
  padding: 16px;
  width: 80%;
}

.service_inner_textarea .annotation {
  margin-top: 8px;
}

.service_cta {
  max-width: 1200px;
  margin: 72px auto 448px;
  position: relative;
}

#times .service_cta {
  margin: 72px auto 303px;
}

.service_cta h2 {
  font-size: 32px;
  position: relative;
  padding-bottom: 28px;
  margin: 0 0 56px;
  text-align: center;
}

.service_cta h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 8px;
  background: #273F67;
  border-radius: 999px;
  transform: translateX(-50%);
}

/*サポート入会*/
.service_cta_area {
  max-width: 800px;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  top: 112px;
  padding: 0 16px;
}

#carsharing .service_cta_area {
  width: 100%;
  max-width: 1200px;
}

.service_cta_campaign {
  max-width: 464px;
  margin: auto;
}

.service_cta_campaign img {
  width: 100%;
}

.service_cta_area_flex {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-top: 28px;
}

.service_cta_easy {
  border: solid 2px #6279B8;
  border-radius: 8px;
  background: #fff;
  width: calc((100% - 32px) / 2);
}

#times .service_cta_easy {
  width: auto;
  margin: 28px auto 0;
}

.service_cta_support {
  border: solid 2px #273F67;
  border-radius: 8px;
  margin: 28px auto 0;
  background: #fff;
}

#carsharing .service_cta_support {
  margin: 0;
  width: calc((100% - 32px) / 2);
}

.service_cta_easy .service_cta_support_title_box {
  background: #6279B8;
}

.service_cta_support_title_box {
  background: #273F67;
  border-radius: 6px 6px 0 0;
  padding: 28px 16px;
}

.service_cta_support_title_box p {
  color: #fff;
  text-align: center;
}

.service_cta_support_title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 12px;
}

.br_sp_about {
  display: none;
}

.service_cta_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 16px;
}

.service_card_price {
  font-size: 20px;
  font-weight: 600;
}

.service_card_pay {
  width: 100%;
  padding: 16px 16px;
  background: #F7F8F9;
  border-radius: 6px;
  margin-top: 16px;
}

.service_card_pay p span {
  font-weight: 600;
}

.service_cta_btn {
  width: 100%;
}

.service_cta_btn > a {
  border: 4px solid transparent;
  border-radius: 8px;
  background: linear-gradient(to right, #FFD300, #FFBB01) padding-box, linear-gradient(to right, #FFD300, #FFBB01) border-box;
  background-clip: padding-box, border-box;
  width: 100%;
  text-align: center;
  color: #000;
  font-weight: bold;
  line-height: 1.4;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
  margin: 24px auto;
  max-width: 400px;
  min-height: 74px;
  overflow: hidden;
  z-index: 1;
  transition-property: opacity;
  transition-duration: 0.3s;
  flex-direction: column;
}

.service_cta_btn > a:hover {
  opacity: 0.7;
}

.service_cta_support .service_cta_btn > a::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(/about/new_images/icon_external_bk.svg) no-repeat center / contain;
  position: absolute;
  right: 16px;
  top: 38%;
}

.service_cta_easy .service_cta_btn > a::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(/about/new_images/icon_external_bk.svg) no-repeat center / contain;
  position: absolute;
  right: 16px;
  top: 38%;
}

#carsharing .service_cta_easy .service_cta_btn > a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateY(-50%) rotate(45deg);
  background: none;
}

.service_cta_btn > a span {
  display: block;
  font-size: 14px;
}

#carsharing .service_cta .service_cta_btn .annotation,
.service_cta .service_cta_btn .annotation {
  text-align: center;
  margin-top: 16px;
}

.service_cta .service_cta_btn .annotation a {
  color: #000;
  text-decoration: underline;
}

.service_cta .annotation {
  text-align: center;
  margin-top: 16px;
  text-align: left;
}

#carsharing .service_cta {
  margin: 72px auto 456px;
}

#carsharing .service_cta .annotation {
  margin: 14px auto 0;
  text-align: left;
  max-width: 1200px;
}

.service_cta .annotation a {
  color: #000;
  text-decoration: underline;
}

.download_contents {
  background: #F7F8F9;
  padding: 288px 16px 72px;
}

#times .download_contents {
  padding: 312px 16px 72px;
}

.download_contents .download_inner {
  max-width: 980px;
}

.download_contents .download_inner img {
  width: 32%;
}

.fv_lower_inner .carsharing_fv_label {
  background: #273F67;
  color: #fff;
  padding: 6px 20px;
  border-radius: 48px;
  margin-top: 80px;
  width: fit-content;
  line-height: 1;
}

#carsharing .fv_lower_inner h2 {
  margin: 16px 0 0;
}

#times .download_inner_text_btn {
  padding: 24px 0;
}

@media (max-width: 1200px) {
  /* =========================
    TOPページ
  ========================= */
  /*FV*/
  .fv_text h2 {
    font-size: clamp(36px, 5vw, 60px);
  }

  .fv_text p {
    font-size: clamp(14px, 1.6vw, 20px);
    white-space: normal;
  }

  /*法人の移動課題を解決*/
  .solutions_list {
    gap: 24px;
  }

  .solutions_list li {
    width: calc((100% - 72px) / 4);
  }

  /*フッター上部CTA*/
  .last_cta {
    background-position: left 400%, right -60%;
  }
}

@media (max-width: 1171px) {
  #allcard .service_menu {
    padding: 72px 16px 184px;
  }

  #allcard .service_menu_list li {
    width: calc((100% - 72px) / 4);
  }
}

@media (max-width:1122px) {
  /* =========================
    TOPページ
  ========================= */
  .fv {
    padding: 104px 32px 0;
  }

  .fv_inner {
    padding: 32px 0 0;
  }
}

@media (max-width: 1084px) {
  .plan_table_head_detail:nth-child(3) .br_pc {
    display: none;
  }

  .download_contents {
    padding: 324px 16px 72px;
  }
}

@media (max-width: 938px) {
  #allcard .service_menu_list li {
    width: calc((100% - 48px) / 3);
  }
}

@media (max-width: 935px) {
  #carsharing .service_menu_list li {
    width: calc((100% - 48px) / 3);
  }

  #carsharing .service_menu {
    padding: 72px 16px 192px;
  }
}

@media (max-width: 900px) {
  /* =========================
    TOPページ
  ========================= */
  /*コスト削減と業務効率化*/
  .strength_text p {
    text-align: left;
  }

  .strength_service {
    padding: 40px;
  }

  .strength_service a {
    margin: 32px auto 0;
  }

  .strength_service_list {
    gap: 32px;
  }

  .strength_service_list li {
    width: calc((100% - 64px) / 3);
  }

  .strength_service_label {
    padding: 0px 24px;
  }

  .strength_service_name {
    font-size: 22px;
  }

  /*フッター上部CTA*/
  .last_cta {
    background-position: left 200%, right -60%;
  }

  #times .download_inner {
    background-size: 860px auto;
    background-position: right -200px center;
  }
}

@media (max-width:863px) {
  .download_inner {
    gap: 30px;
  }

  .download_inner_text_btn {
    width: 60%;
  }
}

@media (min-width: 768px) {
  .fv_text_button {
    max-width: 608px;
  }
}

/* =========================
  タブレット以下
========================= */
@media (max-width:768px) {
  /* =========================
    TOPページ
  ========================= */
  .fv {
    padding: 104px 16px 0;
  }

  .fv_br_pc {
    display: none;
  }

  .emergency_message_area {
    margin-bottom: 14px;
  }

  .emergency_message {
    padding: 0 16px;
  }

  .emergency_message_view {
    padding: 12px 0 0;
    flex-direction: column;
    align-items: flex-start;
  }

  .emergency_message_title::before {
    content: none;
  }

  .emergency_message_view::after {
    transform: translateY(calc(-50% + 2px)) rotate(45deg);
  }

  .emergency_message.is-open .emergency_message_view::after {
    transform: translateY(calc(-50% + 6px)) rotate(-135deg);
  }

  .emergency_message_title {
    margin-right: 16px;
  }

  .emergency_message_view p {
    font-size: 14px;
  }

  .emergency_message_inner {
    padding: 0 0 12px;
  }

  .emergency_message_inner p {
    margin-top: 12px;
  }

  .fv_inner {
    flex-direction: column;
    padding: 16px 0 0;
  }

  .fv_text_button {
    display: contents;
  }

  .fv_text {
    order: 1;
  }

  .fv_text h2 {
    font-size: 34px;
  }

  .fv_text p {
    font-size: 16px;
  }

  .fv_text img {
    margin-top: 18px;
    max-width: 480px;
    width: 100%;
  }

  .fv_illust {
    order: 2;
    max-width: 400px;
    margin: 16px auto 0;
  }

  .fv_button_annotation {
    order: 3;
    margin-top: 16px;
    padding: 0 8px;
  }

  .fv_button_item:first-child a p {
    font-size: 18px;
  }

  .fv_button_item:last-child a {
    font-size: 18px;
  }

  .fv_br_sp {
    display: block;
  }

  .fv_button_item {
    height: 73px;
  }

  .fv_button_item a {
    height: 100%;
  }

  /*バナーエリア*/
  .banner_area {
    margin-top: 40px;
    padding: 0 24px;
  }

  /*法人の移動課題を解決*/
  .solutions {
    padding: 48px 16px;
    margin-top: 48px;
  }

  .solutions h2 {
    font-size: 28px;
  }

  .solutions_list {
    gap: 16px;
    margin-top: 32px;
  }

  .solutions_list li {
    width: calc((100% - 16px) / 2);
  }

  .solutions_list_detail {
    padding: 20px 16px 16px;
  }

  /*コスト削減と業務効率化*/
  .strength {
    padding: 64px 16px;
  }

  .strength_text h2 {
    font-size: 26px;
  }

  .strength_text p {
    text-align: left;
  }

  .strength_text p.annotation {
    margin-top: 12px;
  }

  .strength_service {
    padding: 40px 32px;
  }

  .strength_service h3 {
    padding-bottom: 16px;
  }

  .strength_service h3::after {
    width: 40px;
    height: 6px;
  }

  .strength_service_list {
    flex-direction: column;
  }

  .strength_service_list li {
    width: 100%;
  }

  .strength_service_label {
    padding: 0px 28px;
  }

  .strength_service_name {
    font-size: 22px;
  }

  /*導入実績*/
  .achievements {
    padding: 56px 16px;
  }

  .achievements_crown img {
    max-height: 78px;
  }

  .achievements_inner p {
    font-size: 20px;
  }

  .achievements_crown {
    gap: 16px;
  }

  .achievements_crown_text p {
    font-size: 24px;
  }

  .achievements_crown_text p span {
    font-size: 44px;
  }

  .achievements_logo {
    overflow: hidden;
    margin-top: 36px;
  }

  .achievements_logo_track {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: logoScroll 14s linear infinite;
  }

  .achievements_logo_list {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    width: 1000px;
  }

  .achievements_logo_list li {
    width: calc((100% - 24px * 7) / 8);
  }

  .achievements_logo_list:last-child {
    display: flex;
  }

  .achievements_inner .annotation {
    margin-top: 20px;
  }

  @keyframes logoScroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }

  /*選ばれる理由*/
  .point {
    padding: 72px 16px;
    border-radius: 0;
  }

  .point_inner h2 {
    font-size: 28px;
    text-align: center;
  }

  .point_list {
    margin-top: 32px;
  }
  
  .point_list_detail {
    flex-direction: column;
    padding-bottom: 32px;
  }

  .point_list_detail:nth-child(2) {
    gap: 16px;
  }

  .point_list_detail:nth-child(4) {
    gap: 24px;
  }

  .point_list_detail:nth-child(even) {
    flex-direction: column-reverse;
  }

  .point_list_detail:nth-child(odd) > div:first-child,
  .point_list_detail:nth-child(even) > div:last-child {
    width: 100%;
  }

  .point_list_detail:nth-child(odd) > div:nth-child(2) {
    width: 100%;
    padding: 0 0 0 16px;
  }

  .point_list_detail:nth-child(even) > div:first-child {
    width: 100%;
    padding: 0 16px 0 0;
  }

  .point_list_detail:nth-child(odd) > div:nth-child(2) img,
  .point_list_detail:nth-child(even) > div:first-child img {
    max-width: 480px;
    margin: auto;
  }

  .point_detail_text {
    padding: 0;
  }

  .point_no {
    font-size: 20px;
  }

  .point_no span {
    font-size: 32px;
    margin-left: 6px;
  }

  .point_list_detail:nth-child(odd) .point_detail_text_inner {
    padding: 0 0 0 16px;
    margin-top: 16px;
  }

  .point_list_detail:nth-child(even) .point_detail_text_inner {
    padding: 0 16px 0 0;
    margin-top: 16px;
  }

  .point_list_detail:nth-child(2) .point_detail_text_inner {
    margin-top: 34px;
  }

  .point_list_detail:nth-child(3) .point_detail_text_inner,
  .point_list_detail:nth-child(4) .point_detail_text_inner {
    margin-top: 32px;
  }

  .point_list_detail:nth-child(1) .point_detail_text_inner .point_title span {
    font-size: 40px;
  }

  .point_list_detail:nth-child(1) .point_detail_text_inner .point_title .point_title_zero {
    font-size: 58px;
  }

  .point_detail_text_inner .point_title {
    text-align: center;
    font-size: 22px;
  }

  .point_detail_text_inner p {
    margin-top: 20px;
  }

  .point_detail_text_inner .point_title span {
    font-size: 28px;
  }

  .point_detail_text_inner p.annotation {
    margin-top: 8px;
  }

  .point_list_detail:nth-child(1) > img {
    width: 100%;
    max-width: 400px;
    margin-top: 14px;
  }

  .point_list_detail .card_campaign_img {
    padding-left: 16px;
    margin-top: 16px;
    max-width: 400px;
  }

  /*新着情報*/
  .news {
    padding: 64px 16px;
  }

  .news_title_area h2 {
    font-size: 28px;
  }

  .news_list_detail a {
    flex-direction: column;
    padding: 16px 52px 16px 20px;
    gap: 6px;
  }

  .news_list_detail a::before {
    right: 24px;
  }

  /*タイムズバナー*/
  .timz_bnr {
    padding: 0px 16px 44px;
  }

  .timz_bnr_inner {
    gap: 14px;
    max-width: 560px;
  }

  .timz_bnr_inner li {
    flex: 0 0 calc((100% - 14px) / 2);
  }

  /*フッター上部CTA*/
  .last_cta {
    background-position: left 150%, right -20%;
    padding: 48px 16px;
  }

  .last_cta_inner h2,
  .last_cta_inner h2 span {
    font-size: 30px;
  }

  .last_cta_botton_area {
    margin-top: 20px;
  }

  .last_cta_botton_area p {
    font-size: 24px;
  }

  .last_cta_botton_flex {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .last_cta_botton_flex li {
    width: 100%;
  }

  .last_cta_botton_flex li a {
    margin: auto;
    max-height: 102px;
  }

  .last_cta_botton_flex li a p {
    font-size: 20px;
    font-weight: 600;
  }

  .last_cta_botton_flex li a p span {
    font-size: 16px;
  }

  /* =========================
    2階層目以降FV
  ========================= */
  .fv_lower_inner {
    margin: 0 auto 40px;
  }

  .fv_lower_inner h2 {
    font-size: 32px;
    margin: 40px 0 0;
  }

  .fv_lower_inner p {
    margin-top: 16px;
  }

  /* =========================
    サービスについて
  ========================= */
  /*サービス一覧*/
  .service_list_inner {
    padding: 48px 16px;
  }

  .service_list_inner h2 {
    font-size: 28px;
    padding-bottom: 18px;
  }

  .service_list_inner h2:after {
    bottom: 0;
    width: 32px;
    height: 5px;
  }

  .service_list_inner_detail {
    margin: 32px auto 0;
    padding: 40px 16px;
    flex-direction: column;
  }

  .service_list_inner_detail li > p {
    margin-top: 20px;
  }

  /*申し込みプラン一覧*/
  .plan_list {
    padding: 56px 16px;
  }

  .plan_list h2 {
    font-size: 28px;
    padding-bottom: 18px;
  }

  .plan_list h2:after {
    bottom: 0;
    width: 32px;
    height: 5px;
  }

  /*テーブル*/
  .plan_table {
    background: #fff;
    border-spacing: 2px;
  }
  
  .plan_table tbody tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 2px;
  }

  .plan_table .label {
    top: -34px;
  }

  .plan_table th {
    padding: 12px 8px;
  }
  
  .plan_table th,
  .plan_table td {
    border: none;
  }

  .plan_table thead th[colspan="2"]{
    display:none;
  }

  .plan_table thead,
  .plan_table tbody {
    display: block;
    width: 100%;
  }

  .plan_table thead tr,
  .plan_table tbody tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 2px;
  }
  
  .plan_table th:not([colspan]),
  .plan_table td:not([colspan]) {
    width:calc((100% - 4px) / 3);
  }
  
  .plan_table tbody td[colspan="2"] {
    width: 100%;
    padding: 8px;
  }
  
  .plan_table tbody td[rowspan] {
    width: 100%;
    padding: 8px;
  }

  .plan_table tbody tr:not(:first-child) td:first-child:not([rowspan]):not([colspan]) {
    padding: 8px;
  }

  .plan_table td img {
    padding: 8px;
  }

  .plan_table tbody tr:nth-last-child(2) td {
    padding: 8px;
  }
  
  /* 時間貸駐車場 */
  .plan_table tbody td[rowspan] + td {
    width: 100%;
    padding: 8px;
  }
  
  /* 予約制駐車場〜レンタカー */
  .plan_table tbody tr td:first-child:not([rowspan]):not([colspan]) {
    width: 100%;
  }

  .plan_table tbody tr:last-child {
    gap: 8px;
    margin-top: 8px;
  }

  .plan_table tbody tr:last-child td:not([colspan]) {
    width: calc((100% - 16px) / 3);
  }

  .plan_table tbody tr:last-child td {
    padding: 2px 2px;
  }

  .plan_table tbody tr:last-child td:nth-child(1) {
    display: none;
  }

  .plan_table tbody tr:last-child td a {
    padding: 12px 4px;
  }

  .plan_table tbody tr:last-child td a::after {
    content: none;
  }

  .plan_list .annotation_area .annotation_no {
    padding-left: 20px;
    margin-top: 6px;
  }

  /* =========================
    入会申込
  ========================= */
  .plan_cta_carshare {
    gap: 12px;
  }

  .plan_cta_carshare a {
    padding: 8px 16px;
    min-height: 66px;
    width: 100%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.18);
  }

  .plan_about {
    padding: 20px 16px 44px;
  }

  .plan_about_inner {
    grid-template-columns: auto;
    gap: 0;
  }

  .easy_plan_recommendation {
    font-size: 22px;
  }

  .plan_about_inner_title {
    padding: 16px;
  }

  .plan_about_inner_title h3 {
    font-size: 22px;
  }

  .plan_about_inner_title p {
    margin-top: 4px;
  }

  .plan_about_inner_features {
    min-height: auto;
    padding: 20px 16px;
  }

  .plan_about_inner_features ul {
    margin-top: 16px;
  }

  .plan_about_inner_features li {
    margin-top: 8px;
  }

  .service_detail div img {
    max-width: 224px;
    width: 80%;
  }

  .service_detail {
    margin-top: 16px;
  }

  .service_detail div {
    gap: 10px;
  }

  .service_subject {
    min-height: auto;
    margin-top: 20px;
  }

  .plan_menu_btn {
    display: flex;
    gap: 12px;
    margin-bottom: 80px;
  }

  .plan_menu_btn a {
    width: 50%;
    align-items: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border: 4px solid transparent;
    border-radius: 8px;
    background: #fff;
    color: #000;
    display: flex;
    flex-direction: column;
    font-weight: bold;
    height: 100%;
    justify-content: center;
    line-height: 1.4;
    padding: 14px 16px;
    position: relative;
    text-align: center;
  }

  .plan_menu_btn a p {
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
  }
  
  .plan_menu_btn a p::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: translateX(-50%) rotate(45deg);
  }

  .plan_about_inner_cta {
    padding: 24px 20px;
  }

  .download_inner {
    flex-direction: column;
    overflow: hidden;
    gap: 0;
    padding: 32px 16px 0;
    background-position: right 0 center;
    background-size: 1180px auto;
  }

  .download_inner_text_btn {
    width: 90%;
  }

  .download_inner_text_area p {
    font-size: 18px;
  }

  .download_inner_text_area .download_inner_text_area_title {
    margin-top: 4px;
    font-size: 24px;
    font-weight: 600;
  }

  #flow .annotation {
    font-size: 14px !important;
    margin: 10px auto 0;
  }

  .download_inner_text_btn a {
    margin-top: 22px;
    width: 90%;
    max-width: 400px;
  }

  .download_inner img {
    width: 80%;
    max-width: 400px;
    margin-top: -24px;
    transform: translateY(40px);
  }

  #flow .annotation.br_sp {
    margin: 16px 0 32px;
  }

  /* =========================
    allcard
  ========================= */
  #allcard .service_menu {
    padding: 40px 16px 280px;
  }

  #carsharing .service_menu,
  #times .service_menu {
    padding: 40px 16px 156px;
  }

  .service_menu h2 {
    font-size: 26px;
    padding-bottom: 18px;
  }

  .service_menu h2:after {
    bottom: 0;
    width: 32px;
    height: 5px;
  }

  .service_menu_list {
    gap: 16px;
  }

  #allcard .service_menu_list li,
  #carsharing .service_menu_list li,
  #times .service_menu_list li {
    width: calc((100% - 16px) / 2);
  }

  .service_menu_list li a {
    min-height: 99px;
    font-size: 16px;
    padding: 14px 16px 28px;
  }

  .service_menu_list li a span {
    font-size: 14px;
    font-weight: 600;
  }

  .service_inner_title p {
    font-size: 22px;
  }

  .service_inner_title p span {
    margin-top: 2px;
  }

  .service_inner_flex {
    flex-direction: column;
  }

  .service_list_detail > div:first-child {
    padding: 80px 16px 48px;
  }

  .service_inner_textarea_title {
    font-size: 18px;
  }

  .service_list_detail > div {
    padding: 46px 16px;
  }

  .service_cta {
    margin: 56px auto 496px;
  }

  #times .service_cta {
    margin: 72px auto 351px;
  }

  .service_cta h2 {
    font-size: 28px;
    padding-bottom: 18px;
    margin: 0 0 16px;
  }

  .service_cta h2:after {
    bottom: 0;
    width: 32px;
    height: 5px;
  }

  .service_cta_area {
    top: 88px;
  }

  .service_cta_campaign {
    width: 80%;
  }

  #allcard .service_cta_support {
    margin: 16px auto 0;
  }

  #times .service_cta_easy {
    margin: 16px auto 0;
  }

  .service_cta_support_title_box {
    padding: 20px 16px;
  }

  .service_cta_support_title {
    font-size: 22px;
    margin-bottom: 8px;
  }

  .service_cta_btn > a {
    font-size: 18px;
    padding: 8px 16px;
    min-height: 66px;
  }

  .service_cta_inner {
    padding: 24px 16px;
  }

  #allcard .download_contents,
  #times .download_contents {
    padding: 200px 16px 48px;
  }

  .service_cta_area_flex {
    flex-direction: column;
    margin-top: 16px;
    gap: 16px;
  }

  #carsharing .service_cta_easy,
  #carsharing .service_cta_support {
    width: 100%;
  }

  #carsharing .download_contents {
    padding: 698px 16px 72px;
  }

  .fv_lower_inner .carsharing_fv_label {
    margin-top: 40px;
  }

  #times .download_inner_text_btn {
    padding: 8px 0;
  }

  #allcard .download_contents .download_inner img,
  #carsharing .download_contents .download_inner img,
  #times .download_contents .download_inner img {
    width: 80%;
    max-width: 320px;
  }

  #times .download_inner {
    background-size: 1170px auto;
    background-position: right 0px center;
  }

  .br_sp_about {
    display: block;
  }
}

@media (max-width:600px) {
  /* =========================
    TOPページ
  ========================= */
  /*FV*/
  .fv_inner {
    padding: 0;
  }

  .fv_button_list {
    flex-direction: column;
    gap: 22px;
  }

  .fv_button_item {
    width: 100%;
  }

  .annotation_text {
    margin-top: 20px;
  }

  /*フッター上部CTA*/
  .last_cta {
    background-position: left 110%, right -20%;
    background-size: min(470px, 56vw) auto, min(420px, 38vw) auto;
  }

  /* =========================
    サービスについて
  ========================= */
  .plan_list h2 {
    margin: 0 0 40px;
  }

  .plan_table .label {
    top: -26px;
    padding: 2px 24px;
    font-size: 12px;
  }

  .plan_table_head_detail div p {
    font-size: 14px;
  }

  .plan_table_head_detail:nth-child(2) .br_pc {
    display: block;
  }

  .plan_table td {
    font-size: 14px;
  }

  .download_inner {
    background-size: 920px auto;
  }

  .download_inner {
    background-position: right 0 center;
    background-size: 900px auto;
  }

  #times .download_inner {
    background-size: 920px auto;
    background-position: right 0px center;
  }
}

@media (max-width: 544px) {
  #times .download_contents {
    padding: 232px 16px 48px;
  }
}

@media (max-width: 532px) {
  #carsharing .service_cta {
    margin: 72px auto 486px;
  }

  #times .download_inner {
    background-size: 810px auto;
    background-position: right 0px center;
  }
}

@media (max-width:495px) {
  /*法人の移動課題を解決*/
  .solutions_list li:nth-child(6) .solutions_br {
    display: none;
  }

  #times .download_inner {
    background-size: 740px auto;
    background-position: right 0px center;
  }
}

@media (max-width:480px) {
  /*法人の移動課題を解決*/
  .solutions_list li:nth-child(8) .solutions_br {
    display: none;
  }

  /*導入実績*/
  .achievements_inner p {
    font-size: 18px;
  }

  .achievements_crown {
    gap: 12px;
  }

  .achievements_crown_text {
    gap: 4px;
  }

  .achievements_crown_text p {
    font-size: 22px;
  }

  .achievements_crown_text p span {
    font-size: 40px;
  }

  /*選ばれる理由*/
  .point_detail_text_inner .point_title span br {
    display: block;
  }

  /* =========================
    サービスについて
  ========================= */
  .plan_table .label {
    padding: 2px 16px;
  }

  .plan_table_head_detail:nth-child(2) .br_pc {
    display: none;
  }

  .plan_table tbody tr:nth-last-child(2) td {
    padding: 8px 0;
  }

  .plan_table td sup {
    top: 6px;
    z-index: 1;
  }

  #times .service_cta {
    margin: 72px auto 390px;
  }

  /* =========================
    allcard
  ========================= */
  .service_menu_list li a {
    padding: 14px 8px 28px;
    min-height: 98px;
  }

  .service_menu_list li a span {
    padding: 0 16px;
    margin-bottom: 8px;
  }

  #allcard .service_menu {
    padding: 40px 16px 266px;
  }

  #allcard .download_contents, #times .download_contents {
    padding: 180px 16px 48px;
  }

  #carsharing .download_contents {
    padding: 680px 16px 72px;
  }
}

@media (max-width:400px) {
  /*法人の移動課題を解決*/
  .solutions_list li:nth-child(1) .solutions_br {
    display: none;
  }

  /*コスト削減と業務効率化*/
  .strength_text_br {
    display: block;
  }

  /*選ばれる理由*/
  .point_inner h2 {
    font-size: 25px;
  }

  /*フッター上部CTA*/
  .last_cta_inner h2, .last_cta_inner h2 span {
    font-size: 26px;
  }

  .last_cta_botton_area {
    margin-top: 18px;
  }

  .last_cta_botton_area p {
    font-size: 22px;
  }

  .last_cta_botton_flex li .wh_label {
    padding: 6px 30px;
    top: -18px;
  }

  /* =========================
    サービスについて
  ========================= */
  .plan_table td {
    font-size: 12px;
  }

  .plan_table td sup {
    top: 6px;
  }

  #times .service_cta {
    margin: 72px auto 406px;
  }

  /* =========================
    allcard
  ========================= */
  .service_menu_list li a {
    padding: 14px 4px 28px;
    font-size: 15px;
    min-height: 94px;
  }

  .service_menu_list li a span {
    margin-bottom: 6px;
  }

  #allcard .service_menu {
    padding: 40px 16px 252px;
  }

  .service_inner_title p {
    font-size: 20px;
  }

  .service_inner_title p span {
    font-size: 14px;
  }

  #allcard .download_contents, #times .download_contents {
    padding: 176px 16px 48px;
  }

  #carsharing .service_menu, #times .service_menu {
    padding: 40px 16px 144px;
  }

  #carsharing .service_cta {
    margin: 72px auto 506px;
  }

  #carsharing .download_contents {
    padding: 655px 16px 72px;
  }

  .download_inner {
    background-position: right -110px center;
    background-size: 760px auto;
  }

  #times .download_inner {
    background-size: 740px auto;
    background-position: right -96px center;
  }

  #times .download_contents {
    padding: 200px 16px 48px;
  }
}