@charset "UTF-8";
/* mv */
.mv {
  position: relative;
  height: 720px;
  margin-top: 14px;
  padding: 0 32px;
  z-index: 1;
}

.mv .mv-wrap > picture img {
  display: block;
  position: absolute;
  left: 32px;
  top: 0;
  width: calc(100% - 64px);
  height: 100%;
  border-radius: 32px;
  object-fit: cover;
}

.mv .mv-wrap .mv-inner img {
  width: 100%;
  height: auto;
}

.mv .mv-wrap .mv-inner .mv-subtitle {
  position: absolute;
  top: 18px;
  left: 50%;
  width: 100%;
  max-width: 1102px;
  transform: translateX(-50%);
}

.mv .mv-wrap .mv-inner .mv-soysauce {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 315px;
  height: 510px;
  transform: translate(-50%, -50%);
  z-index: 100;
}

.mv .mv-wrap .mv-inner .mv-title {
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 100%;
  max-width: 1301px;
  transform: translateX(-50%);
}

@media screen and (max-width: 1170px) {
  .mv {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .mv {
    height: 550px;
    padding: 0 8px;
  }

  .mv .mv-wrap > picture img {
    left: 8px;
    width: calc(100% - 16px);
  }

  .mv .mv-wrap .mv-inner .mv-subtitle {
    top: 33px;
    max-width: 323px;
  }

  .mv .mv-wrap .mv-inner .mv-soysauce {
    width: 195px;
    height: 316px;
  }

  .mv .mv-wrap .mv-inner .mv-title {
    bottom: -21px;
    max-width: 320px;
  }
}

/* recipe */
.recipe {
  position: relative;
  display: flex;
  column-gap: 64px;
  width: 100%;
  margin: 105px 0 0;
  padding: 0 64px;
}

.recipe .recipe-info {
  position: relative;
  width: 34.147%;
  margin: -11px 0 0;
}

.recipe .recipe-info::before {
  position: absolute;
  left: -134px;
  top: 267px;
  width: 42.7vw;
  min-width: 615px;
  height: auto;
  aspect-ratio: 615 / 439;
  background: url('../images/recipe-bg.png') center center / cover no-repeat;
  content: "";
  z-index: 0;
}

.recipe .recipe-info .section-title {
  position: relative;
}

.recipe .recipe-info p {
  position: relative;
  margin: 15px 0 0;
}

.recipe .recipe-slider {
  width: 36.586%;
  height: 100%;
}

.recipe .recipe-slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  opacity: 0 !important;
}

.recipe .recipe-slider .swiper-slide[class*="-active"],
.recipe .recipe-slider .swiper-slide[class*="-next"] {
  opacity: 1 !important;
}

.swiper-3d .swiper-slide-shadow {
  background: none;
}

.recipe .recipe-item .recipe-pic a {
  position: relative;
  max-height: 360px;
  text-decoration: none;
  color: var(--main-color-black);
}

.recipe .recipe-item .recipe-pic a figure {
  border-radius: 24px 24px 0 0;
  overflow: hidden;
}

.recipe .recipe-item .recipe-pic a img {
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.recipe .recipe-item .recipe-text {
  display: flex;
  flex-direction: column;
  height: 100%;

  position: relative;
  padding: 29px 32px 43px;
  border-radius: 0 0 24px 24px;
  overflow: hidden;
}

.recipe .recipe-item:nth-child(2n + 1) .recipe-text {
  background-color: var(--main-color-red);
}

.recipe .recipe-item:nth-child(2n) .recipe-text {
  background-color: var(--main-color-orange);
}

.recipe .recipe-item .recipe-text::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/top/recipe-item-bg.png') center center / cover no-repeat;
  mix-blend-mode: color-burn;
  content: "";
}

.recipe .recipe-item .recipe-text a {
  display: flex;
  flex-direction: column;
  height: 100%;

  position: relative;
  text-decoration: none;
}

.recipe .recipe-item .recipe-text .recipe-title {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 1.75em;
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: #fff;
}

.recipe .recipe-item .recipe-text .recipe-disc {
  margin: 12px 0 0;
  font-size: 0.875em;
  color: #fff;
}

