/* CSS Document */
#site_logo a {
  margin-left: calc(50% - 60px);
}

@media (max-width: 640px) {
  #site_logo a {
    margin-left: calc(50% - 45px);
  }
}

.topmenu_wrap {
  width: 92%;
  margin: 0 auto;
}

#topmenu.new {
  justify-content: flex-start;
}

#topmenu.new li {
  width: 48%;
}

#topmenu.new li.full {
  width: 100%;
}

#topmenu.new li a {
  position: relative;
}

#topmenu.new li a strong {
  display: block;
  background: rgba(0, 0, 0, 0.6);
  padding: 0.3em 20px;
  color: #fff;
  font-weight: bold;
  font-size: clamp(10px, 1.7vw, 32px);
  position: absolute;
  bottom: 0;
  left: 0;
  width: fit-content;
  line-height: 1;
}

#topmenu.new li b {
  display: block;
  font-weight: bold;
  font-size: clamp(10px, 1.5vw, 20px);
  padding: 5px 0 0 20px;
}

@media (max-width: 679px) {
  #topmenu.new li a strong {
    padding: 3px 5px;
  }

  #topmenu.new li b {
    padding: 3px 0 0 0;
  }
}

#topmenu.mb {
  margin-bottom: clamp(30px, 5%, 100px);
}

.kasou {
  padding-top: 80px;
}

@media (max-width: 679px) {
  .kasou {
    padding-top: 55px;
  }
}

.kasou .mv img {
  width: 100%;
  height: auto;
}

.kasou .kasouContent {
  margin: clamp(40px, 6%, 100px) auto;
}

.kasou .kasouContent img {
  width: 100%;
  height: auto;
}

.kasou .kasouContent .wp-block-columns {
  width: 100%;
  margin: 0 auto clamp(40px, 6%, 100px) auto;
}

.kasou .kasouContent .wp-block-columns:where(.wp-block-columns.is-layout-flex) {
  gap: 0em;
}

.kasou .kasouContent .wp-block-columns:first-of-type {
  max-width: 1366px;
}

