@charset "UTF-8";
/* ========== ========== ==========
共通部
========== ========== ========== */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 130px;
  font-size: calc(1000vw / var(--base-width-pc));
  color: #051412;
}
@media screen and (max-width: 768px) {
  html {
    font-size: 1.6666666667vw;
  }
}

body {
  line-height: 1.2;
  font-family: var(--font-main);
}
body * {
  font-weight: bold;
}

.pageTop {
  padding-top: var(--header-height);
}

#main .sp-show,
#main .sp-show-flex {
  display: none;
}

@media screen and (max-width: 768px) {
  #main .sp-show {
    display: block;
  }
  #main .sp-show-flex {
    display: flex;
  }
  #main .sp-hide {
    display: none;
  }
}
#main .tb-show,
#main .tb-show-flex {
  display: none;
}

@media screen and (max-width: 768px) {
  #main .tb-show {
    display: block;
  }
  #main .tb-show-flex {
    display: flex;
  }
  #main .tb-hide {
    display: none;
  }
}
.inline {
  display: inline;
}

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

@media screen and (max-width: 768px) {
  .inline-block-sp {
    display: inline-block;
  }
}

span {
  font-weight: inherit;
  color: inherit;
}

.bold {
  font-weight: bold;
}

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

.color-main {
  color: var(--color-main);
}

.color-red {
  color: red;
}

.color-orange {
  color: var(--color-orange);
}

.text-28 {
  font-size: 2.8rem;
}

.text-32 {
  font-size: 3.2rem;
}

.text-36 {
  font-size: 3.6rem;
}

.text-48 {
  font-size: 4.8rem;
}

.-hidden {
  visibility: hidden;
  pointer-events: none;
}

.sectionWrap {
  width: 100%;
  padding-inline: 17rem;
}
@media screen and (max-width: 768px) {
  .sectionWrap {
    padding-inline: var(--section-padding-sp);
  }
}

.sectionWrap-left {
  width: 100%;
  padding-left: var(--section-padding-pc-maxWidth);
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sectionWrap-left {
    width: 100%;
    padding-left: var(--section-padding-sp);
  }
}

.sectionWrap-right {
  width: 100%;
  padding-right: var(--section-padding-pc-maxWidth);
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sectionWrap-right {
    width: 100%;
    padding-right: var(--section-padding-sp);
  }
}

.sectionWrap2 {
  width: 100%;
  padding-inline: 17rem;
  padding-inline: var(--section-padding-pc2-maxWidth);
}
@media screen and (max-width: 768px) {
  .sectionWrap2 {
    padding-inline: var(--section-padding-sp);
  }
}

.sectionWrap2-left {
  width: 100%;
  padding-left: var(--section-padding-pc-maxWidth);
  margin-left: auto;
  padding-left: var(--section-padding-pc2-maxWidth);
}
@media screen and (max-width: 768px) {
  .sectionWrap2-left {
    width: 100%;
    padding-left: var(--section-padding-sp);
  }
}

.sectionWrap2-right {
  width: 100%;
  padding-right: var(--section-padding-pc-maxWidth);
  margin-right: auto;
  padding-right: var(--section-padding-pc2-maxWidth);
}
@media screen and (max-width: 768px) {
  .sectionWrap2-right {
    width: 100%;
    padding-right: var(--section-padding-sp);
  }
}

.sectionTitle {
  text-align: center;
}
.sectionTitle_span {
  font-size: 2rem;
}
.sectionTitle_ja {
  font-size: 3.6rem;
  display: block;
}
.sectionTitle_ja.-big {
  font-size: 4.8rem;
}
@media screen and (max-width: 768px) {
  .sectionTitle_ja.-big {
    font-size: 4.6rem;
  }
}
.sectionTitle_ja.-big::before, .sectionTitle_ja.-big::after {
  content: "";
  display: inline-block;
  height: 3.9rem;
  width: 0.32rem;
  background-color: var(--color-main);
  border-radius: 999px;
}
.sectionTitle_ja.-big::before {
  transform: rotate(-31deg);
  margin-right: 1.5rem;
}
.sectionTitle_ja.-big::after {
  transform: rotate(31deg);
  margin-left: 1.5rem;
}
.sectionTitle_ja .text-big {
  font-size: 5.6rem;
}
.sectionTitle_ja .text-small {
  font-size: 4.4rem;
}
.sectionTitle_en {
  color: var(--color-main);
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  display: block;
  margin-top: 0.8rem;
}

.sectionText {
  font-size: 14px;
  line-height: 2.2142857143;
}

:where(.sectionTitle, .sectionText) :where(span) {
  display: inline-block;
}