.recipe .recipe-item .recipe-text .recipe-tags {
  margin: 30px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.recipe .recipe-item .recipe-text .recipe-tag a {
  display: block;
  padding: 4px 11px;
  border: 1px solid #fff;
  border-radius: 50px;
  font-size: 0.75em;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
}

.recipe .slider-bottom {
  position: absolute;
  bottom: -75px;
  right: 64px;
}

.recipe .slider-bottom .common-button-prev,
.recipe .slider-bottom .common-button-next {
  bottom: 0;
}

.recipe .slider-bottom .swiper-button-prev.common-button-prev {
  right: 48px;
  left: auto;
}

.recipe .slider-bottom .swiper-button-next.common-button-next {
  right: -5px;
}

/* hover */
.recipe .recipe-item .recipe-text .recipe-tag a:hover {
  background-color: #fff;
  color: var(--main-color-black);
}

.recipe .recipe-item .recipe-pic a:hover img {
  transform: scale(1.05);
}

@media screen and (max-width: 1150px) {
  .recipe .recipe-slider {
    width: 50%;
  }
}

@media screen and (max-width: 768px) {
  .recipe {
    flex-direction: column;
    margin: 55px 0 0;
    padding: 0 16px;
  }

  .recipe .recipe-info {
    width: 100%;
    padding: 0;
  }

  .recipe .recipe-info .section-title {
    position: relative;
  }

  .recipe .recipe-info p {
    position: relative;
    margin: 6px 0 0;
    font-size: 0.875em;
  }

  .recipe .recipe-info::before {
    position: absolute;
    top: -45px;
    left: auto;
    right: -54px;
    width: 87.2vw;
    min-width: 327px;
    height: auto;
    aspect-ratio: 327 / 234;
    background: url('../images/recipe-bg_sp.png') center center / cover no-repeat;
  }

  .recipe .recipe-slider {
    margin: 32px 0 0;
    width: 70%;
  }

  .recipe .recipe-item .recipe-pic a img {
    max-height: none;
    aspect-ratio: 332 / 249;
  }

  .recipe .recipe-item .recipe-text {
    padding: 20px 22px 36px;
  }

  .recipe .recipe-item .recipe-text .recipe-title {
    font-size: 1.375em;
  }

  .recipe .recipe-item .recipe-text .recipe-disc {
    margin: 9px 0 0;
    font-size: 0.8125em;
  }

  .recipe .recipe-item .recipe-text .recipe-tags {
    margin: 20px 0 0;
    gap: 6px;
  }

  .recipe .recipe-item .recipe-text .recipe-tag a {
    padding: 2px 8px;
    font-size: 0.625em;
  }
}

@media screen and (max-width: 450px) {
  .recipe .recipe-slider {
    width: 97%;
  }
}

/* favourite */
.favourite {
  position: relative;
  margin: 160px 0 0;
  padding: 0 64px;
}

.favourite .favourite-wrap {
  padding: 70px 62px 88px;
  border-radius: 32px;
  background-color: var(--main-color-gray);
}

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

.favourite .favourite-top .section-subtitle {
  position: relative;
  padding-left: 88px;
}

.favourite .favourite-top .section-subtitle::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 64px;
  height: 64px;
  background: url('../images/icon_book.png') center center / cover no-repeat;
  transform: translateY(-50%);
  content: "";
}

.favourite .favourite-top p {
  width: 41.334%;
  margin: 6px 0 0;
  font-size: 0.875em;
  line-height: 1.5;
}

.favourite .favourite-tags {
  justify-content: center;
  margin: 72px auto 0;
}

.favourite .favourite-main {
  margin: 57px 0 0;
}

.favourite .favourite-main > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 56px 36px;
}

.favourite .favourite-main > ul > li {
  width: calc((100% / 3) - 24px);
}

.favourite .favourite-main > ul > li a:has(figure) {
  position: relative;
  display: block;
}

.favourite .favourite-main > ul > li .favourite-item-info {
  margin: 13px 0 0;
}

.favourite .favourite-main > ul > li a:has(p) {
  display: block;
  text-decoration: none;
}