@media (max-width: 1366px) {
  .kasou .kasouContent .wp-block-columns:first-of-type {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.kasou .kasouContent .wp-block-heading {
  display: block;
  font-size: clamp(25px, 6vw, 40px);
  line-height: 1.7;
}

@media (max-width: 679px) {
  .kasou .kasouContent .wp-block-heading {
    padding-right: 0;
    margin-bottom: 30px;
  }
}

.kasou .kasouContent p {
  font-size: clamp(14px, 1vw, 18px);
  line-height: 2.4;
}

@media (max-width: 781px) {
  .kasou .kasouContent .not-sp {
    display: none;
  }
}

.kasou .itemlist {
  width: 100%;
  margin: auto;
  position: relative;
  padding-top: clamp(60px, 20vw, 200px);
}

.kasou .itemlist ul.flexBox2 li {
  padding: 10px 5px 45px;
  position: relative;
  margin-bottom: 15px;
}

.kasou .itemlist:before {
  display: block;
  position: absolute;
  background: #000;
  width: 2px;
  height: 15vw;
  max-height: 100px;
  top: 0;
  content: "";
  left: calc(50% - 1px);
}

.kasou .itemlist .photo img {
  width: 100%;
  height: auto;
}

.kasou .itemlist .text.renewal .item {
  display: block;
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 10px;
  height: 3.5em;
  font-size: clamp(15px, 1vw, 16px);
}

.kasou .itemlist .text.renewal .item span {
  font-size: clamp(10.5px, 0.9vw, 14px);
}

@media (max-width: 781px) {
  .kasou .itemlist .text.renewal .item {
    height: 4em;
  }
}

.kasou .itemlist .text.renewal .price_link .wp-block-image,
.kasou .itemlist .text.renewal .price_link .wp-block-spacer {
  display: none;
}

.kasou .itemlist .text.renewal .price_link .has-text-align-center {
  text-align: right;
  font-size: 20px !important;
  margin: 0 5% 10px 0;
}

.kasou .itemlist .text.renewal .price_link .wp-block-buttons>.wp-block-button {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.kasou .itemlist .text.renewal .price_link .wp-block-button__link.has-white-color.has-text-color.has-text-align-center.wp-element-button {
  padding: 8px;
  display: block;
  width: 90%;
  margin: 0 auto;
  border-radius: 5px !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  text-align: center;
  transition: all linear 0.3s;
}

.kasou .itemlist .text.renewal .price_link .wp-block-button__link.has-white-color.has-text-color.has-text-align-center.wp-element-button:hover {
  background: #777;
}

.kasoutop_titlearea {
  display: block;
  padding: 120px 15px 30px;
  text-align: center;
}

@media (max-width: 679px) {
  .kasoutop_titlearea {
    padding: 70px 10px 10px;
  }
}

.kasoutop_titlearea h2 {
  font-size: clamp(20px, 6vw, 50px);
  font-weight: bold;
  line-height: 1.2;
}

@media (max-width: 679px) {
  .kasoutop_titlearea h2 span {
    display: block;
    font-size: 0;
  }
}

/* <----- promotion */
/* common */
@media screen and (max-width: 1024px) {
  .pc-only {
    display: none;
  }
}

/* PR */
.kasou .pr {
  background-color: #000;
  margin-top: -1px;
  padding-top: 120px;
  padding-inline: 100px;
  padding-bottom: 100px;
  position: relative;
}

@media screen and (max-width: 781px) {
  .kasou .pr {
    padding-inline: 16px;
    padding-block: 60px;
  }
}

.kasou .pr::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 63px;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  z-index: 1;
  background-color: #000;
  margin-top: -1px;
}

.kasou .pr .wp-block-group__inner-container {
  max-width: 1280px;
  margin-inline: auto;
}

.kasou .pr .wp-block-group__inner-container .pr-column {
  align-items: center !important;
}

@media screen and (max-width: 1024px) {
  .kasou .pr .wp-block-group__inner-container .pr-column {
    flex-direction: column-reverse;
  }
}

.kasou .pr .pr-textbox {
  margin-left: auto;
  padding: 12px 24px;
}

@media screen and (max-width: 781px) {
  .kasou .pr .pr-textbox h3 {
    font-size: 30px !important;
  }

  .kasou .pr .pr-textbox p {
    font-size: 20px !important;
  }
}

.kasou .pr .wp-block-heading {
  line-height: 1.2;
}

.kasou .pr .wp-block-heading span {
  font-size: 96px !important;
}

.kasou .pr .wp-block-group {
  gap: 16px;
  margin-top: 32px;
}

.kasou .pr .wp-block-group p {
  line-height: 1.6;
}

.kasou .pr .wp-block-group p span {
  font-weight: bold;
  color: #fff;
}

.kasou .pr .wp-block-columns .wp-block-image {
  aspect-ratio: 643 / 674;
  width: 100%;
  margin-bottom: 0;
}

.kasou .pr .wp-block-columns .wp-block-image img {
  object-fit: cover;
  object-position: 10% center;
  display: block;
  height: 100%;
}

.kasou .pr .pr-media {
    margin-top: 100px;
    padding: 35px;
    border-radius: 10px;
}

.kasou .pr .pr-media h3 {
    border-bottom: 2px solid #fe7839;
    width: 70%;
    margin: 0 auto;
	line-height: 1.5em;
}

.kasou .pr .pr-media .wp-block-group {
  margin-top: 64px;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(1) .wp-block-group {
  margin-top: 0;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card {
  padding: 12px 24px;
  border-radius: 5px;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card .wp-block-group {
  gap: 0 !important;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card .wp-block-group .big-card-logo {
  width: 17.48%;
  aspect-ratio: 100 / 24;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card .wp-block-group .big-card-logo img {
  max-width: 100%;
  width: auto !important;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card .wp-block-group .big-card-textbox {
  width: 78.32%;
  margin-left: auto;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card .wp-block-group .big-card-textbox p:last-child {
  line-height: 1.2;
  margin-top: 8px;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card .wp-block-group .big-card-image {
  margin-top: 12px;
  aspect-ratio: 572 / 428;
  max-width: 572px;
}

.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card .wp-block-group .big-card-image img {
  border-radius: 5px;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}

@media screen and (max-width: 1024px) {
  .kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) {
    gap: 16px !important;
  }
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2)::after {
  display: none;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card {
  padding: 12px 24px;
  border-radius: 5px;
  margin-top: 0 !important;
  gap: 0 !important;
  border: 1px solid #000;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card .small-card-logo {
  width: 17.48%;
  aspect-ratio: 100 / 24;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card .small-card-logo img {
  max-width: 100%;
  width: auto !important;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card:nth-of-type(1) .small-card-logo {
  aspect-ratio: 100 / 72;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card:nth-of-type(2) .small-card-logo {
  aspect-ratio: 100 / 19.83;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card:nth-of-type(3) .small-card-logo {
  aspect-ratio: 100 / 17;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card:nth-of-type(4) .small-card-logo {
  aspect-ratio: 100 / 45;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card .small-card-textbox {
  width: 78.32%;
  margin-left: auto;
  margin-top: 0 !important;
}

.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card .small-card-textbox p:last-child {
  line-height: 1.2;
  margin-top: 8px;
}

.kasou .pr .pr-media .pr-media-content .pr-media-column-group {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 1024px) {
  .kasou .pr .pr-media .pr-media-content .pr-media-column-group {
    flex-direction: column;
    gap: 16px !important;
  }
}

.kasou .pr .pr-media .pr-media-content .pr-link-text {
  font-size: 10px !important;
  margin-right: 15px;
}

/* lead */
.kasou .lead {
  background-image: url(../../images/white_00028.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 183px 100px 120px;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 781px) {
  .kasou .lead {
    padding-inline: 16px;
    padding-block: 60px;
  }
}

.kasou .lead .wp-block-group__inner-container {
  max-width: 1280px;
  margin: 0 auto;
}

.kasou .lead .header-main-title,
.kasou .lead .header-sub-title {
  line-height: 100%;
}

@media screen and (max-width: 1024px) {
  .kasou .lead .header-main-title {
    font-size: 80px !important;
  }
}

@media screen and (max-width: 781px) {
  .kasou .lead .header-main-title {
    font-size: 64px !important;
  }
}

@media screen and (max-width: 1280px) {
  .kasou .lead .header-sub-title {
    line-height: 120%;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .lead .header-sub-title {
    font-size: 56px !important;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .lead .header-sub-title {
    font-size: 34px !important;
  }
}

.kasou .lead .header-sub-title {
  margin-top: 8px;
  margin-bottom: 88px;
}

.kasou .lead .header-sub-title span {
  text-decoration-color: #fe7839 !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.25em;
}

.kasou .lead .lead-column-textbox {
  aspect-ratio: 540 / 400;
  padding: 24px 48px;
  background-color: #fcfcfc;
}

@media screen and (max-width: 1280px) {
  .kasou .lead .lead-column-textbox {
    padding: 12px 24px;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .lead .lead-column-textbox {
    aspect-ratio: auto;
    height: auto;
  }
}

.kasou .lead .lead-column-textbox h2 {
  padding-left: 32px;
  line-height: 1.3;
  letter-spacing: 0px !important;
  border-left: solid 14px #72959c;
  font-size: 32px !important;
}

@media screen and (max-width: 1280px) {
  .kasou .lead .lead-column-textbox h2 {
    font-size: 24px !important;
    line-height: 1.2;
  }
}

.kasou .lead .lead-column-textbox p {
  line-height: 160%;
  margin-top: 16px;
}

.kasou .lead .lead-column-textbox p:nth-of-type(1) {
  margin-top: 24px;
}

@media screen and (max-width: 1280px) {
  .kasou .lead .lead-column-textbox p {
    font-size: 14px !important;
    line-height: 1.5;
  }

  .kasou .lead .lead-column-textbox p:nth-of-type(1) {
    margin-top: 16px;
  }

  .kasou .lead .lead-column-textbox p:nth-of-type(2) {
    margin-top: 8px;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .lead .lead-column-right {
    flex-direction: column;
  }
}

.kasou .lead .lead-column-right img {
  border-radius: 5px 0 0 20px;
}

@media screen and (max-width: 1024px) {
  .kasou .lead .lead-column-right img {
    border-radius: 5px 20px 0 0;
  }
}

.kasou .lead .lead-column-right .lead-column-textbox {
  border-radius: 0 20px 5px 0;
}

@media screen and (max-width: 1024px) {
  .kasou .lead .lead-column-right .lead-column-textbox {
    border-radius: 0 0 5px 20px;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .lead .lead-column-left {
    flex-direction: column-reverse;
  }
}

.kasou .lead .lead-column-left img {
  border-radius: 0 20px 5px 0;
}

@media screen and (max-width: 1024px) {
  .kasou .lead .lead-column-left img {
    border-radius: 5px 20px 0 0;
  }
}

.kasou .lead .lead-column-left .lead-column-textbox {
  border-radius: 5px 0 0 20px;
}

@media screen and (max-width: 1024px) {
  .kasou .lead .lead-column-left .lead-column-textbox {
    border-radius: 0 0 5px 20px;
  }
}

/* about */
.kasou .about {
  height: 2870px;
  padding-top: 120px;
}

@media screen and (max-width: 1245px) {
  .kasou .about {
    height: 3000px;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .about {
    height: 2870px;
  }
}

@media screen and (max-width: 897px) {
  .kasou .about {
    height: 2920px;
  }
}

@media screen and (max-width: 781px) {
  .kasou .about {
    height: auto;
    padding-top: 60px;
  }
}

.kasou .about .wp-block-group__inner-container {
  max-width: 1280px;
  margin: 0 auto;
}

.kasou .about .about-title {
  /* padding-inline: 100px; */
}

@media screen and (max-width: 781px) {
  .kasou .about .about-title {
    padding-inline: 16px;
  }
}

.kasou .about .header-main-title,
.kasou .about .header-sub-title {
  line-height: 100%;
}

@media screen and (max-width: 1024px) {
  .kasou .about .header-main-title {
    font-size: 80px !important;
  }
}

@media screen and (max-width: 781px) {
  .kasou .about .header-main-title {
    font-size: 64px !important;
  }
}

@media screen and (max-width: 1280px) {
  .kasou .about .header-sub-title {
    line-height: 120%;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .about .header-sub-title {
    font-size: 56px !important;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .about .header-sub-title {
    font-size: 40px !important;
  }
}

.kasou .about .header-sub-title {
  margin-top: 8px;
  margin-bottom: 88px;
}

.kasou .about .header-sub-title span {
  text-decoration-color: #fe7839 !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.25em;
}

.kasou .about .about-content-group1,
.kasou .about .about-content-group2,
.kasou .about .about-content-group3 {
  position: relative;
  height: 723px;
}

@media screen and (max-width: 781px) {

  .kasou .about .about-content-group1,
  .kasou .about .about-content-group2,
  .kasou .about .about-content-group3 {
    position: static;
    height: auto;
  }
}

.kasou .about .about-content-group2,
.kasou .about .about-content-group3 {
  margin-top: 120px;
}

@media screen and (max-width: 1024px) {

  .kasou .about .about-content-group2,
  .kasou .about .about-content-group3 {
    margin-top: 100px;
  }
}

@media screen and (max-width: 781px) {

  .kasou .about .about-content-group2,
  .kasou .about .about-content-group3 {
    margin-top: 0;
  }
}

.kasou .about .about-content-textbox {
  max-width: 580px;
  padding: 48px;
  gap: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
}

@media screen and (max-width: 1024px) {
  .kasou .about .about-content-textbox {
    padding: 24px;
  }
}

@media screen and (max-width: 781px) {
  .kasou .about .about-content-textbox {
    position: static;
    max-width: none;
    width: 100%;
  }
}

.kasou .about .content-number {
  font-family:
    "Roboto", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", "Meiryo", sans-serif;
  line-height: 100%;
}

@media screen and (max-width: 1024px) {
  .kasou .about .content-number {
    font-size: 64px !important;
  }
}

.kasou .about .content-title {
  line-height: 120%;
  margin-top: 8px;
}

@media screen and (max-width: 1024px) {
  .kasou .about .content-title {
    font-size: 24px !important;
  }
}

.kasou .about .content-text {
  line-height: 160%;
  margin-top: 48px;
}

@media screen and (max-width: 1024px) {
  .kasou .about .content-text {
    font-size: 16px !important;
    margin-top: 24px;
  }
}

.kasou .about .about-content-image {
  position: absolute;
  top: 56px;
  right: 0;
  z-index: 900;
  border-bottom: solid #fe7839 10px;
}

@media screen and (max-width: 1024px) {
  .kasou .about .about-content-image {
    top: auto;
    bottom: 24px;
  }
}

@media screen and (max-width: 781px) {
  .kasou .about .about-content-image {
    position: static;
    margin-bottom: 0;
  }
}

.kasou .brand-divider {
  width: 100%;
  min-height: 156px;
  background-color: #333;
  background-image: url(../../images/fusion-FROM-SPIEGEL.png);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: auto 96px;
}

/* gallery */
/* .kasou .gallery {
  padding: 120px 100px;
}

@media screen and (max-width: 781px) {
  .kasou .gallery {
    padding-inline: 16px;
    padding-block: 60px;
  }
}

.kasou .gallery .wp-block-group__inner-container {
  max-width: 1280px;
  margin: 0 auto;
}

.kasou .gallery .header-main-title,
.kasou .gallery .header-sub-title {
  line-height: 100%;
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .header-main-title {
    font-size: 80px !important;
  }
}

@media screen and (max-width: 781px) {
  .kasou .gallery .header-main-title {
    font-size: 64px !important;
  }
}

@media screen and (max-width: 1280px) {
  .kasou .gallery .header-sub-title {
    line-height: 120%;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .header-sub-title {
    font-size: 56px !important;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .header-sub-title {
    font-size: 40px !important;
  }
}

.kasou .gallery .header-sub-title {
  margin-top: 8px;
  margin-bottom: 88px;
}

.kasou .gallery .header-sub-title span {
  text-decoration-color: #fe7839 !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.25em;
}

.kasou .gallery .gallery-column {
  margin-bottom: 40px !important;
}

@media screen and (max-width: 781px) {
  .kasou .gallery .gallery-column {
    gap: 0;
    margin-bottom: 0 !important;
  }
}

.kasou .gallery .gallery-column .wp-block-image figure,
.kasou .gallery .wp-block-image {
  cursor: pointer;
  transition: filter 0.5s ease;
}

.kasou .gallery .gallery-column .wp-block-image figure:hover,
.kasou .gallery .wp-block-image:hover {
  filter: brightness(1.2);
}

@media screen and (max-width: 781px) {
  .kasou .gallery .gallery-column .wp-block-image figure {
    width: 100%;
  }
}

@media screen and (max-width: 781px) {
  .kasou .gallery .gallery-column .wp-block-image figure img {
    width: 100% !important;
  }
}

@media screen and (max-width: 781px) {
  .kasou .gallery .gallery-item1 figure {
    margin-bottom: 13px;
  }
}

@media screen and (max-width: 781px) {
  .kasou .gallery .gallery-item2 figure {
    margin-bottom: 6.5px;
  }
}

@media screen and (max-width: 781px) {
  .kasou .gallery .gallery-item6 {
    margin-top: 6.5px;
  }
} */

/* link */
.kasou .link {
  padding: 120px 100px 0;
}

@media screen and (max-width: 781px) {
  .kasou .link {
    padding-inline: 16px;
    padding-top: 60px;
  }
}

.kasou .link .wp-block-group__inner-container {
  max-width: 1280px;
  margin: 0 auto;
}

.kasou .link .header-main-title,
.kasou .link .header-sub-title {
  line-height: 100%;
}

@media screen and (max-width: 1024px) {
  .kasou .link .header-main-title {
    font-size: 80px !important;
  }
}

@media screen and (max-width: 781px) {
  .kasou .link .header-main-title {
    font-size: 64px !important;
  }
}

@media screen and (max-width: 1280px) {
  .kasou .link .header-sub-title {
    line-height: 120%;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .link .header-sub-title {
    font-size: 56px !important;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .link .header-sub-title {
    font-size: 36px !important;
  }
}

.kasou .link .header-sub-title {
  margin-top: 8px;
  margin-bottom: 88px;
}

.kasou .link .header-sub-title span {
  text-decoration-color: #fe7839 !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.25em;
}

.kasou .kasouContent {
  margin: 0 !important;
}

.itemlist::before {
  display: none !important;
}

.itemlist {
  background-color: #cccccc66;
  padding-top: 0 !important;
  padding-bottom: 120px !important;
}

@media screen and (max-width: 781px) {
  .itemlist .text .item {
    line-height: 1.3 !important;
    height: 2em !important;
  }
}

.itemlist .text .price_link p {
  margin: 0 !important;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 781px) {
  .itemlist {
    padding-bottom: 60px !important;
  }
}

.itemlist .flexBox2 {
  gap: 40px;
}

@media screen and (max-width: 1024px) {
  .itemlist .flexBox2 {
    justify-content: center;
  }
}

.itemlist li {
  padding-top: 0 !important;
  padding-inline: 0 !important;
  margin-bottom: 0 !important;
  background-color: #fcfcfc;
  border-radius: 5px 5px 0 0 !important;
  overflow: hidden;
}

@media screen and (min-width: 1025px) {
  .itemlist li {
    width: 25% !important;
  }

  .itemlist li:first-child {
    margin-left: 2.5%;
  }
}

@media screen and (max-width: 781px) {
  .itemlist li {
    width: 90% !important;
  }

  .itemlist li .photo {
    width: 100%;
    aspect-ratio: 16 / 7;
    overflow: hidden;
  }

  .itemlist li .photo img {
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

.itemlist li .text {
  padding: 8px;
}

.kasou .itemlist .text.renewal .price_link .wp-block-button__link.has-white-color.has-text-color.has-text-align-center.wp-element-button {
  width: 100% !important;
  border-radius: 0 0 5px 5px !important;
}

@media screen and (max-width: 781px) {

  div:after,
  dl:after,
  ul:after {
    display: none;
  }
}

/* gallery-new */
.kasou .gallery {
  background-color: #333333;
}

.kasou .gallery .gallery__inner {
  padding: 120px 100px;
  max-width: calc(1480px + 100px * 2);
  margin: 0 auto;
}

@media screen and (max-width: 781px) {
  .kasou .gallery .gallery__inner {
    padding-inline: 16px;
    padding-block: 60px;
  }
}

.kasou .gallery .gallery__header {
  max-width: 1280px;
  margin-inline: auto;
}

.kasou .gallery .header-main-title,
.kasou .gallery .header-sub-title {
  line-height: 100%;
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .header-main-title {
    font-size: 80px !important;
  }
}

@media screen and (max-width: 781px) {
  .kasou .gallery .header-main-title {
    font-size: 64px !important;
  }
}

@media screen and (max-width: 1280px) {
  .kasou .gallery .header-sub-title {
    line-height: 120%;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .header-sub-title {
    font-size: 56px !important;
  }
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .header-sub-title {
    font-size: 40px !important;
  }
}

.kasou .gallery .header-sub-title {
  margin-top: 8px;
  margin-bottom: 88px;
}

.kasou .gallery .header-sub-title span {
  text-decoration-color: #fe7839 !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.25em;
}

/* .kasou .gallery .gallery-column {
  margin-bottom: 40px !important;
} */

.kasou .gallery .gallery__content .parent {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(33, 160px);
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  width: 100%;
}

.kasou .gallery .gallery__content .parent .div1 {
  grid-area: 1 / 1 / 4 / 7;
}

.kasou .gallery .gallery__content .parent .div1 img {
  object-position: center 35%;
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .gallery__content .parent .div1 img {
    object-position: 90% 35%;
  }
}

.kasou .gallery .gallery__content .parent .div2 {
  grid-area: 4 / 1 / 7 / 4;
}

.kasou .gallery .gallery__content .parent .div2 img {
  object-position: 12% center;
}

.kasou .gallery .gallery__content .parent .div3 {
  grid-area: 4 / 4 / 7 / 7;
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .gallery__content .parent .div3 img {
    object-position: 30% center;
  }
}

.kasou .gallery .gallery__content .parent .div4 {
  grid-area: 7 / 1 / 10 / 3;
}

.kasou .gallery .gallery__content .parent .div5 {
  grid-area: 7 / 3 / 10 / 7;
}

.kasou .gallery .gallery__content .parent .div5 img {
  object-position: 0% center;
}

.kasou .gallery .gallery__content .parent .div6 {
  grid-area: 10 / 1 / 13 / 7;
}

.kasou .gallery .gallery__content .parent .div6 img {
  object-position: center 90%;
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .gallery__content .parent .div6 img {
    object-position: 100% center;
  }
}

.kasou .gallery .gallery__content .parent .div7 {
  grid-area: 13 / 1 / 16 / 4;
}

.kasou .gallery .gallery__content .parent .div7 img {
  object-position: 82% center;
}

.kasou .gallery .gallery__content .parent .div8 {
  grid-area: 13 / 4 / 16 / 7;
}

.kasou .gallery .gallery__content .parent .div8 img {
  object-position: 65% center;
}

.kasou .gallery .gallery__content .parent .div9 {
  grid-area: 16 / 1 / 19 / 3;
}

.kasou .gallery .gallery__content .parent .div9 img {
  object-position: 70% center;
}

.kasou .gallery .gallery__content .parent .div10 {
  grid-area: 16 / 3 / 19 / 7;
}

.kasou .gallery .gallery__content .parent .div11 {
  grid-area: 19 / 1 / 22 / 7;
}

.kasou .gallery .gallery__content .parent .div11 img {
  object-position: center 72%;
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .gallery__content .parent .div11 img {
    object-position: 90% center;
  }
}

.kasou .gallery .gallery__content .parent .div12 {
  grid-area: 22 / 1 / 25 / 4;
}

.kasou .gallery .gallery__content .parent .div13 {
  grid-area: 22 / 4 / 25 / 7;
}

.kasou .gallery .gallery__content .parent .div13 img {
  object-position: 30% center;
}

.kasou .gallery .gallery__content .parent .div14 {
  grid-area: 25 / 1 / 28 / 3;
}

.kasou .gallery .gallery__content .parent .div15 {
  grid-area: 25 / 3 / 28 / 7;
}

.kasou .gallery .gallery__content .parent .div16 {
  grid-area: 28 / 1 / 31 / 7;
}

.kasou .gallery .gallery__content .parent .div16 img {
  object-position: center 73%;
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .gallery__content .parent .div16 img {
    object-position: 15% center;
  }
}

.kasou .gallery .gallery__content .parent .div17 {
  grid-area: 31 / 1 / 34 / 3;
}

.kasou .gallery .gallery__content .parent .div18 {
  grid-area: 31 / 3 / 34 / 5;
}

.kasou .gallery .gallery__content .parent .div19 {
  grid-area: 31 / 5 / 34 / 7;
}

.kasou .gallery .gallery__content .parent div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: pointer;
  transition: filter 0.5s ease;
}

.kasou .gallery .gallery__content .parent div img:hover {
  filter: brightness(1.3);
}

@media screen and (max-width: 1024px) {
  .kasou .gallery .gallery__content .parent {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(19, 400px);
  }

  .kasou .gallery .gallery__content .parent div {
    grid-area: auto !important;
  }
}

.kasou .gallery .link-content .link-title {
  color: #fcfcfc;
  margin-bottom: 16px;
}

.kasou .gallery .link-content a {
  color: #fcfcfc;
}

/* -----> promotion */

.youtube {
  display: block;
  text-align: center;
  padding: 0 10px 50px;
}

.youtube._pt {
  padding-top: clamp(30px, 5%, 60px);
}

.youtube a img {
  max-width: 150px;
  transition: all linear 0.3s;
}

@media (max-width: 679px) {
  .youtube a img {
    max-width: 100px;
  }
}

.youtube a:hover img {
  opacity: 0.7;
  transform: scale(1.03, 1.03);
}

/* :::::::::::::::::::::::
キャンペーン対応レイアウト
:::::::::::::::::::::::::: */

.campaign-bar {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 75vw;
    z-index: 999999;
}

.campaign-bar img {
    width: 100%;
    height: auto;
    transition: all 0.3s ease;
}

.campaign-bar img:hover {
    transform: scale(1.05);
    filter: drop-shadow(0 8px 20px rgba(0,0,0,.2));
}

.campaign-bar-pc {
    display: block;
    width: 45vw !important;
    margin-inline: auto;
}

.campaign-bar-sp {
    display: none;
}
/* -----> ページ途中banner */
.sale-banner-01 img {
    display: block;
    border-radius: 10px;
    transition: transform .3s ease, box-shadow .3s ease;
}

.sale-banner-01 a {
    display: block;
    transition: transform .3s ease, filter .3s ease;
}

.sale-banner-01 a:hover {
    transform: translateY(-5px);
}
@media screen and (max-width: 1024px) {
/* :::::::5%バナー==========*/
    .campaign-bar {
        top: auto;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        width: 95vw;
    }

    .campaign-bar-pc {
        display: none !important;
    }

    .campaign-bar-sp {
        display: block !important;
        width: 100%;
        height: auto;
    }
}
@media (max-width: 679px) {
	.sale-banner-01 figure img {
    width: 90vw !important;
}
 .rancru-cta-wrapper .sale-banner-01 figure img {
    margin-top: 100px;
	}
}

/* -----> CTAセクション */
.rancru-cta-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 50px;
}

.rancru-cta-wrapper {

    background-color: #408481;
    background-image: radial-gradient(circle, rgba(0, 0, 0, 0.15) 1px, transparent 1px), linear-gradient(180deg, #61979A 0%, #1e5955 100%);
    background-size: 6px 6px,
    100% 100%;
}
.rancru-cta-wrapper {
  position: relative;
  z-index: 2;
}

.section-divider-top {
  display: block;
  width: 100%;
  height: clamp(40px, 5vw, 80px);
  position: absolute;
  top: 2px;
  left: 0;
  transform: translateY(-100%);
}

.section-divider-bottom {
  display: block;
  width: 100%;
  height: clamp(40px, 5vw, 80px);

  position: static;
  transform: scaleY(-1);
}
.section-divider-bottom {
  position: absolute;
  left: 0;
  bottom: 2px;
  transform: translateY(100%) scaleY(-1);
  z-index: -2;
}
.rancru-off-cta img {
  transition: transform .3s ease;
}

.rancru-off-cta:hover img {
  transform: scale(1.03);
}
.rancru-cta-wrapper .rancru-cta-bg-img {
    position: absolute;
	width: 35cqw;
    right: 0;
    top: 0;
    z-index: -1;
}

.pr-point {
    background-image: linear-gradient(rgb(255 222 161 / 61%), rgb(255 231 186 / 53%)), url(../../images/white_00028.jpg);
    background-size: cover;
    background-position: center;
	margin-top: -1px;
    padding-top: 120px;
}
.pr-point-inner {
    max-width: 1100px;
    margin: 0 auto;
}
.pr-point-subtitle {
    text-align: center;
    background-color: #000;
    line-height: 1.5;
    color: #fff;
    padding: 10px 20px 0px;
    margin-bottom: -2px;
    font-size: clamp(22px, 3.5vw, 35px) !important;
}
.pr-point .pr-point-inner .pr-point-maintitle{
    padding: 0px;
    border-bottom: 2px solid #000000;
	margin-bottom: 40px;
}
.pr-point .pr-point-inner .pr-point-maintitle h2,
.pr-point .pr-point-inner .pr-point-maintitle h3 {
	line-height: 1.2;
	color: #000;
}
.pr-point .pr-point-inner .pr-point-maintitle h2 {
    font-size: clamp(100px, 10vw, 200px);
    letter-spacing: -0.02em;
	font-family: "Momo Trust Display", sans-serif;
	padding-inline: 10px;
}
.pr-point .pr-point-inner .pr-point-maintitle h3 {
    padding-inline: 15px;
    font-size: clamp(24px, 2vw, 42px);
    margin-bottom: 0px;
}
.pr-point-subtitle .pr-text-st { 
    font-family: "Momo Trust Display", sans-serif;
    font-size: 1.5em;
    padding-right: 10px;
}
.kasou .pr .pr-textbox {
  margin-left: auto;
  padding: 10px;
}


.kasou .lead .lead-column-textbox {
  position: relative;
  aspect-ratio: auto;
  padding: 24px 48px 24px 0;
  background-color: #f2ecdd;
}
.lead-column-textbox h2,
.lead-column-textbox p {
  padding-left: 48px;
}


.kasou .lead .lead-column-textbox h2 {
    position: relative;
    border-left: none;
    padding-left: 58px; /* 45px帯 + 余白 */
}

.kasou .lead .lead-column-textbox h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 45px;

    background-color: #72959c;

    background-image:
	radial-gradient(rgb(56 56 56 / 25%) 0.8px, transparent 0.8px);

    background-size: 4px 4px;
}
@media (max-width: 679px) {
.kasou .lead .lead-column-textbox {
    padding: 24px 24px 24px 0;
}
}
/* ::::::::::::::::
Point
:::::::::::::::::::*/
.point-heading {
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0;
	font-weight: 400;
	letter-spacing: 0.01em;
}

.point-heading::before,
.point-heading::after {
	content: "";
	flex: 1;
	max-width: 120px;
	height: 2px;
	background: #fff;
}
.poi-text {
    background: #fff;
    padding-inline: 20px;
    padding-block: 0px;
    line-height: 1.2em;
    border-radius: 50px;
    font-family: 'Momo Trust Display';
	font-size: clamp(20px, 3vw, 28px);
}
.pr-point-inner .point-case .point-text {
	font-size: clamp(30px, 3vw, 42px);
	color: #fff;
	font-weight: 600;
}
.point-case {
    background: #fe7839;
    border-radius: 10px;
    padding: 30px;
	margin-block: 30px;
}
.poi-car-maker {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0px 20px;
    gap: 10px;
    margin: 0 auto;
    width: 120px;
    height: 33px;
    border-radius: 50px;
    background-color: #f9ff00;
}
.point-case .poi-box .poi-car-maker {
    font-size: 16px;
	padding: 0px;
	line-height: 2;
	margin-bottom: 5px;
}
.poi-box {
	padding: 20px;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.point-case .poi-box .poi-car-name {
	font-weight: 600;
}
.point-case .poi-box .poi-car-name,
.point-case .poi-box .poi-car-old {
	line-height: 1.2em;
}
.section-divider-black {
  display: block;
  width: 100%;
  height: clamp(40px, 5vw, 80px);
  position: absolute;
/*   top: 2px; */
  left: 0;
  transform: translateY(-100%);
}
.poi-img-gr {
	position: relative;
}
.poi-img-01 {
	margin-bottom: -30px;
}
.poi-img-02 {
    position: absolute;
    bottom: 30%;
    right: 4vw;
}
@media (max-width: 679px) {
	.point-case .poi-box-wrapper {
		grid-template-columns: repeat(1,1fr);
	}
	.poi-gr {
		padding: 10px;
	}
    .kasou .pr .wp-block-group__inner-container .pr-column {
        flex-direction: column-reverse;
        padding: 0px;
    }
	.en-title,
	.point-case h5 {
        margin-bottom: 0 !important;
    }
	.poi-img-02 {
    position: absolute;
    bottom: 63%;
    right: 4vw;
}
	.pr-point-subtitle {
    text-align: left;
    background-color: #000;
    line-height: 1.55em !important;
    color: #fff;
    padding: 10px 20px;
}
.pr-point .pr-point-inner .pr-point-maintitle h2 {
    margin-bottom: 0;
}
	.pr-point .pr-point-inner .pr-point-maintitle {
    margin-bottom: 0px;
}
.poi-img-01{
    margin-bottom: -13px;
}
}
/* ::::::::::::::::
英字タイトル
:::::::::::::::::::*/
.en-title {
	font-family: "Momo Trust Display", sans-serif;
	font-size: clamp(60px, 4vw, 80px);
	line-height: 1;
}
.kasou .about .content-number {
	font-family: "Anton", sans-serif;
}
/* ::::::::::::::::
ランクル顔KV 
:::::::::::::::::::*/
.lp-kv{
    position:relative;
}

.lp-kv picture,
.lp-kv img{
    display:block;
    width:100%;
}


.lp-kv__title{
    position:absolute;
    left:22%;
    top:30%;
    transform:translateY(-50%);

    width:min(40vw,700px);

    opacity:0;
    animation: titleFadeIn 1.2s ease-out forwards;
}

.lp-kv__title img{
    width:100%;
    height:auto;
    display:block;
}

@keyframes titleFadeIn{
    from{
        opacity:0;
        transform:translate(-50px,-50%);
    }

    to{
        opacity:1;
        transform:translate(0,-50%);
    }
}
.rancru-cta-sec-title .wp-block-group__inner-container {
	display: grid;
	gap: 10px;
}
.rancru-cta-inner .rancru-cta-sec-title .rcr-h3 {
	line-height: 1.2 !important;
	font-size: clamp(60px, 5vw, 80px);
}
.rancru-cta-inner .rancru-cta-sec-title .rcr-h4 {
	line-height: 1.2 !important;
	font-size: clamp(24px, 2vw, 50px);
}

@media screen and (max-width: 781px) {
.rancru-cta-inner {
    margin: 0 auto;
    padding: 10px;
}
	.rancru-cta-wrapper .wp-block-spacer {
    height: 250px !important;
}
.kasou .pr .pr-media h3 {
    width: 100%;
    margin: 0 auto;
    line-height: 1.2em;
}
.kasou .pr .pr-media {
    margin-top: 30px;
	padding: 50px 10px;
    border-radius: 10px;
}

.lp-kv__title {
    position: absolute;
    left: 6%;
    top: 6%;
    width: min(87vw, 700px);
    opacity: 0;
    animation: titleFadeInSp 1.2s ease-out forwards;
    }

    @keyframes titleFadeInSp {
        from {
            opacity: 0;
            margin-left: -50px;
        }

        to {
            opacity: 1;
            margin-left: 0;
        }
    }
/* ::::::::::::::::::::::::::::::
 5%バナー
 * ::::::::::::::::::::::::::::::*/

    .campaign-bar {
        top: auto;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        width: 95vw;
    }

    .campaign-bar-pc {
        display: none !important;
    }

    .campaign-bar-sp {
        display: block !important;
        width: 100%;
        height: auto;
    }
/* ::::::::::::::::::::::::::::::::::::::::::: */
    .rancru-cta-bg-img figure {
        width: min(90vw, 400px) !important;
    }
	.rancru-cta-wrapper .rancru-cta-bg-img {
    position: absolute;
    right: 0;
    top: 35%;
}
/* .rancru-cta-bg-img{
    animation: fadeInUpSp 1.2s cubic-bezier(.22, 1, .36, 1) forwards !important;
}

@keyframes fadeInUpSp{
    from{
        opacity: 0;
        transform: translateY(60px);
    }

    to{
        opacity: 1;
        transform: translateY(0);
    }
} */
	.kasou .pr .pr-media .pr-media-content .pr-media-content-big-card {
    padding: 12px;
    border-radius: 5px;
}
	.kasou .pr .pr-media .wp-block-group .wp-block-column:nth-of-type(2) .pr-media-content-small-card {
    padding: 12px;
}
	.kasou .small-card-textbox p {
	font-size: 16px !important;
}
}



/* :::::::::::::::::
 * TOPページNEWデザイン
 * ::::::::::::::::: */
#home #container {
  position: relative;
}
#site_logo {
  position: absolute;
  top: 24px;
  left: 40px;
  z-index: 100;
  background-color: transparent;
}
#site_logo a {
	margin-top: 0;
	max-width: 270px;
	margin-left: 5%;
}
.fusion-top-new {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
	#site_logo {
  left: 10px;
}
	#site_logo a {
	margin-top: 0;
	max-width: 180px;
	margin-left: 5%;
}
}

body.type2 .fusion-top-new {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background-image: url(/wp-content/themes/fusion/images/index/new_2026/fusion-bg-stone4.webp);
    background-repeat: repeat;
    background-size: 230px auto;
    background-position: top left;
    margin-top: 0;
}

.fusion-top-new {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
}

.fusion-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

.fusion-hero picture {
  display: block;
  padding-bottom: 100px;
}

.fusion-hero__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* PC用 */
.fusion-hero__title {
    position: absolute;
    top: 11%;
    left: 10%;
    z-index: 2;
    width: min(36vw, 46vw);
    height: auto;
}

.fusion-hero__subtitle {
    position: absolute;
    top: 17%;
    right: 12%;
    z-index: 2;
    width: min(32vw, 500px);
    height: auto;
}

/* SP用パーツはPCでは非表示 */
.fusion-hero__sp-logo,
.fusion-hero__sp-en,
.fusion-hero__sp-toptitle,
.fusion-hero__sp-catch {
  display: none;
}

/* スマホ */
@media screen and (max-width: 767px) {


  .fusion-hero__bg {
    width: 100%;
    height: auto;
  }

  /* PC用パーツを非表示 */
  .fusion-hero__title,
  .fusion-hero__subtitle {
    display: none;
  }

  /* SP用パーツを表示 */
  .fusion-hero__sp-logo,
  .fusion-hero__sp-en,
  .fusion-hero__sp-toptitle,
  .fusion-hero__sp-catch {
    display: block;
    position: absolute;
    z-index: 3;
    height: auto;
  }

  /* 大きいfusion FROM SPIEGELロゴ */
  .fusion-hero__sp-logo {
    top: 11%;
    left: 5.5%;
    width: 75%;
  }

  /* 黄色い英字 */
  .fusion-hero__sp-en {
    top: 27%;
    left: 5.5%;
    width: 58%;
  }

  /* 軽自動車専門チューニングブランド〜カスタムブランド */
  .fusion-hero__sp-toptitle {
    top: 33%;
    left: 5.5%;
    width: 100%;
  }

  /* 一番下のキャッチ */
  .fusion-hero__sp-catch {
    left: 0;
    bottom: 150px;
    width: 100%;
	  filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.8));
  }
	.fusion-hero picture {
  display: block;
  padding-bottom: 260px;
}
}

/* ::::::::::::::::::::::::::::::::
 * ランクルフェイスバナー 
 * ::::::::::::::::::::::::::::::::*/
.fusion-intro {
  position: relative;
  z-index: 5;
  width: 100%;
  padding: 0 20px;
  margin-top: -160px;
}

.fusion-ranclu-banner {
  width: min(100%, 1200px);
  margin: 0 auto;
}

.fusion-ranclu-banner picture {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}
.fusion-ranclu-banner__link {
  display: block;
  text-decoration: none;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.fusion-ranclu-banner__img {
    display: block;
    width: 100%;
    max-width: 1100px;
    height: auto;
    margin: 0 auto;
	border-radius: 10px;
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
  transition: transform 0.45s ease, filter 0.35s ease;
}
@media (hover: hover) {
  .fusion-ranclu-banner__link:hover {
    transform: translateY(-4px);
    filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.22));
  }

  .fusion-ranclu-banner__link:hover .fusion-ranclu-banner__img {
    transform: scale(1.035);
    filter: brightness(1.05);
  }
}
@media screen and (max-width: 767px) {
  .fusion-intro {
    padding: 48px 16px 0;
  }

  .fusion-ranclu-banner {
    width: 100%;
  }
}

/* :::::::::::::::::
 * CTA
 * ::::::::::::::::: */
.fusion-cta {
  width: 100%;
  padding: 70px 20px 60px;
}

.fusion-cta__inner {
  width: min(100%, 1100px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.fusion-cta-card {
    position: relative;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    overflow: hidden;
    text-decoration: none;
    color: #111;
    isolation: isolate;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
	  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.fusion-cta-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 1;
	  transition:
    transform 0.45s ease,
    opacity 0.35s ease;
}

.fusion-cta-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  transition: opacity 0.35s ease;
}

.fusion-cta-card--yellow::before {
  background-image: url("/wp-content/themes/fusion/images/index/new_2026/fusion-cta-yellow-bg.webp");
}

.fusion-cta-card--yellow::after {
  background: rgba(255, 238, 0, 0.88);
}

.fusion-cta-card--blue::before {
  background-image: url("/wp-content/themes/fusion/images/index/new_2026/fusion-cta-blue-bg.webp");
}

.fusion-cta-card--blue::after {
  background: rgba(0, 95, 190, 0.88);
}

.fusion-cta-card--blue {
  color: #fff;
}

.fusion-cta-card__main {
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.03em;
}

.fusion-cta-card__main::after {
  content: "→";
  margin-left: 0.35em;
}

.fusion-cta-card__sub {
  font-size: clamp(13px, 1.1vw, 17px);
  font-weight: 700;
  line-height: 1.4;
}
@media (hover: hover) {
  .fusion-cta-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.28);
  }

  .fusion-cta-card:hover::before {
    transform: scale(1.06);
    opacity: 0.5;
  }

  .fusion-cta-card:hover::after {
    opacity: 0.92;
  }
}
@media screen and (max-width: 767px) {
  .fusion-cta {
    padding: 40px 16px 44px;
  }

  .fusion-cta__inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .fusion-cta-card {
    min-height: 110px;
  }
}

/* ::::::::::::::::::::::::::::::::
 * あのSpiegelが生んだ外装専門カスタムブランド
 * ::::::::::::::::::::::::::::::::*/

.fusion-brand {
  width: 100%;
  padding: 0 20px 90px;
}

.fusion-brand__inner {
position: relative;
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 48px 48px 36px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.25);
}
.fusion-brand__text_gr {
	margin-top: 130px;
}

.fusion-brand__main {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 44px;
  align-items: center;
}

.fusion-brand__lead {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
  color: #111;
}

.fusion-brand__logo {
    position: absolute;
    top: 0;
    left: -15px;
    display: block;
    width: 440px;
    max-width: 100%;
    height: auto;
    margin: 0 0 20px;
}

.fusion-brand__text p {
  margin: 0 0 13px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.85;
  color: #111;
}

.fusion-brand__text .fusion-brand__strong {
  margin-block: 30px;
  font-size: clamp(26px, 2vw, 32px);
  font-weight: 900;
  line-height: 1.35;
}

.fusion-brand__photo {
  position: relative;
  overflow: hidden;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
  margin-left: auto;
  margin-right: -20px;
}

.fusion-brand__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.fusion-brand__photo-copy {
    position: absolute;
    top: 8%;
    left: 18%;
    right: 6%;
    margin: 0;
    color: #fff;
    font-size: clamp(14px, 2vw, 22px);
    font-weight: 900;
    line-height: 1.5;
    text-align: right;
    letter-spacing: 0.03em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
}

.fusion-brand__bottom {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  width: 100%;
  margin: 34px auto 0;
}

.fusion-brand-badge {
  position: relative;
  overflow: hidden;
  color: #fff;
}

/* 背景画像はabsoluteにしない */
.fusion-brand-badge__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* テキストだけ画像の上に重ねる */
.fusion-brand-badge__text {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 8% 0 38%;
}

.fusion-brand-badge p {
  margin: 0;
}

.fusion-brand-badge__title {
  font-size: clamp(28px, 2.4vw, 38px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0.03em;
}

.fusion-brand-badge__sub {
  margin-top: 6px;
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 700;
  line-height: 1.45;
}

.fusion-brand-badge__year {
  margin-bottom: 4px;
  font-size: clamp(11px, 1vw, 13px);
  font-weight: 700;
  line-height: 1.3;
}

.fusion-brand-badge__title--small {
  font-size: clamp(15px, 1.5vw, 22px);
  line-height: 1.25;
}

.fusion-brand-badge__title--big {
  display: inline-block;
  font-size: 2em;
  line-height: 0.9;
}

@media screen and (max-width: 767px) {
.fusion-brand__main {
  display: block;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
	.fusion-brand__inner {
		padding: 40px 20px;
	}
	
@media screen and (max-width: 767px) {
  .fusion-brand__bottom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    margin-top: 24px;
  }

  .fusion-brand-badge__text {
    padding: 0 8% 0 38%;
  }

  .fusion-brand-badge__title {
    font-size: clamp(24px, 7vw, 32px);
  }

  .fusion-brand-badge__sub {
    font-size: clamp(11px, 3.2vw, 13px);
  }

  .fusion-brand-badge__year {
    font-size: clamp(10px, 3vw, 12px);
  }

  .fusion-brand-badge__title--small {
    font-size: clamp(14px, 3.5vw, 19px);
  }
}
}

/* :::::::::::::::::::::::::::::::::::::::
 * fusionが選ばれる理由
 * :::::::::::::::::::::::::::::::::::::: */
.fusion-reason {
  position: relative;
  width: 100%;
  padding: 110px 20px 130px;
  color: #fff;
  background-image: url("/wp-content/themes/fusion/images/index/new_2026/fusion-bg-stone3.webp");
  background-repeat: repeat;
  background-size: auto;
  background-position: top left;
  overflow: hidden;
}

.fusion-reason::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 0;
}

.fusion-reason__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1020px);
  margin: 0 auto 190px;
}

.fusion-reason__title {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  margin: 0 0 48px;
  line-height: 1;
}

.fusion-reason__title-logo {
  display: block;
  width: clamp(200px, 18vw, 280px);
  height: auto;
  flex-shrink: 0;
}

.fusion-reason__title-text {
  display: inline-block;
  color: #fff;
  font-size: clamp(34px, 4.2vw, 64px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.02em;
}

.fusion-reason__copy {
  margin-bottom: 95px;
}

.fusion-reason__lead {
  margin: 0 0 22px;
  color: #e7ff1a;
  font-size: clamp(15px, 1.35vw, 20px);
  font-weight: 900;
  line-height: 1.8;
}

.fusion-reason__message {
  margin: 0;
  font-size: clamp(29px, 3vw, 50px);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.fusion-reason__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 38px 0px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

.fusion-reason-card {
  position: relative;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
}

.fusion-reason-card__box {
  display: block;
  width: 100%;
  height: auto;
}

.fusion-reason-card__innerbox {
    position: absolute;
    inset: 24px 8px 20px 8px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.fusion-reason-card__label {
    position: absolute;
    top: -26px;
    left: -30px;
    width: 122px;
    z-index: 3;
}

.fusion-reason-card__label-bg {
  display: block;
  width: 100%;
  height: auto;
}

.fusion-reason-card__label-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 8px 12px;
  color: #fff;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: 0.01em;
  text-align: center;
}

.fusion-reason-card__img {
  display: block;
  width: 72%;
  max-width: 210px;
  height: auto;
  margin: 8px auto 14px;
}

.fusion-reason-card__text {
    margin: 0;
    color: #111;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
    margin-top: 30px;
}

/* 位置の微調整 */
.fusion-reason-card--01 {
  margin-top: 0;
}

.fusion-reason-card--02 {
  margin-top: 26px;
}

.fusion-reason-card--03 {
  margin-top: -6px;
}

.fusion-reason-card--04 {
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .fusion-reason {
    padding: 72px 16px 90px;
  }
	
	.fusion-reason__inner {
	  margin: 0 auto 60px;
	}

  .fusion-reason__title {
	  display: block;
    margin-bottom: 10px;
    font-size: 34px;
	  line-height: 1.75em;
  }

  .fusion-reason__copy {
    margin-bottom: 36px;
  }

  .fusion-reason__lead {
    font-size: 14px;
    line-height: 1.8;
  }

  .fusion-reason__message {
    font-size: 20px;
    line-height: 1.4;
  }

  .fusion-reason__cards {
    grid-template-columns: 1fr;
    gap: 26px;
    max-width: 360px;
  }

  .fusion-reason-card,
  .fusion-reason-card--01,
  .fusion-reason-card--02,
  .fusion-reason-card--03,
  .fusion-reason-card--04 {
    margin-top: 0;
  }

  .fusion-reason-card__innerbox {
    padding: 24px 20px 18px;
  }

  .fusion-reason-card__label {
    top: -4px;
    left: -10px;
    width: 108px;
  }

  .fusion-reason-card__label-text {
    font-size: 23px;
  }

  .fusion-reason-card__img {
    width: 70%;
    max-width: 190px;
    margin: 10px auto 12px;
  }

  .fusion-reason-card__text {
    font-size: 15px;
    line-height: 1.6;
	  margin-top: 2px;
	}
}

/* ::::::::::::::::::::::::::::::::
 * Before / After
 * :::::::::::::::::::::::::::::::: */

.fusion-before-after {
    position: relative;
    width: 100%;
    padding: 96px 20px 400px;
    background-image: url("/wp-content/themes/fusion/images/index/new_2026/fusion-bg-stone5.webp");
    background-repeat: repeat;
    background-size: 420px auto;
    background-position: top left;
    overflow: hidden;
}

.fusion-before-after__inner {
  position: relative;
  width: min(100%, 980px);
  margin: 0 auto;
}

/* ブラシ装飾 */
.fusion-before-after__brush {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}

.fusion-before-after__brush--top {
    top: -260px;
    left: -550px;
    width: 70vw;
}

.fusion-before-after__brush--bottom {
    right: -690px;
    bottom: -300px;
    width: 70vw;
    transform: rotate(180deg);
}

/* 見出し */
.fusion-before-after__title {
  position: relative;
  z-index: 1;
  margin: 0;
  text-align: center;
  color: #111;
  font-size: clamp(30px, 3.2vw, 48px);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.04em;
}

.fusion-before-after__line {
  position: relative;
  z-index: 1;
  width: 2px;
  height: 56px;
  margin: 26px auto 42px;
  background: #dfff00;
}

/* Before / Afterリスト */
.fusion-before-after__list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 58px;
}

/* 1セット */
.fusion-ba-item {
  width: min(100%, 1100px);
  margin: 0 auto;
}

/* 車種ラベル */
.fusion-ba-item__label {
  width: fit-content;
  min-width: 160px;
  margin: 0 auto 18px;
  padding: 8px 26px;
  background: #050505;
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  transform: skewX(-14deg);
}

.fusion-ba-item__label span {
  display: inline-block;
  transform: skewX(14deg);
}

/* 写真2枚＋矢印 */
.fusion-ba-item__photos {
  display: grid;
  grid-template-columns: 1fr 58px 1fr;
  align-items: center;
}

.fusion-ba-item__photo {
  position: relative;
}

/* 斜め黒枠 */
.fusion-ba-photo {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #111;
  clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%);
  filter: drop-shadow(0 8px 0 rgba(0, 0, 0, 0.22));
}

/* 画像本体 */
.fusion-ba-photo img {
  position: absolute;
  inset: 4px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  object-fit: cover;
  clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%);
  object-position: center 77%;
}

/* Before / Afterテキスト */
.fusion-ba-item__caption {
  margin: 9px 0 0;
  color: #111;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

/* 中央の矢印 */
.fusion-ba-item__arrow {
  position: relative;
  z-index: 3;
  width: 58px;
  height: 58px;
  margin-inline: -6px;
  border-radius: 50%;
  background: #c8ff00;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fusion-ba-item__arrow::before {
  content: "";
  width: 14px;
  height: 14px;
  border-top: 5px solid #111;
  border-right: 5px solid #111;
  transform: rotate(45deg);
  margin-left: -4px;
}
/* ----------ななめ区切り--------SVG */
.fusion-before-after {
  position: relative;
  overflow: hidden;
}

.fusion-before-after__divider {
  position: absolute;
  left: 0;
  bottom: -1px;
  z-index: 5;
  width: 100%;
  line-height: 0;
  pointer-events: none;
}
.fusion-before-after__divider img {
  display: block;
  width: 100%;
  height: auto;
}


@media screen and (max-width: 767px) {
  .fusion-before-after {
    padding: 72px 14px 105px;
    background-size: 320px auto;
  }

  .fusion-before-after__brush--top {
    top: -124px;
    left: -170px;
    width: 470px;
  }

  .fusion-before-after__brush--bottom {
    right: -250px;
    bottom: -158px;
    width: 590px;
  }

  .fusion-before-after__title {
    font-size: 42px;
    line-height: 1.15;
  }

  .fusion-before-after__line {
    height: 46px;
    margin: 22px auto 34px;
  }

  .fusion-before-after__list {
    gap: 44px;
  }

  .fusion-ba-item {
    width: 100%;
  }

  .fusion-ba-item__label {
    min-width: 130px;
    padding: 7px 18px;
    font-size: 20px;
    margin-bottom: 14px;
  }

  .fusion-ba-item__photos {
    grid-template-columns: 1fr 42px 1fr;
  }

  .fusion-ba-photo img {
    inset: 3px;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
  }

  .fusion-ba-item__caption {
    margin-top: 6px;
    font-size: 15px;
  }

  .fusion-ba-item__arrow {
    width: 44px;
    height: 44px;
    margin-inline: -4px;
  }

  .fusion-ba-item__arrow::before {
    width: 11px;
    height: 11px;
    border-top-width: 4px;
    border-right-width: 4px;
  }
}

/* ::::::::::::::::::::::::::::::::
 * 既存カタログ一覧 見出し
 * :::::::::::::::::::::::::::::::: */


.fusion-catalog-heading {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 20px 20px 42px;
  background: #ccc;
}

.fusion-catalog-heading__inner {
  width: 92%;
  margin: 0 auto;
}

.fusion-catalog-heading__title {
  margin: 0;
  color: #252525;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(26px, 3.4vw, 44px);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.03em;
}

.fusion-catalog-heading__line {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.fusion-catalog-heading__logo {
  display: block;
  width: clamp(100px, 13vw, 190px);
  height: auto;
  flex-shrink: 0;
  transform: translateY(2px);
}

.fusion-catalog-heading__text {
  display: inline-block;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .fusion-catalog-heading__title {
    font-size: 24px;
    line-height: 1.45;
  }

  .fusion-catalog-heading__line {
    gap: 6px;
    flex-wrap: wrap;
  }

  .fusion-catalog-heading__logo {
    width: 110px;
    transform: translateY(2px);
  }
}

/* 画像カードのリンクを基準にする */
#topmenu.new li a {
  position: relative;
  display: block;
  box-shadow: none;
}

#topmenu.new li a img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.3));
}

/* 黄色背景 */
#topmenu.new li a strong {
  position: absolute;
  left: 8px;
  bottom: 10px;
  z-index: 5;

  display: inline-block;
  margin: 0;
  padding: 8px 16px 8px 14px;

  background: #f1ff21;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  box-sizing: border-box;
  overflow: visible;
}

/* ブラシ：黄色背景より前、文字より後ろ */
#topmenu.new li a strong::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -28px;
    z-index: 1;
    width: 210px;
    height: 100px;
    background: url("/wp-content/themes/fusion/images/index/new_2026/fusion-custom-brush.svg") no-repeat left center;
    background-size: 100% 100%;
    pointer-events: none;
}
#topmenu.new li a strong {
  opacity: 0;
  transform: translateX(-40px);
}


/* テキストを最前面に */
#topmenu.new li a strong span {
  position: relative;
  z-index: 2;
}

/*　画像サイズ調整 */
#topmenu.new li a {
  position: relative;
  display: block;
  box-shadow: none;
}

#topmenu.new li a .topmenu-img-wrap {
  display: block;
  line-height: 0;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
}

#topmenu.new li a .topmenu-img-wrap img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  #topmenu.new li a {
    position: relative;
    display: block;
    padding-bottom: 22px;
    overflow: visible !important;
  }

  #topmenu.new li a img {
    display: block;
    width: 100%;
    height: auto;
  }
  #topmenu.new li a strong {
    left: 0px;
    bottom: 8px;
    padding: 7px 12px 7px 10px;
    font-size: 14px;
  }

  #topmenu.new li a strong::after {
    bottom: -5px;
    width: 150px;
    height: 45px;
  }
	#topmenu li a::before {
    background: none;
}
	  #topmenu.new li a .topmenu-img-wrap {
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }

  #topmenu.new li a .topmenu-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: left center;
  }
  #topmenu.new li.topmenu-every-wagon-01 a .topmenu-img-wrap img {
    object-position: 45% center;
  }
	#topmenu.new li.topmenu-every-van-03 a .topmenu-img-wrap img,
	#topmenu.new li.topmenu-every-van-04 a .topmenu-img-wrap img,
	#topmenu.new li.topmenu-hijet-truck-jumbo-04 a .topmenu-img-wrap img,
	#topmenu.new li.topmenu-hijet-truck-jumbo-05 a .topmenu-img-wrap img,
	#topmenu.new li.topmenu-hijet-truck-jumbo-02 a .topmenu-img-wrap img,
	#topmenu.new li.topmenu-super-carry-01 a .topmenu-img-wrap img,
	#topmenu.new li.topmenu-super-carry-02 a .topmenu-img-wrap img,
	#topmenu.new li.topmenu-hijet-truck-jumbo-03 a .topmenu-img-wrap img {
    object-position: 85% center;
  }
	  #topmenu.new li.topmenu-hijet-cargo-01 a .topmenu-img-wrap img {
    object-position: 60% center;
  }
}