.header {
  position: fixed;
  z-index: 80;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  background-color: white;
  justify-content: space-between;
  height: var(--header-height);
  padding-inline: 17rem;
  gap: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 768px) {
  .header {
    padding-inline: var(--section-padding-sp);
  }
}
.header_logo {
  height: calc(var(--header-height) / 2);
}
.header_logo_link {
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
}
.header_nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .header_nav {
    display: none;
  }
}
.header_nav_tel {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: clamp(7px, calc(12 / var(--base-width-pc) * 100vw), 12px);
  border: solid 0.1rem var(--color-orange);
  border-radius: 0.4rem;
  padding: 0.5rem 1.6rem;
}
.header_nav_tel p,
.header_nav_tel span,
.header_nav_tel svg {
  transition: color 0.3s;
}
.header_nav_tel:hover p,
.header_nav_tel:hover span,
.header_nav_tel:hover svg {
  color: var(--color-orange);
}
.header_nav_tel_icon {
  color: #C8C8C8;
  width: clamp(18px, calc(32 / var(--base-width-pc) * 100vw), 32px);
  position: relative;
  bottom: clamp(2px, calc(5 / var(--base-width-pc) * 100vw), 5px);
}
.header_nav_tel_text {
  color: var(--color-orange);
  font-size: clamp(16px, calc(32 / var(--base-width-pc) * 100vw), 32px);
  font-family: var(--font-oswald);
  font-weight: 500;
  line-height: 1;
}
.header_nav_tel_text_span {
  display: block;
  font-size: 10px;
  letter-spacing: 0.05em;
  font-family: var(--font-zenKaku);
  text-align: right;
  color: #C8C8C8;
  margin-top: 2px;
}
.header_nav .btn {
  padding-block: clamp(5px, calc(12 / var(--base-width-pc) * 100vw), 12px);
  padding-inline: clamp(20px, calc(40 / var(--base-width-pc) * 100vw), 40px) clamp(30px, calc(60 / var(--base-width-pc) * 100vw), 60px);
}
.header_nav .btn::before {
  width: clamp(4px, calc(8 / var(--base-width-pc) * 100vw), 8px);
  height: clamp(7px, calc(14 / var(--base-width-pc) * 100vw), 14px);
}
.header_nav .btn_link {
  font-size: clamp(14px, calc(18 / var(--base-width-pc) * 100vw), 18px);
}
.header_sp {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .header_sp {
    display: flex;
    align-items: center;
  }
}
.header_sp_hamburger {
  height: calc(var(--header-height));
  width: clamp(40px, calc(50 / var(--base-width-pc) * 100vw), 50px);
  position: relative;
  z-index: 200;
}
@media screen and (max-width: 768px) {
  .header_sp_hamburger {
    width: clamp(30px, calc(50 / var(--base-width-break) * 100vw), 50px);
  }
}
.header_sp_hamburger span {
  display: block;
  height: 3px;
  width: 100%;
  background-color: var(--color-main);
  position: absolute;
  left: 0;
  right: 0;
  transition: all 0.7s;
}
.header_sp_hamburger span:nth-of-type(1) {
  top: clamp(10px, calc(25 / var(--base-width-pc) * 100vw), 25px);
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .header_sp_hamburger span:nth-of-type(1) {
    top: clamp(10px, calc(15 / var(--base-width-break) * 100vw), 15px);
  }
}
.header_sp_hamburger span:nth-of-type(2) {
  top: 50%;
  transform: translate(0, -50%);
}
.header_sp_hamburger span:nth-of-type(3) {
  top: calc(100% - clamp(10px, calc(25 / var(--base-width-pc) * 100vw), 25px));
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .header_sp_hamburger span:nth-of-type(3) {
    top: calc(100% - clamp(10px, calc(15 / var(--base-width-break) * 100vw), 15px));
  }
}
@media screen and (max-width: 1000px) {
  .header_sp_hamburger.-active {
    transform: scale(0.6);
  }
}
@media screen and (max-width: 768px) {
  .header_sp_hamburger.-active {
    transform: none;
  }
}
.header_sp_hamburger.-active span {
  background-color: white;
}
.header_sp_hamburger.-active span:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
}
.header_sp_hamburger.-active span:nth-of-type(2) {
  top: 50%;
  transform: rotate(225deg);
}
.header_sp_hamburger.-active span:nth-of-type(3) {
  top: 50%;
  transform: rotate(-45deg);
}
.header_sp_nav {
  position: fixed;
  inset: 0;
  padding-top: var(--header-height);
  background-color: var(--color-main);
  transform: translateX(100vw);
  transition: all 0.4s;
  visibility: hidden;
  overflow-y: scroll;
  opacity: 0;
  z-index: 100;
}
.header_sp_nav.-active {
  transform: translate(0);
  visibility: visible;
  opacity: 1;
  height: 100lvh;
}
.header_sp_nav .sectionTitle_ja {
  font-size: clamp(20px, calc(36 / var(--base-width-pc) * 100vw), 36px);
  color: white;
}
.header_sp_nav .sectionTitle_en {
  font-size: clamp(14px, calc(16 / var(--base-width-pc) * 100vw), 16px);
  color: white;
}
.header_sp_ul {
  padding-top: 50px;
  max-width: clamp(500px, 700 / var(--base-width-pc) * 100vw, 700px);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 50px 20px;
  padding-left: clamp(20px, calc(80 / var(--base-width-pc) * 100vw), 80px);
  margin-bottom: clamp(30px, calc(60 / var(--base-width-pc) * 100vw), 60px);
}
.header_sp_li {
  width: calc(50% - 20px);
}
.header_sp_li a {
  display: block;
  color: white;
  text-decoration: none;
  text-underline-offset: 7px;
  font-size: clamp(14px, calc(16 / var(--base-width-break) * 100vw), 16px);
}
.header_sp_info {
  max-width: 850px;
  width: 80%;
  padding-inline: 20px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .header_sp_info {
    width: 100%;
  }
}
.header_sp_info_top, .header_sp_info_bottom {
  border: solid 1px white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 4px;
  padding: 20px clamp(10px, calc(60 / var(--base-width-pc) * 100vw), 60px);
}
@media screen and (max-width: 768px) {
  .header_sp_info_top, .header_sp_info_bottom {
    flex-direction: column;
    gap: 10px;
  }
}
.header_sp_info_text1 {
  font-size: clamp(16px, calc(20 / var(--base-width-pc) * 100vw), 20px);
  font-weight: 500;
  font-family: var(--font-zenKaku);
  display: inline-block;
  margin-right: clamp(15px, calc(24 / var(--base-width-break) * 100vw), 24px);
  flex-shrink: 0;
}
.header_sp_info_top {
  color: white;
  margin-bottom: clamp(10px, calc(20 / var(--base-width-break) * 100vw), 20px);
}
.header_sp_info_top_main {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-right: 12px;
}
.header_sp_info_top_icon {
  width: clamp(24px, calc(36 / var(--base-width-break) * 100vw), 36px);
}
.header_sp_info_top_tel {
  text-decoration: none;
  color: white;
  font-size: clamp(30px, calc(50 / var(--base-width-pc) * 100vw), 50px);
  font-family: var(--font-oswald);
  font-weight: 500;
  line-height: 1;
}
.header_sp_info_top_text2 {
  font-size: clamp(14px, calc(16 / var(--base-width-break) * 100vw), 16px);
  letter-spacing: 0.05em;
  font-family: var(--font-zenKaku);
  font-weight: 500;
}
.header_sp_info_bottom {
  color: white;
  margin-bottom: clamp(30px, calc(48 / var(--base-width-break) * 100vw), 48px);
}
.header_sp_info_bottom_main {
  text-decoration: none;
  color: white;
}
@media screen and (max-width: 768px) {
  .header_sp_info_bottom_main {
    text-align: center;
  }
}
.header_sp_info_bottom_logo {
  width: clamp(180px, calc(321 / var(--base-width-break) * 100vw), 321px);
  margin-bottom: 9px;
}
.header_sp_info_bottom_logo_text {
  font-size: clamp(14px, calc(16 / var(--base-width-pc) * 100vw), 16px);
  font-weight: 500;
  font-family: var(--font-notoSans);
}
.header_sp_info_copyRight {
  text-align: center;
  font-size: 13px;
  font-weight: 400;
  font-family: var(--font-notoSans);
  margin-bottom: clamp(50px, calc(100 / var(--base-width-break) * 100vw), 100px);
}