.favourite .favourite-main > ul > li a .favourite-title {
  margin: 0;
  color: var(--main-color-black);
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.005em;
  transition: color 0.3s ease;
}

.favourite .favourite-main > ul > li figure {
  width: 100%;
  height: auto;
  aspect-ratio: 376 / 282;
  overflow: hidden;
  border-radius: 16px;
}

.favourite .favourite-main > ul > li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.favourite .favourite-main .favourite-item-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 15px auto 0;
}

.favourite .favourite-main .favourite-item-tags li a {
  display: block;
  padding: 3px 10.5px;
  border: 1px solid var(--recipe-color);
  border-radius: 50px;
  font-size: 0.75em;
  font-weight: 500;
  color: var(--recipe-color);
  text-decoration: none;
  transition: all 0.3s ease;
}

.favourite .favourite-main div:has(.common-btn) {
  display: flex;
  justify-content: center;
  margin: 64px auto 0;
}

.favourite .favourite-main .common-btn {
  width: 250px;
}

/* hvoer */
.favourite .favourite-tags li a:hover {
  border: 1px solid var(--main-color-orange);
  background-color: var(--main-color-orange);
  color: #fff;
}

.favourite .favourite-main > ul > li > a:hover figure img {
  transform: scale(1.05);
}

.favourite .favourite-main > ul > li a:hover .favourite-title {
  color: var(--main-color-orange);
}

.favourite .favourite-main .favourite-item-tags li a:hover {
  border: 1px solid var(--main-color-orange);
  background-color: var(--main-color-orange);
  color: #fff;
}

@media screen and (max-width: 1150px) {
  .favourite .favourite-main > ul > li {
    width: calc((100% / 2) - 18px);
  }
}

@media screen and (max-width: 768px) {
  .favourite {
    margin: 40px 0 0;
    padding: 0;
  }

  .favourite .favourite-wrap {
    padding: 32px 16px 56px;
  }

  .favourite .favourite-top {
    flex-direction: column;
    padding: 51px 0 0;
    text-align: center;
  }

  .favourite .favourite-top .section-subtitle {
    padding-left: 0;
  }

  .favourite .favourite-top .section-subtitle::before {
    top: -33px;
    left: 50%;
    width: 40px;
    height: 40px;
    transform: translate(-50%, -50%);
  }

  .favourite .favourite-top p {
    width: 85%;
    margin: 7px auto 0;
    font-size: 0.8125em;
  }

  .favourite .favourite-tags {
    gap: 6px;
    margin: 21px auto 0;
    padding: 0 7px;
  }

  .favourite .favourite-main {
    margin: 36px 0 0;
  }

  .favourite .favourite-main > ul {
    flex-direction: column;
    gap: 18px 36px;
  }

  .favourite .favourite-main > ul > li {
    display: flex;
    column-gap: 13px;
    width: 100%;
  }

  .favourite .favourite-main > ul > li a:has(figure) {
    width: 30%;
    padding: 0 0 26px;
  }

  .favourite .favourite-main > ul > li a:has(p) {
    margin: 0;
  }

  .favourite .favourite-main > ul > li .recipe-timer {
    height: 26px;
    left: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    padding: 6px 0px 6px 17px;
    border-radius: 0 0 16px 16px;
    text-align: center;
  }

  .favourite .favourite-main > ul > li .favourite-item-info {
    flex: 1;
    margin: 1px 0 0;
  }

  .favourite .favourite-main > ul > li a .favourite-title {
    font-size: 1em;
  }

  .favourite .favourite-main > ul > li figure {
    aspect-ratio: 165 / 124;
    border-radius: 16px 16px 0 0;
  }

  .favourite .favourite-main .favourite-item-tags {
    gap: 6px;
    margin: 11px auto 0;
  }

  .favourite .favourite-main .favourite-item-tags li a {
    padding: 2px 8px;
    font-size: 0.625em;
  }

  .favourite .favourite-main div:has(.common-btn) {
    margin: 40px auto 0;
  }

  .favourite .favourite-main .common-btn {
    width: 228px;
  }
}

@media screen and (max-width: 450px) {
  .favourite .favourite-main > ul > li a:has(figure) {
    width: 48%;
  }
}