/* ::::::::::::::::::::::::::::
 * アニメーション
 * :::::::::::::::::::::::::: */
/* =========================
  Scroll Animation Common
========================= */

/* 共通 */
.js-anim {
  opacity: 0;
  will-change: opacity, transform;
}

/* 画面に入ったら */
.js-anim.is-inview {
  animation-duration: 1.5s;
  animation-timing-function: cubic-bezier(.16, 1, .3, 1);
  animation-fill-mode: both;
}

/* 下からフェードアップ */
.js-anim--fade-up {
  transform: translateY(60px);
}

.js-anim--fade-up.is-inview {
  animation-name: fusionFadeUp;
}

/* 左から */
.js-anim--slide-left {
  transform: translateX(-48px);
}

.js-anim--slide-left.is-inview {
  animation-name: fusionSlideLeft;
}

/* 右から */
.js-anim--slide-right {
  transform: translateX(48px);
}

.js-anim--slide-right.is-inview {
  animation-name: fusionSlideRight;
}

/* ふわっと */
.js-anim--fade {
  transform: none;
}

.js-anim--fade.is-inview {
  animation-name: fusionFade;
}

/* ズーム */
.js-anim--zoom {
  transform: scale(0.94);
}

.js-anim--zoom.is-inview {
  animation-name: fusionZoom;
}