.footer {
  padding-block: 6.4rem 8rem;
}
.footer_body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5.3rem;
  gap: 3rem 1rem;
}
@media screen and (max-width: 768px) {
  .footer_body {
    flex-direction: column;
  }
}
.footer_company_logo {
  width: 32.1rem;
  margin-bottom: 1.6rem;
}
.footer_company_info {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6875;
  display: block;
  margin-bottom: 4rem;
}
.footer_company_link {
  color: var(--color-main);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: none;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.footer_company_link_icon {
  width: 1.6rem;
  aspect-ratio: 1/1;
  color: var(--color-main);
}
.footer_dail {
  border: solid 1px #AAAAAA;
  border-radius: 0.4rem;
  padding: 2.8rem 4rem;
}
.footer_dail_title {
  font-size: 2rem;
  font-family: var(--font-zenKaku);
  margin-bottom: 1.2rem;
  font-weight: 500;
}
.footer_dail_text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.footer_dail_text_icon {
  width: 3.6rem;
  color: var(--color-main);
  margin-right: 1.2rem;
}
.footer_dail_text_texts {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .footer_dail_text_texts {
    flex-direction: column;
  }
}
.footer_dail_text_number {
  font-size: 5.6rem;
  font-weight: 500;
  font-family: var(--font-oswald);
  color: var(--color-orange);
  text-decoration: none;
  margin-right: 1.2rem;
}
.footer_dail_text_day {
  font-size: 1.6rem;
  font-weight: 500;
  font-family: var(--font-zenKaku);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .footer_dail_text_day {
    margin-left: auto;
  }
}
.footer_copyRight {
  text-align: center;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.03em;
}

.btn {
  max-width: 32rem;
  width: 100%;
  display: block;
  margin-inline: auto;
  padding: 1.4rem 1rem 1.5rem;
  border-radius: 4px;
  box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.1);
  position: relative;
  transition: all 0.3s;
  text-align: center;
  background-color: white;
  border: solid 2px var(--color-orange);
}
@media screen and (max-width: 768px) {
  .btn {
    max-width: 320px;
  }
}
.btn:not(.-x)::before {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(10px, calc(16 / var(--base-width-pc) * 100vw), 16px);
  transform: translate(0, -50%);
  display: block;
  width: 0.8rem;
  height: 1.5rem;
  background-color: var(--color-orange);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  transition: all 0.5s;
}
.btn:where(.-x)::before, .btn:where(.-x)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
  -webkit-clip-path: none;
          clip-path: none;
  width: 1.5rem;
  height: 0.2rem;
  display: block;
  background-color: var(--color-orange);
  transition: transform 0.6s, background-color 0.3s;
}
.btn:where(.-x)::after {
  transform: translate(0, -50%) rotate(270deg);
  transition-delay: 0.3s, 0s;
}
.btn:where(.-x):where(.-open)::after {
  transform: translate(0, -50%) rotate(0deg);
}
.btn:is(.-reverse) {
  background-color: var(--color-orange);
  border: solid 0.2rem white;
}
.btn:is(.-reverse)::before, .btn:is(.-reverse)::after {
  background-color: white;
}
.btn:hover {
  background-color: var(--color-orange);
  transform: scale(1.05);
  cursor: pointer;
}
.btn:hover::before, .btn:hover::after {
  background-color: white;
}
.btn:hover:not(.-x)::before, .btn:hover:not(.-x)::after {
  transform: translate(5px, -50%) rotate(360deg);
}
.btn:hover:is(.-reverse) {
  background-color: white;
  border: solid 0.2rem var(--color-orange);
}
.btn:hover:is(.-reverse)::before {
  background-color: var(--color-orange);
}
.btn:hover .btn_link {
  color: white;
}
.btn:hover .btn_link:is(.-reverse *) {
  color: var(--color-orange);
}
.btn_link {
  text-decoration: none;
  color: var(--color-orange);
  font-size: 2rem;
  transition: all 0.3s;
}
.btn_link:is(.-reverse *) {
  color: white;
}

.fukidashi {
  display: flex;
  justify-content: center;
}
.fukidashi_inner {
  border: solid 0.2rem var(--color-main);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  background-color: white;
}
.fukidashi_icon {
  position: absolute;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  width: 2rem;
  height: 1.1rem;
  top: 0;
  right: 2.7rem;
  transform: translate(0, -30%);
  color: var(--color-main);
}
.fukidashi_text {
  font-size: 2rem;
  padding: 1.3rem 3rem;
}
.fukidashi_tail {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(0, 100%);
  width: 3rem;
  height: 1.5rem;
  background-color: var(--color-main);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.fukidashi_tail::before {
  content: "";
  position: absolute;
  inset: 0;
  right: 0.2rem;
  transform: translate(0, -0.3rem);
  background-color: white;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%);
}

/* ----- スライダー ----- */
.slick-track {
  display: flex !important;
}

.slick-list {
  overflow: hidden;
}

.slick-slide {
  height: auto !important;
}

* {
  min-width: 0;
  min-height: 0;
}

.slick-dots {
  bottom: -6.5rem !important;
}

.slick-dots li button:before {
  font-size: 15px !important;
}
@media screen and (max-width: 768px) {
  .slick-dots li button:before {
    font-size: 1.5rem !important;
  }
}

.slick-dots li.slick-active button:before {
  color: #5e5e5e !important;
}

.slider_arrow {
  background-color: var(--color-main);
  width: 5.2rem;
  aspect-ratio: 1/1;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 0.2rem var(--color-main);
  transition: all 0.3s;
}
.slider_arrow::after {
  content: "";
  display: block;
  width: 1.2rem;
  aspect-ratio: 1/1;
  border-right: solid 0.2rem white;
  border-bottom: solid 0.2rem white;
  transition: all 0.3s;
}
.slider_arrow.-prev::after {
  transform: translate(0.2rem, 0) rotate(135deg);
}
.slider_arrow.-next::after {
  transform: translate(-0.2rem, 0) rotate(-45deg);
}
.slider_arrow:hover {
  background-color: white;
}
.slider_arrow:hover::after {
  border-color: var(--color-main);
}
.slider_arrow:hover:where(.-prev)::after {
  transform: translate(0.2rem, 0) rotate(495deg);
}
.slider_arrow:hover:where(.-next)::after {
  transform: translate(-0.2rem, 0) rotate(-405deg);
}

/* 共通部ここまで
---------- ---------- */
/* ========== ========== ==========
アニメーション
========== ========== ========== */
/* ----- ホバー ----- */
@media screen and (min-width: 768px) {
  .css-hover {
    transition: all 0.3s;
  }
  .css-hover:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
/* ----- ズーム付のホバー ----- */
@media screen and (min-width: 768px) {
  .css-hover-zoom {
    transition: all 0.5s;
  }
  .css-hover-zoom:hover {
    transform: scale(1.08);
  }
}
/* ----- 遅延 ----- */
.css-delay05 {
  /* 0.5秒遅らせる */
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
}

.css-delay1 {
  /* 1秒遅らせる */
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
}

.css-delay2 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
}

.css-delay3 {
  -webkit-animation-delay: 3s !important;
          animation-delay: 3s !important;
}

.css-delay4 {
  -webkit-animation-delay: 4s !important;
          animation-delay: 4s !important;
}