.loop-text .loop-block p:first-child:before {
  background: url('../images/top/icon_soysauce.png') center center / cover no-repeat;
}

.loop-text .loop-block p:nth-child(2):before {
  background: url('../images/top/icon_sauce.png') center center / cover no-repeat;
}

.loop-text .loop-block p:nth-child(3):before {
  background: url('../images/top/icon_makoto.png') center center / cover no-repeat;
}

/* product */
.product {
  margin: 54px 0 0;
  padding: 74px 64px 88px;
  background: url('../images/bg_orange.png') top left / 39px auto repeat;
}

.product .section-title {
  text-align: center;
}

.product .product-main {
  position: relative;
  margin: 55px 0 0;
}

.product .product-main-wrap {
  overflow: hidden;
  width: 83%;
  /* max-width: 1030px; */
  margin: 0 auto;
}

.product .product-slider {
  margin: 6vw auto 0;
  overflow-y: visible;
}

.product .product-slider .swiper-slide > a {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.77) scaleY(0.77);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.product .product-slider .swiper-slide-next > a,
.product .product-slider .swiper-slide-prev > a {
  transform: translate(0, -2vw) scaleX(0.77) scaleY(0.77);
}

.product .product-slider .swiper-slide-active > a {
  transform: translate(0, -4vw) scaleX(1.1) scaleY(1.1);
}

.product .product-item a > img {
  width: 100%;
}

.product .product-item .product-item-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 240%;
  margin: 5px 0 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-28%);
  transition: all 0.3s ease;
}

.product .product-item[class*="-active"] .product-item-text {
  opacity: 1;
  pointer-events: auto;
}

.product .product-item .product-item-text h4 {
  font-size: 1.75em;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-align: center;
}

.product .product-item .product-item-text p {
  margin: 25px auto 0;
  font-size: 0.875em;
  text-align: center;
}

.product .product-item .product-item-text .common-arrow-link {
  margin: 25px 0 0;
}

.product .product-main .slider-arrow {
  position: absolute;
  top: 48%;
  width: 100%;
  transform: translateY(-50%);
}

.product .product-main .swiper-button-prev,
.product .product-main .swiper-button-next {
  top: 36%;
  transform: translateY(-50%);
}

.product .product-main .swiper-button-prev {
  left: 64px;
}

.product .product-main .swiper-button-next {
  right: 64px;
}

.product .product-lists {
  margin: 60px 0 0;
}

.product .product-lists ul {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}

.product .product-lists ul li {
  width: calc(20% - 23px);
}

.product .product-lists ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 28px 40px;
  border-radius: 16px;
  text-decoration: none;
  background-color: #fff;
}

.product .product-lists ul li a img {
  width: 80px;
  height: auto;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.product .product-lists ul li a p {
  margin: 20px 0 0;
  line-height: 1.25;
  letter-spacing: -0.005em;
  font-size: 0.875em;
  font-weight: 600;
  color: var(--main-color-black);
  text-align: center;
  transition: color 0.3s ease;
}

.product .product-links {
  margin: 60px 0 0;
}

.product .product-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 37px;
}

.product .product-links ul li {
  width: calc((100% / 3) - 25px);
}

.product .product-links ul li a {
  display: flex;
  height: 100%;
  min-height: 186px;
  border-radius: 16px;
  text-decoration: none;
  overflow: hidden;
}

.product .product-links ul li.link-home a {
  background: url('../images/link-panel_orange.png') center center / 21px 35px repeat;
}

.product .product-links ul li.link-service a {
  background: url('../images/link-panel_red.png') center center / 21px 35px repeat;
  background-color: var(--main-color-red);
}

.product .product-links ul li.link-manufact a {
  background: url('../images/link-panel_black.png') center center / 21px 35px repeat;
}

.product .product-links ul li a .link-panel-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  row-gap: 28px;
  padding: 32px 36px;
}

.product .product-links ul li a .link-panel-text p {
  margin: 0;
  color: #fff;
}

.product .product-links ul li a .link-panel-text p:first-child {
  font-size: 1.75em;
  line-height: 1.25;
  letter-spacing: -0.005em;
}