/* 遅延 */
.js-anim--delay-1.is-inview { animation-delay: 0.1s; }
.js-anim--delay-2.is-inview { animation-delay: 0.2s; }
.js-anim--delay-3.is-inview { animation-delay: 0.3s; }
.js-anim--delay-4.is-inview { animation-delay: 0.4s; }

/* 既存の車名用：左からスライド */
/* 車名ラベル用アニメーション */
#topmenu.new li a strong.js-slide-in-left {
  opacity: 0;
  transform: translateX(-48px);
  will-change: opacity, transform;
}

#topmenu.new li a strong.js-slide-in-left.is-inview {
  animation: fusionSlideLeft 0.7s cubic-bezier(.2, .9, .2, 1) both;
}

/* keyframes */
@keyframes fusionFadeUp {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fusionSlideLeft {
  0% {
    opacity: 0;
    transform: translateX(-48px);
  }
  70% {
    opacity: 1;
    transform: translateX(4px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fusionSlideRight {
  0% {
    opacity: 0;
    transform: translateX(48px);
  }
  70% {
    opacity: 1;
    transform: translateX(-4px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fusionFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fusionZoom {
  0% {
    opacity: 0;
    transform: scale(0.94);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/* ::::::::::::::::::::::::::::::::
 * テキスト reveal アニメーション
 * :::::::::::::::::::::::::::::::: */

.fusion-text-reveal span {
  display: inline-block;
  opacity: 0;
  transform: translateY(16px);
  filter: blur(4px);
  transition:
    opacity 0.8s ease,
    transform 0.8s cubic-bezier(.16, 1, .3, 1),
    filter 0.8s ease;
}

.fusion-text-reveal span:nth-of-type(2) {
  transition-delay: 0.18s;
}

.fusion-text-reveal.is-inview span {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* :::::::::::::::::
 * 端末別改行
 * ::::::::::::::::: */
.sp-only-br{
    display:none;
}

@media screen and (max-width:781px){

    .sp-only-br{
        display:block;
    }

}
html {
  scroll-behavior: smooth;
}