.css-delay5 {
  -webkit-animation-delay: 5s !important;
          animation-delay: 5s !important;
}

/* ----- フェードイン ----- */
.js-fadeIn {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 0.4s;
}

.js-fadeIn.-active {
  opacity: 1;
  transform: translate(0, 0);
}

/* ----- ぼかしが消えながらフェードイン ----- */
.js-fadeIn-blurry {
  overflow: hidden;
}
.js-fadeIn-blurry:not(:has(.animation)), .js-fadeIn-blurry .animation {
  opacity: 0;
  transition: all 0.6s;
  filter: blur(100px);
}

.js-fadeIn-blurry.-active:not(:has(.animation)), .js-fadeIn-blurry.-active .animation {
  opacity: 1;
  -webkit-animation: animation-blurry 0.6s ease-in forwards;
          animation: animation-blurry 0.6s ease-in forwards;
}

@-webkit-keyframes animation-blurry {
  0% {
    filter: blur(5px);
    transform: scale(1.02);
  }
  100% {
    filter: blur(0);
    transform: scale(1);
  }
}

@keyframes animation-blurry {
  0% {
    filter: blur(5px);
    transform: scale(1.02);
  }
  100% {
    filter: blur(0);
    transform: scale(1);
  }
}
/* ----- 左から徐々に見えるようになるフェードイン ----- */
.js-fadeIn-fromLeft {
  opacity: 0;
}