.product .product-links ul li a .link-panel-text .common-arrow-text {
  width: 134px;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.25;
  color: #fff;
}

.product .product-links ul li a .link-panel-image {
  width: 30%;
  overflow: hidden;
}

.product .product-links ul li a .link-panel-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* hover */
.product .product-lists ul li a:hover p {
  color: var(--main-color-orange);
}

.product .product-links ul li a:hover .link-panel-image img {
  transform: scale(1.05);
}

.product .product-lists ul li a:hover img {
  transform: scale(1.05);
}

.product .product-links ul li a:hover .link-panel-text .common-arrow-text span::before {
  left: 0;
}

.product .product-links ul li a:hover .link-panel-text .common-arrow-text span::after {
  left: 21px;
}

/* ブロック下部のリンクブロックのみレスポンシブ */
@media screen and (max-width: 1420px) {
  .product .product-links ul li a .link-panel-text p:first-child {
    font-size: 1.25em;
  }

  .product .product-links ul li a .link-panel-text .common-arrow-text {
    font-size: 1em;
  }
}

@media screen and (max-width: 1200px) {
  .product .product-lists ul li {
    width: calc((100% / 4) - 23px);
  }
}

@media screen and (max-width: 1150px) {
  .product .product-links ul li a .link-panel-text {
    padding: 32px 10px;
  }

  .product .product-main .swiper-button-prev {
    left: 10px;
  }
  
  .product .product-main .swiper-button-next {
    right: 10px;
  }
}

@media screen and (max-width: 1000px) {
  .product .product-lists ul li {
    width: calc((100% / 3) - 23px);
  }


  .product .product-links {
    margin: 40px 0 0;
  }

  .product .product-links ul {
    flex-direction: column;
    row-gap: 16px;
  }

  .product .product-links ul li {
    width: 100%;
  }

  .product .product-links ul li a {
    position: relative;
    min-height: 112px;
    flex-direction: row-reverse;
  }

  .product .product-links ul li a:after {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    background: url('../images/arrow_white.svg') center center / cover no-repeat;
    content: "";
    transition: left 0.3s ease;
  }

  .product .product-links ul li a .link-panel-text {
    justify-content: center;
    padding: 28px 20px;
  }

  .product .product-links ul li a .link-panel-text p:first-child {
    font-size: 1.375em;
  }
}

@media screen and (max-width: 768px) {
  .product {
    margin: 33px 0 0;
    padding: 42px 16px 48px;
  }

  .product .product-main {
    margin: 12px 0 0;
  }

  .product .product-main-wrap {
    width: 100%;
  }

  .product .product-slider {
    width: 100%;
    max-width: 420px;
    margin: 24px auto 0;
  }

  .product .product-slider .swiper-slide > a,
  .product .product-slider .swiper-slide > a,
  .product .product-slider .swiper-slide-next > a,
  .product .product-slider .swiper-slide-prev > a,
  .product .product-slider .swiper-slide-active > a {
    transform: translate(0) scaleX(1) scaleY(1);
  }

  .product .product-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .product .product-slider .swiper-slide > a {
    width: 50%;
    height: auto;
  }

  .product .product-item .product-item-text {
    width: 100%;
    margin: 20px 0 0;
    transform: translateX(0);
  }

  .product .product-item .product-item-text h4 {
    font-size: 1.375em;
  }

  .product .product-item .product-item-text p {
    margin: 9px auto 0;
    font-size: 0.87125em;
  }

  .product .product-item .product-item-text .common-arrow-link {
    margin: 14px 0 0;
  }

  .product .product-main .slider-arrow {
    top: 41%;
    z-index: 1;
  }

  .product .product-main .swiper-button-prev,
  .product .product-main .swiper-button-next {
    top: 37%;
  }

  .product .product-main .swiper-button-prev {
    left: 0;
  }

  .product .product-main .swiper-button-next {
    right: 0;
  }

  .product .product-lists {
    margin: 70px 0 0;
  }

  .product .product-lists ul {
    gap: 9px;
  }

  .product .product-lists ul li {
    width: calc(50% - 5px);
  }

  .product .product-lists ul li a {
    padding: 16px 12px;
    border-radius: 16px;
  }

  .product .product-lists ul li a img {
    width: 60px;
  }

  .product .product-lists ul li a p {
    margin: 13px 0 0;
    font-size: 0.8125em;
  }
}

/* about-links */
.about-links {
  width: 100%;
  padding: 96px 64px;
  background: url('../images/top/about-bg.jpg') center center no-repeat;
}

.about-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 27px 56px;
}

.about-links ul li {
  width: calc(50% - 28px);
}

.about-links ul li .link-panel {
  display: flex;
  height: 100%;
  border-radius: 24px;
  overflow: hidden;
  text-decoration: none;
  background-color: #fff;
}

.about-links ul li .link-panel .link-panel-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 52px 39px 52px 48px;
  flex: 1;
}

.about-links ul li .link-panel .link-panel-text p {
  margin: 0;
  color: var(--main-color-black);
}

.about-links ul li .link-panel .link-panel-text p:has(b) {
  font-size: 1.75em;
  line-height: 1.25;
  letter-spacing: -0.005em;
  font-weight: 600;
}

.about-links ul li .link-panel .link-panel-text p:nth-child(2) {
  margin: 15px 0 0;
  font-size: 0.875em;
}

.about-links ul li .link-panel .link-panel-text p:nth-child(3) {
  display: block;
  position: relative;
  margin: 27px 0 0;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  transition: color 0.3s ease;
}

.about-links ul li .link-panel .link-panel-text p:nth-child(3) span {
  display: block;
  position: absolute;
  top: 50%;
  left: 115px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  overflow: hidden;
}

.about-links ul li .link-panel .link-panel-text p:nth-child(3) span::before,
.about-links ul li .link-panel .link-panel-text p:nth-child(3) span::after {
  position: absolute;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url('../images/arrow_black.svg') center center / cover no-repeat;
  content: "";
  transition: left 0.3s ease;
}

.about-links ul li .link-panel .link-panel-text p:nth-child(3) span::before {
  left: -21px;
}

.about-links ul li .link-panel .link-panel-text p:nth-child(3) span::after {
  left: 0;
}

.about-links ul li .link-panel .link-panel-image {
  width: 40%;
  overflow: hidden;
}

.about-links ul li .link-panel .link-panel-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* hover */
.about-links ul li .link-panel:hover .link-panel-image img {
  transform: scale(1.05);
}

.about-links ul li .link-panel:hover .link-panel-text p:nth-child(3) {
  color: var(--main-color-orange);
}

.about-links ul li .link-panel:hover .link-panel-text p:nth-child(3) span::before,
.about-links ul li .link-panel:hover .link-panel-text p:nth-child(3) span::after {
  background: url('../images/arrow_orange.svg') center center / cover no-repeat;
}

.about-links ul li .link-panel:hover .link-panel-text p:nth-child(3) span::before {
  left: 0;
}

.about-links ul li .link-panel:hover .link-panel-text p:nth-child(3) span::after {
  left: 21px;
}

@media screen and (max-width: 1150px) {
  .about-links ul li {
    width: 100%;
  }

  .about-links ul li .link-panel .link-panel-text {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 768px) {
  .about-links {
    padding: 36px 24px;
  }

  .about-links ul {
    justify-content: center;
  }

  .about-links ul li {
    max-width: 450px;
  }

  .about-links ul li .link-panel {
    flex-direction: column;
  }

  .about-links ul li .link-panel .link-panel-text {
    padding: 29px 24px 25px;
  }

  .about-links ul li .link-panel .link-panel-text p:has(b) {
    font-size: 1.375em;
  }

  .about-links ul li .link-panel .link-panel-text p:nth-child(2) {
    margin: 12px 0 0;
    font-size: 0.8125em;
  }

  .about-links ul li .link-panel .link-panel-text p:nth-child(3) {
    margin: 19px 0 0;
    font-size: 1em;
  }

  .about-links ul li .link-panel .link-panel-text p:nth-child(3) span {
    left: 101px;
  }

  .about-links ul li .link-panel .link-panel-image {
    width: 100%;
  }
}

/* news */
.news {
  margin: 81px 0 0;
  padding: 0 64px;
}

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

.news .common-btn {
  width: 190px;
}

.news .news-slider {
  margin: 47px 0 0;
  padding: 0 0 74px;
}

.news .news-slider .news-item a {
  text-decoration: none;
}

.news .news-slider .news-item a figure {
  border-radius: 16px;
  overflow: hidden;
}

.news .news-slider .news-item a figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.news .news-slider .news-item a p {
  margin: 14px 0 0;
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--main-color-black);
  transition: color 0.3s ease;
}