.js-fadeIn-fromLeft.-active {
  -webkit-animation: js-fadeIn-fromLeft 0.6s ease-out forwards;
          animation: js-fadeIn-fromLeft 0.6s ease-out forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@-webkit-keyframes js-fadeIn-fromLeft {
  0% {
    -webkit-clip-path: inset(-100% 100% -100% 0);
            clip-path: inset(-100% 100% -100% 0);
    opacity: 0;
  }
  100% {
    -webkit-clip-path: inset(-100% 0 -100% 0);
            clip-path: inset(-100% 0 -100% 0);
    opacity: 1;
  }
}

@keyframes js-fadeIn-fromLeft {
  0% {
    -webkit-clip-path: inset(-100% 100% -100% 0);
            clip-path: inset(-100% 100% -100% 0);
    opacity: 0;
  }
  100% {
    -webkit-clip-path: inset(-100% 0 -100% 0);
            clip-path: inset(-100% 0 -100% 0);
    opacity: 1;
  }
}
/* ----- 右から徐々に見えるようになるフェードイン ----- */
.js-fadeIn-fromRight {
  opacity: 0;
}

.js-fadeIn-fromRight.-active {
  -webkit-animation: js-fadeIn-fromRight 0.6s ease-out forwards;
          animation: js-fadeIn-fromRight 0.6s ease-out forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@-webkit-keyframes js-fadeIn-fromRight {
  0% {
    -webkit-clip-path: inset(-100% 0 -100% 100%);
            clip-path: inset(-100% 0 -100% 100%);
    /* 左100%カット → 右から徐々に見える */
    opacity: 0;
  }
  100% {
    -webkit-clip-path: inset(-100% 0 -100% 0);
            clip-path: inset(-100% 0 -100% 0);
    /* 全表示 */
    opacity: 1;
  }
}

@keyframes js-fadeIn-fromRight {
  0% {
    -webkit-clip-path: inset(-100% 0 -100% 100%);
            clip-path: inset(-100% 0 -100% 100%);
    /* 左100%カット → 右から徐々に見える */
    opacity: 0;
  }
  100% {
    -webkit-clip-path: inset(-100% 0 -100% 0);
            clip-path: inset(-100% 0 -100% 0);
    /* 全表示 */
    opacity: 1;
  }
}
/* ----- テキストアニメーション ----- */
.js-textAnimation.-active span {
  display: inline-block;
  opacity: 0;
  transform: translate(-150px, 0) scale(0.3);
  -webkit-animation: leftRight 0.5s forwards;
          animation: leftRight 0.5s forwards;
}

.js-textAnimation.-active span:nth-of-type(2) {
  -webkit-animation-delay: 0.05s;
          animation-delay: 0.05s;
}

.js-textAnimation.-active span:nth-of-type(3) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.js-textAnimation.-active span:nth-of-type(4) {
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
}

.js-textAnimation.-active span:nth-of-type(5) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.js-textAnimation.-active span:nth-of-type(6) {
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
}

.js-textAnimation.-active span:nth-of-type(7) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.js-textAnimation.-active span:nth-of-type(8) {
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}

.js-textAnimation.-active span:nth-of-type(9) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.js-textAnimation.-active span:nth-of-type(10) {
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}

.js-textAnimation.-active span:nth-of-type(11) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.js-textAnimation.-active span:nth-of-type(12) {
  -webkit-animation-delay: 0.55s;
          animation-delay: 0.55s;
}

.js-textAnimation.-active span:nth-of-type(13) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.js-textAnimation.-active span:nth-of-type(14) {
  -webkit-animation-delay: 0.65s;
          animation-delay: 0.65s;
}

.js-textAnimation.-active span:nth-of-type(15) {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

.js-textAnimation.-active span:nth-of-type(16) {
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
}

.js-textAnimation.-active span:nth-of-type(17) {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.js-textAnimation.-active span:nth-of-type(18) {
  -webkit-animation-delay: 0.85s;
          animation-delay: 0.85s;
}

.js-textAnimation.-active span:nth-of-type(19) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}

.js-textAnimation.-active span:nth-of-type(20) {
  -webkit-animation-delay: 0.95s;
          animation-delay: 0.95s;
}

.js-textAnimation.-active span:nth-of-type(21) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.js-textAnimation.-active span:nth-of-type(22) {
  -webkit-animation-delay: 1.05s;
          animation-delay: 1.05s;
}

.js-textAnimation.-active span:nth-of-type(23) {
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}

.js-textAnimation.-active span:nth-of-type(24) {
  -webkit-animation-delay: 1.15s;
          animation-delay: 1.15s;
}

.js-textAnimation.-active span:nth-of-type(25) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.js-textAnimation.-active span:nth-of-type(26) {
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
}

.js-textAnimation.-active span:nth-of-type(27) {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}

.js-textAnimation.-active span:nth-of-type(28) {
  -webkit-animation-delay: 1.35s;
          animation-delay: 1.35s;
}

.js-textAnimation.-active span:nth-of-type(29) {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}

.js-textAnimation.-active span:nth-of-type(30) {
  -webkit-animation-delay: 1.45s;
          animation-delay: 1.45s;
}

.js-textAnimation.-active span:nth-of-type(31) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.js-textAnimation.-active span:nth-of-type(32) {
  -webkit-animation-delay: 1.55s;
          animation-delay: 1.55s;
}

.js-textAnimation.-active span:nth-of-type(33) {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.js-textAnimation.-active span:nth-of-type(34) {
  -webkit-animation-delay: 1.65s;
          animation-delay: 1.65s;
}

.js-textAnimation.-active span:nth-of-type(35) {
  -webkit-animation-delay: 1.7s;
          animation-delay: 1.7s;
}

.js-textAnimation.-active span:nth-of-type(36) {
  -webkit-animation-delay: 1.75s;
          animation-delay: 1.75s;
}

.js-textAnimation.-active span:nth-of-type(37) {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

.js-textAnimation.-active span:nth-of-type(38) {
  -webkit-animation-delay: 1.85s;
          animation-delay: 1.85s;
}

.js-textAnimation.-active span:nth-of-type(39) {
  -webkit-animation-delay: 1.9s;
          animation-delay: 1.9s;
}

.js-textAnimation.-active span:nth-of-type(40) {
  -webkit-animation-delay: 1.95s;
          animation-delay: 1.95s;
}

@-webkit-keyframes leftRight {
  40% {
    transform: translate(50px, 0) scale(0.7);
    opacity: 1;
    color: #0f40ba;
  }
  60% {
    color: #348c04;
  }
  80% {
    transform: translate(0) scale(2);
    opacity: 0;
  }
  100% {
    transform: translate(0) scale(1);
    opacity: 1;
  }
}

@keyframes leftRight {
  40% {
    transform: translate(50px, 0) scale(0.7);
    opacity: 1;
    color: #0f40ba;
  }
  60% {
    color: #348c04;
  }
  80% {
    transform: translate(0) scale(2);
    opacity: 0;
  }
  100% {
    transform: translate(0) scale(1);
    opacity: 1;
  }
}
/* ----- ul配下のliを順番にフェードイン（stagger） ----- */
.js-fadeIn-stagger > li {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 0.4s;
}

.js-fadeIn-stagger > li.is-no-stagger {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
  transition: none !important;
  transition-delay: 0s !important;
}

/* ulに -active が付いたら、配下のliを表示 */
.js-fadeIn-stagger.-active > li {
  opacity: 1;
  transform: translate(0, 0);
}

/* liを0.3sずつ遅延させて順番に出す */
.js-fadeIn-stagger.-active > li:nth-child(1) {
  transition-delay: 0s;
}

.js-fadeIn-stagger.-active > li:nth-child(2) {
  transition-delay: 0.3s;
}

.js-fadeIn-stagger.-active > li:nth-child(3) {
  transition-delay: 0.6s;
}

.js-fadeIn-stagger.-active > li:nth-child(4) {
  transition-delay: 0.9s;
}

.js-fadeIn-stagger.-active > li:nth-child(5) {
  transition-delay: 1.2s;
}

.js-fadeIn-stagger.-active > li:nth-child(6) {
  transition-delay: 1.5s;
}

.js-fadeIn-stagger.-active > li:nth-child(7) {
  transition-delay: 1.8s;
}

.js-fadeIn-stagger.-active > li:nth-child(8) {
  transition-delay: 2.1s;
}

.js-fadeIn-stagger.-active > li:nth-child(9) {
  transition-delay: 2.4s;
}

.js-fadeIn-stagger.-active > li:nth-child(10) {
  transition-delay: 2.7s;
}

/* アニメーション
---------- ---------- */
/* ========== ========== ==========
個別部
========== ========== ========== */
.FV {
  margin-bottom: 5.3rem;
  position: relative;
  font-size: calc(1000vw / var(--base-width-pc));
}
.FV_image {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .FV_ctas .btn {
    padding: 2.5rem 5rem !important;
  }
}
@media screen and (max-width: 768px) {
  .FV_ctas .btn_link {
    font-size: 3rem;
  }
}
.FV_cta {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.6em;
  bottom: 6.6em;
  left: 0;
  right: 0;
}
.FV_cta .btn {
  max-width: initial;
  padding: 2em 7.5em;
}
@media screen and (max-width: 768px) {
  .FV_cta .btns {
    width: 100%;
  }
}
.FV_cta .btn::before {
  width: 0.8em;
  height: 1.5em;
  right: 1.6em;
}
.FV_cta .btn_link {
  font-size: 2em;
}
.FV_cta_tel {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 1.2em;
  border: solid 0.1em var(--color-orange);
  border-radius: 4px;
  padding: 0.5em 1.6em;
}
@media screen and (max-width: 768px) {
  .FV_cta_tel {
    padding-block: 1.5rem;
  }
}
.FV_cta_tel p,
.FV_cta_tel span,
.FV_cta_tel svg {
  transition: color 0.3s;
}
.FV_cta_tel:hover p,
.FV_cta_tel:hover span,
.FV_cta_tel:hover svg {
  color: var(--color-orange);
}
.FV_cta_tel_icon {
  color: #C8C8C8;
  width: 3.6em;
  position: relative;
  top: 0.3em;
}
@media screen and (max-width: 768px) {
  .FV_cta_tel_icon {
    top: -0.5rem;
    left: -1rem;
    width: 5rem !important;
  }
}
.FV_cta_tel_text {
  color: var(--color-orange);
  font-size: 4em;
  font-family: var(--font-oswald);
  font-weight: 500;
  display: flex;
  align-items: center;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .FV_cta_tel_text {
    flex-direction: column;
    font-size: 4.3rem;
  }
}
.FV_cta_tel_text_span {
  display: block;
  font-size: 0.25em;
  letter-spacing: 0.05em;
  font-family: var(--font-zenKaku);
  text-align: right;
  color: #C8C8C8;
  position: relative;
  top: 0.3em;
}

.resolution {
  text-align: center;
  margin-bottom: 4rem;
}
.resolution_text {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  margin-bottom: 2.4rem;
}
.resolution_text_dot {
  position: relative;
}
.resolution_text_dot::before {
  content: "・";
  line-height: 1;
  font-size: 2.2rem;
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translate(-50%, 0);
}
.resolution_text .color-orange {
  font-size: 3.2rem;
}
.resolution_text .text-big {
  font-size: 3.6rem;
}

.worries {
  margin-bottom: 4rem;
}
.worries_image {
  width: 100%;
}

.merit {
  margin-bottom: 12rem;
  position: relative;
}
.merit .sectionTitle {
  margin-bottom: 3.2rem;
}
.merit_upper {
  display: flex;
  gap: 4rem 3rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .merit_upper {
    flex-direction: column;
  }
}
.merit_list {
  background-color: #F5F5F5;
  border-radius: 0.8rem;
}
.merit_list:where(.-n01, .-n02) {
  width: calc((100% - 3rem) / 2);
}
@media screen and (max-width: 768px) {
  .merit_list {
    width: 100%;
  }
}
.merit_list_title {
  background-color: var(--color-main);
  font-size: 2.8rem;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1.6rem;
  border-radius: 0.8rem 0.8rem 0 0;
  padding: 1rem 2rem;
}
@media screen and (max-width: 768px) {
  .merit_list_title {
    font-size: 2rem;
  }
}
.merit_list_title_number {
  font-size: 3.6rem;
  font-family: var(--font-josefin);
  position: relative;
  top: 0.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .merit_list_title_number {
    top: 0.2rem;
    font-size: 2.6rem;
  }
}
.merit_list_body {
  padding: 4rem;
}
.merit_list_flex {
  display: flex;
  align-items: center;
}
.merit_list_flex:not(:last-of-type) {
  margin-bottom: 4.8rem;
}
.merit_list_subtitle {
  font-size: 2.4rem;
  color: var(--color-main);
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
.merit_list_subtitle::before {
  content: "";
  width: 1.2rem;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: 999rem;
}
@media screen and (max-width: 768px) {
  .merit_list_subtitle {
    font-size: 2.1rem;
  }
}
.merit_list_texts:where(.-n03 *) {
  margin-bottom: 4.4rem;
}
@media screen and (max-width: 768px) {
  .merit_list_texts:where(.-n03 *) {
    margin-bottom: 7rem;
  }
}
.merit_list_text {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5555555556;
}
.merit_list_text:where(.-n02 *) {
  margin-bottom: 2.2rem;
}
.merit_list_text:where(.-n03 *) {
  margin-bottom: 1.6rem;
}
.merit_list_image:where(.-n01-01) {
  width: 9.3rem;
  flex-shrink: 0;
  margin-left: 4.2rem;
}
.merit_list_image:where(.-n01-02) {
  width: 15.2rem;
  flex-shrink: 0;
  margin-right: 1rem;
}
.merit_list_image:where(.-n02-01) {
  width: 40.6rem;
  display: block;
  margin-inline: auto;
}
.merit_list_example {
  background-color: white;
  padding: 5.6rem 4rem 4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .merit_list_example {
    padding-top: 8rem;
    padding-inline: 2rem;
  }
}
.merit_list_example .fukidashi {
  position: absolute;
  top: 0;
  left: 5rem;
  right: 5rem;
  transform: translate(0, -50%);
}
.merit_list_example_block {
  width: calc((100% - 5.1rem) / 2);
  position: relative;
}
.merit_list_example_blocks {
  display: flex;
  margin-bottom: 2rem;
}
.merit_list_example_blocks:has(.-before) {
  gap: 10rem 5.1rem;
}
@media screen and (max-width: 768px) {
  .merit_list_example_blocks {
    flex-direction: column;
  }
}
.merit_list_example_blocks::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 13rem;
  transform: translate(-50%, 0);
  display: block;
  width: 1.7rem;
  height: 2.6rem;
  background-color: var(--color-main);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 768px) {
  .merit_list_example_blocks::after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .merit_list_example_block {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .merit_list_example_block:first-of-type::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 5rem) rotate(90deg);
    display: block;
    width: 1.7rem;
    height: 2.6rem;
    background-color: var(--color-main);
    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
            clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
}
.merit_list_example_block_inner {
  display: flex;
  justify-content: center;
  border-radius: 0.8rem;
  margin-bottom: 0.5rem;
  padding: 3.5rem 2.6rem 1.9rem;
  min-height: 16.5rem;
}
@media screen and (max-width: 768px) {
  .merit_list_example_block_inner {
    padding-inline: 1rem;
    min-height: initial;
  }
}
.merit_list_example_block_inner:where(.-before *) {
  gap: 0 5.4rem;
  background-color: #F5F5F5;
}
.merit_list_example_block_inner:where(.-after *) {
  gap: 0 7.7rem;
  border: solid 0.2rem var(--color-main);
  padding-right: 8rem;
}
.merit_list_example_block_title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  border: solid 0.3rem white;
  border-radius: 99rem;
  font-size: 1.8rem;
  padding: 0.3rem 2rem 0.6rem;
}
.merit_list_example_block_title:where(.-before *) {
  background-color: #F5F5F5;
}
.merit_list_example_block_title:where(.-after *) {
  background-color: var(--color-main);
  color: white;
}
.merit_list_example_block_car {
  text-align: center;
  display: flex;
  flex-direction: column;
}
.merit_list_example_block_car_number {
  font-size: 1.2em;
  font-weight: 500;
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .merit_list_example_block_car_number {
    font-size: 1.6rem;
  }
}
.merit_list_example_block_car_image {
  text-align: center;
  -o-object-fit: contain;
     object-fit: contain;
}
.merit_list_example_block_car_imageWrap {
  position: relative;
}
.merit_list_example_block_car_image:where(.-before *):where(.-car1 *) {
  margin-bottom: 0.5rem;
  width: 11.6rem;
}
.merit_list_example_block_car_image:where(.-before *):where(.-car2 *) {
  margin-top: 0.6rem;
  margin-bottom: 0.4rem;
  width: 12rem;
}
.merit_list_example_block_car_image:where(.-after *):where(.-car1 *) {
  margin-bottom: 0.5rem;
  width: 9.5rem;
}
.merit_list_example_block_car_image:where(.-after *):where(.-car2 *) {
  margin-top: 0.6rem;
  margin-bottom: 0.4rem;
  width: 9.8rem;
}
.merit_list_example_block_car_image_icon {
  width: 8rem;
  -o-object-fit: contain;
     object-fit: contain;
  color: var(--color-main);
}
.merit_list_example_block_car_image_iconWrap {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(76%, -42%);
}
.merit_list_example_block_car_image_icon_text {
  font-size: 1.2rem;
  color: white;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 1rem;
  margin-bottom: 0.5rem;
}
.merit_list_example_block_car_image_icon_textWrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.merit_list_example_block_car_image_icon_text .color-yellow {
  font-size: 1.4rem;
  color: #FFEE05;
  margin-top: 0.5rem;
  display: block;
}
.merit_list_example_block_car_image_icon_text .color-yellow .text-small {
  font-size: 0.8rem;
}
.merit_list_example_block_car_cost {
  font-size: 1.4rem;
  white-space: nowrap;
}
.merit_list_example_block_car_cost .text-big {
  font-size: 2rem;
  font-family: var(--font-notoSans);
}
.merit_list_example_block_summary {
  text-align: center;
  font-size: 2rem;
}
.merit_list_example_block_summary .text-big {
  font-size: 2.8rem;
}
.merit_list_example_block_summary:where(.-after *) {
  color: var(--color-main);
}
.merit_list_example_total {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.merit_list_example_total::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2.5rem;
  background-color: var(--color-main);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  margin-right: 1.2rem;
  margin-top: 0.5rem;
}
.merit_list_example_total_text1 {
  font-size: 3.8rem;
}
.merit_list_example_total_text2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.3rem;
}
@media screen and (max-width: 768px) {
  .merit_list_example_total_text2 {
    justify-content: center;
  }
}
.merit_list_example_total_text2_span1_text {
  font-family: var(--font-oswald);
  font-size: 5.2rem;
  font-weight: 600;
  color: #EF351C;
}
.merit_list_example_total_text2_span1 .text-small {
  font-size: 3.2rem;
  font-weight: 500;
  position: relative;
  bottom: 0.7rem;
}
.merit_list_example_total_text2_span2 {
  font-size: 2rem;
  font-weight: 500;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .merit_list_example_total_text2_span2 {
    margin-top: 0;
  }
}
.merit_slider {
  position: absolute;
  z-index: -1;
  bottom: -9.5rem;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.merit_slider_text {
  display: inline-block;
  white-space: nowrap;
  will-change: transform;
  -webkit-animation: merit-marquee 120s linear infinite;
          animation: merit-marquee 120s linear infinite;
  color: var(--color-main);
  opacity: 0.15;
  font-size: 20rem;
  font-weight: 500;
  font-family: var(--font-bayon);
  line-height: 1;
}
.merit_slider_text::after {
  content: "POWER CARGO POWER CARGO POWER CARGO POWER CARGO POWER CARGO ";
}

@-webkit-keyframes merit-marquee {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes merit-marquee {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
.plan {
  margin-bottom: 6rem;
}
.plan .sectionTitle {
  margin-bottom: 5.4rem;
}
.plan_ul {
  display: flex;
  gap: 7rem 3.6rem;
}
@media screen and (max-width: 768px) {
  .plan_ul {
    flex-direction: column;
  }
}
.plan_li {
  position: relative;
  padding: 3.2rem 1.2rem 4rem;
  border: solid 0.2rem #AAAAAA;
  border-radius: 0.8rem;
  width: calc((100% - 3.6rem) / 3);
}
@media screen and (max-width: 768px) {
  .plan_li {
    width: 100%;
  }
}
.plan_li_fukidashi {
  position: absolute;
  top: -2.8rem;
  left: -3.5rem;
}
@media screen and (max-width: 768px) {
  .plan_li_fukidashi {
    top: -5rem;
    left: -2rem;
  }
}
.plan_li_fukidashi_image {
  width: 9rem;
  aspect-ratio: 90/84;
  color: var(--color-main);
}
.plan_li_fukidashi_text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 0.3rem;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  color: var(--color-main);
  white-space: nowrap;
}
.plan_li_title {
  text-align: center;
  font-size: 2.8rem;
  color: var(--color-main);
  margin-bottom: 0.8rem;
}
.plan_li_text {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 0.8rem;
  line-height: 1.5555555556;
}

.simulation {
  margin-bottom: 6rem;
}
.simulation .sectionTitle {
  margin-bottom: 5.4rem;
}
.simulation_body {
  border: solid 0.2rem #AAAAAA;
  border-radius: 0.8rem;
  padding: 2.8rem 6.4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .simulation_body {
    padding-top: 7rem;
  }
}
.simulation_body > .fukidashi {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: translate(0, -50%);
  justify-content: flex-start;
  margin-inline: 5.6rem;
}
.simulation_content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .simulation_content {
    flex-direction: column;
  }
}
.simulation_dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: 48rem;
  width: 100%;
  flex-shrink: 0;
  gap: 1.6rem;
}
.simulation_dt_text {
  width: 10.9rem;
  height: 2.6rem;
  display: block;
  color: white;
  background-color: #9B9B9B;
  font-size: 1.4rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}
.simulation_dd {
  width: calc(100% - 10.9rem - 1.6rem);
  font-size: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.simulation_dd .color-red {
  font-size: 4.4rem;
  font-weight: 600;
  font-family: var(--font-oswald);
  color: #EF351C;
  margin-right: 0.8rem;
}
.simulation_dd .text-small {
  font-size: 1.6rem;
}
.simulation_image {
  width: 35.6rem;
}
.simulation_imageWrap {
  min-height: 19rem;
}
@media screen and (max-width: 768px) {
  .simulation_imageWrap {
    min-height: initial;
  }
}
.simulation_bottom {
  font-size: 2.8rem;
  padding-left: 3.5rem;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.simulation_bottom::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  display: inline-block;
  margin-right: 1rem;
  width: 2rem;
  height: 2.5rem;
  background-color: var(--color-main);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.maintenance {
  margin-bottom: 6rem;
}
.maintenance .sectionTitle {
  margin-bottom: 4rem;
}
.maintenance_body {
  border: solid 0.2rem #AAAAAA;
  border-radius: 0.8rem;
  padding: 4rem 4.8rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .maintenance_body {
    padding: 3rem;
  }
}
.maintenance_subtitle {
  font-size: 2.4rem;
  color: var(--color-main);
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
.maintenance_subtitle::before {
  content: "";
  width: 1.2rem;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: 999rem;
}
@media screen and (max-width: 768px) {
  .maintenance_subtitle {
    font-size: 2.1rem;
  }
}
.maintenance_texts {
  margin-bottom: 2rem;
}
.maintenance_text {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5555555556;
}
.maintenance_ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 3.5rem;
  margin-bottom: 4rem;
}
.maintenance_li {
  width: calc((100% - 3.5rem) / 2);
  padding: 0.7rem 1.5rem;
  border: solid 0.2rem var(--color-main);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .maintenance_li {
    width: 100%;
    justify-content: flex-start;
  }
}
.maintenance_li_image {
  width: 3.6rem;
  aspect-ratio: 1/1;
}
.maintenance_li_text {
  font-size: 2.2rem;
}
.maintenance_bottom {
  font-size: 2.8rem;
  padding-left: 3.5rem;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.maintenance_bottom::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  display: inline-block;
  margin-right: 1rem;
  width: 2rem;
  height: 2.5rem;
  background-color: var(--color-main);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.lineUp {
  padding-block: 6rem 11.2rem;
  background-color: var(--color-gray);
  margin-bottom: 6rem;
}
.lineUp .sectionTitle {
  margin-bottom: 5.4rem;
}
.lineUp_slider_ul {
  margin-bottom: 100px;
  margin-inline: 10rem;
}
.lineUp_slider_ulWrap {
  position: relative;
}
.lineUp_slider_li {
  background-color: white;
  padding: 2.4rem 2rem 2rem;
  margin: 0 1.5rem;
  position: relative;
  transition: all 0.3s;
}
.lineUp_slider_li:has(a:hover) img {
  transform: scale(1.1);
}
.lineUp_slider_li_inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.lineUp_slider_tag {
  display: block;
  font-size: 1.2rem;
  padding: 0.4rem 0.8rem;
  line-height: 1;
}
.lineUp_slider_tags {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  color: white;
}
.lineUp_slider_tag.-old-lease {
  background-color: #EF351C;
}
.lineUp_slider_tag.-old-sell {
  background-color: #2D9EDA;
}
.lineUp_slider_tag.-new-lease {
  background-color: #00A5AD;
}
.lineUp_slider_tag.-new {
  background-color: #2D9EDA;
}
.lineUp_slider_tag.-old {
  background-color: #EF351C;
}
.lineUp_slider_images {
  display: flex;
  margin-bottom: 0.6rem;
  width: 100%;
  margin-top: auto;
}
.lineUp_slider_images img {
  width: 100%;
  max-width: 100%;
  transition: all 0.3s;
}
.lineUp_slider_model {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}
.lineUp_slider_model_maker {
  font-size: 1.4rem;
  display: block;
}
.lineUp_slider_price {
  text-align: center;
  margin-bottom: 1.6rem;
}
.lineUp_slider_price_number {
  line-height: 1;
  color: #EF351C;
  font-size: 4.2rem;
  font-family: var(--font-oswald);
  margin-right: 0.5rem;
}
.lineUp_slider_price_unit {
  color: #8F8F8F;
  font-size: 1.6rem;
}
.lineUp_slider_info {
  font-size: 1.4rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}
.lineUp_slider_infoWrap {
  margin-bottom: 2.8rem;
}
.lineUp_slider_info:not(:last-of-type) {
  margin-bottom: 0.55rem;
}
.lineUp_slider_info_title {
  color: #8F8F8F;
  display: flex;
  align-items: center;
  padding-left: 0.8rem;
  border-left: solid 2px #8F8F8F;
}
.lineUp_slider_link {
  text-decoration: none;
  color: white;
  background-color: #F5851F;
  text-align: center;
  padding: 0.9rem;
  font-size: 1.8rem;
  line-height: 1;
  width: 100%;
  display: block;
  border: solid 2px #F5851F;
  transition: all 0.3s;
}
.lineUp_slider_link:hover {
  background-color: white;
  color: #F5851F;
}
.lineUp_slider_arrow {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
  border-radius: 999px;
}
.lineUp_slider_arrows {
  position: absolute;
  left: 10px;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
  display: flex;
  justify-content: space-between;
}
.lineUp_slider_arrow::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-bottom: solid 1px white;
  border-right: solid 1px white;
}
.lineUp_slider_arrow.-prev::before {
  margin-left: 4px;
  transform: rotate(135deg);
}
.lineUp_slider_arrow.-next::before {
  margin-right: 4px;
  transform: rotate(-45deg);
}

.voice {
  margin-bottom: 6rem;
}
.voice .sectionTitle {
  margin-bottom: 3.2rem;
}
.voice_ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2rem;
  margin-bottom: 3.2rem;
}
.voice_li {
  width: calc((100% - 2rem) / 2);
  border: solid 1px #AAA;
  border-radius: 0.8rem;
  padding: 2.8rem;
}
@media screen and (max-width: 768px) {
  .voice_li {
    width: 100%;
  }
}
.voice_li:nth-last-of-type(n + 5) {
  display: none;
}
.voice_li:nth-last-of-type(n + 5):where(.-active *) {
  display: block;
}
.voice_li_person {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
}
.voice_li_person_image {
  width: 5.8rem;
  border-radius: 99rem;
  aspect-ratio: 1/1;
}
.voice_li_person_name {
  font-size: 2rem;
}
.voice_li_person_info {
  display: block;
  font-size: 1.4rem;
  color: #5C5C5C;
  font-weight: 500;
  margin-top: 0.4rem;
}
.voice_li_title {
  margin-bottom: 1.2rem;
  font-size: 2rem;
  line-height: 1.4;
}
.voice_li_text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
}

.faq {
  display: flex;
  justify-content: center;
  padding-block: 9rem 6.25rem;
  background-color: var(--color-gray);
}
.faq .sectionTitle {
  margin-bottom: 3.2rem;
}
.faq_ul {
  width: 100%;
  margin-bottom: 6.25rem;
  counter-reset: faq;
}
.faq_li {
  background-color: white;
  counter-increment: faq;
  margin-bottom: 20px;
}
.faq_li:hover {
  cursor: pointer;
}
.faq_li.-open {
  box-shadow: none;
}
.faq_textQ, .faq_textA {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7777777778;
  padding-block: 2rem;
  margin-inline: 2rem;
  display: flex;
  gap: 0 2rem;
}
.faq_textQ strong, .faq_textA strong {
  padding-top: 0.3rem;
}
.faq_textQ:where(.-open *) {
  border-bottom: solid 2px #EEEEEE;
}
.faq_textA {
  font-weight: 500;
  font-size: 1.6rem;
}
.faq_singleLetter {
  flex-shrink: 0;
  border: solid 2px var(--color-main);
  border-radius: 0.4rem;
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-main);
  font-size: 1.6rem;
  font-weight: 500;
}
.faq_singleLetter:where(.-question *)::after {
  content: counter(faq);
}
.faq_singleLetter:where(.-answer *) {
  background-color: var(--color-main);
  color: white;
}
.faq_plusMinus {
  position: relative;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: auto;
  top: 1.6rem;
  flex-shrink: 0;
}
.faq_plusMinus::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(225deg);
  border-right: solid 1px #0C1418;
  border-bottom: solid 1px #0C1418;
  width: 100%;
  height: 100%;
}
.faq_plusMinus::after {
  transition: all 0.5s;
}
.faq_plusMinus:is(.-open *)::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.faq_answer {
  display: none;
}

.company {
  padding-block: 0 9rem;
  background-color: var(--color-gray);
}
.company .sectionTitle {
  margin-bottom: 4.9rem;
}
.company_body {
  background-color: white;
  display: flex;
  align-items: center;
  padding: 6rem;
  gap: 3rem 3.9rem;
}
@media screen and (max-width: 768px) {
  .company_body {
    flex-direction: column;
  }
}
.company_logo {
  width: 31.1rem;
  flex-shrink: 0;
}
.company_dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.company_dt, .company_dd {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8666666667;
  border-bottom: solid 1px #C0C0C0;
  padding-block: 2.8rem;
}
.company_dt a, .company_dd a {
  text-decoration: none;
  color: inherit;
  font-weight: 500;
}
.company_dt {
  width: 13.4rem;
  padding-inline: 2.4rem 2rem;
  flex-shrink: 0;
}
.company_dd {
  width: calc(100% - 13.4rem - 1.4rem);
}

.form {
  background-color: #E2F9F9;
  padding-block: 6rem;
}
.form .sectionTitle {
  margin-bottom: 4.9rem;
}
.form .color-red {
  font-size: 3rem;
}

/* 個別部ここまで
---------- ---------- */