.news .news-slider .slider-bottom {
  position: relative;
  margin: 68px 0 0;
}

.news .news-slider .swiper-button-prev,
.news .news-slider .swiper-button-next {
  bottom: -72px;
}

.news .news-slider .swiper-button-prev.common-button-prev {
  right: 56px;
  left: auto;
}

.news .news-slider .swiper-button-next.common-button-next {
  right: 0;
}

.news .news-slider .swiper-scrollbar {
  width: 100%;
  height: 2px;
  cursor: grab;
  border-radius: 0;
  background-color: var(--main-color-gray);
}

.news .news-slider .swiper-scrollbar-drag {
  border-radius: 0;
  background: var(--main-color-black);
}

/* hover */
.news .news-slider .news-item a:hover p {
  color: var(--main-color-orange);
}

.news .news-slider .news-item a:hover img {
  transform: scale(1.05);
}

@media screen and (max-width: 768px) {
  .news {
    margin: 40px 0 0;
    padding: 0 16px;
  }

  .news .news-slider {
    margin: 23px 0 0;
    padding: 0 0 1px;
  }

  .news .news-slider .news-item a img {
    border-radius: 12px;
  }

  .news .news-slider .news-item a p {
    margin: 11px 0 0;
    font-size: 1em;
  }

  .news .news-slider .slider-bottom {
    margin: 41px 0 0;
  }

  .news .news-link {
    margin: 25px 0 0;
  }

  .news .news-link .common-btn {
    width: 169px;
    margin: 0 0 0 auto;
  }
}

/* faq-banner */
.faq-banner {
  height: 422px;
  margin: 72px 0 0;
  padding: 0 64px;
}

.faq-banner .faq-banner-wrap {
  height: 100%;
  border-radius: 32px;
  background: url('../images/top/faq-bg.jpg') center center / cover no-repeat;
}

.faq-banner .faq-banner-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: 1184px;
  height: 100%;
  margin: 0;
  padding: 0 100px;
}

.faq-banner .faq-banner-text h2,
.faq-banner .faq-banner-text p {
  color: #fff;
}

.faq-banner .faq-banner-text p {
  margin: 8px 0 0;
}

.faq-banner .faq-banner-text div:has(.common-btn) {
  margin: 48px 0 0;
}

.faq-banner .common-btn {
  width: 172px;
  color: var(--main-color-black);
  background-color: #fff;
}

.faq-banner .common-btn span::before,
.faq-banner .common-btn span::after {
  background: url('../images/arrow_black.svg') center center / cover no-repeat;
}

/* hover */
.faq-banner .common-btn:hover {
  color: #fff;
  background-color: var(--main-color-orange);
}

.faq-banner .common-btn:hover span::before,
.faq-banner .common-btn:hover span::after {
  background: url('../images/arrow_white.svg') center center / cover no-repeat;
}

@media screen and (max-width: 768px) {
  .faq-banner {
    height: 343px;
    margin: 48px 0 0;
    padding: 0 16px;
  }

  .faq-banner .faq-banner-wrap {
    border-radius: 24px;
    background: url('../images/top/faq-bg_sp.jpg') center center / cover no-repeat;
  }

  .faq-banner .faq-banner-text {
    justify-content: flex-start;
    max-width: 256px;
    padding: 32px;
  }

  .faq-banner .faq-banner-text p {
    margin: 13px 0 0;
    font-size: 0.875em;
  }

  .faq-banner .faq-banner-text div:has(.common-btn) {
    margin: 82px 0 0;
  }

  .faq-banner .common-btn {
    width: 153px;
  }
}
