@charset "utf-8";

:root {
  --body-bg: #F6F5EE;
  --body-bg-lt: #FEFDF6;
  --body-color: #000;
  --dark-color: #1A460A;
  --main-color: #890918;
  --font-ja: "Zen Old Mincho", serif;
  --font-size-base: 18rem;
  --font-size-xl: 24rem;
  --font-size-lg: 20rem;
  --font-size-sm: 16rem;
  --font-size-xs: 14rem;
  --font-weight-base: 400;
  --font-weight-bold: 700;
  --line-height-base: 2;
  --z-index-header-toggle: 100;
  --z-index-header-nav: 90;
  --z-index-header-bg: 80;
  --z-index-header-overlay: 70;
}

@media screen and (max-width: 750px) {
  :root {
    --font-size-base: 16rem;
    --font-size-xl: 20rem;
    --font-size-lg: 18rem;
    --font-size-sm: 14rem;
    --font-size-xs: 12rem;
    --line-height-base: 1.8;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ol,
ul,
li {
  list-style: none;
  padding: 0;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
p {
  font-size: inherit;
  font-weight: var(--font-weight-base);
  margin: 0;
}

img {
  height: auto;
  vertical-align: bottom;
  width: 100%;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  line-height: initial;
  outline: none;
  font-size: inherit;
  font-family: inherit;
}

form,
label,
dl,
dd {
  margin: 0;
}

figure,
figcaption {
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  padding: 0;
}

b,
strong {
  font-weight: var(--font-weight-bold);
}

a,
button {
  color: var(--body-color);
  cursor: pointer;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.6;
}

th {
  font-weight: var(--font-weight-base);
  text-align: left;
}

th,
td {
  padding: .3em 0;
}

html {
  font-size: .052083333333333336vw;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 750px) {
  html {
    font-size: .2857142857142857vw;
  }
}

body {
  animation: fadeIn 1s linear 0s 1 normal;
  background-color: var(--body-bg);
  color: var(--body-color);
  font-family: var(--font-ja);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-base);
  line-height: var(--line-height-base);
  margin: 0;
  overflow-wrap: break-word;
  text-align: justify;
  word-break: break-all;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* --------------------------------
  共通
-------------------------------- */
.container {
  padding-left: 100rem;
  padding-right: 100rem;
}

.container-lg {
  padding-left: 50rem;
  padding-right: 50rem;
}

.container-sm {
  padding-left: 150rem;
  padding-right: 150rem;
}

@media screen and (max-width: 750px) {
  .container-lg {
    padding-left: 10rem;
    padding-right: 10rem;
  }

  .container,
  .container-sm {
    padding-left: 20rem;
    padding-right: 20rem;
  }
}

/* --------------------------------
  ヘッダー
-------------------------------- */
.header {
  padding-block: 50rem 40rem;
}

@media screen and (min-width: 751px) {
  .header {
    position: relative;
    z-index: 0;
  }
}

@media screen and (max-width: 750px) {
  .header {
    padding-block: 40rem 25rem;
  }
}

.header__logo {
  margin-inline: auto;
  width: 267rem;
}

@media screen and (max-width: 750px) {
  .header__logo {
    width: 168rem;
  }
}

.header__toggle {
  display: grid;
  height: 60rem;
  padding-top: 6rem;
  justify-content: center;
  position: fixed;
  right: 6rem;
  top: 10rem;
  width: 60rem;
  z-index: var(--z-index-header-toggle);
}


.header__toggle::before,
.header__toggle::after {
  background: center / contain no-repeat;
  bottom: 9rem;
  content: "";
  display: block;
  height: 8rem;
  left: 0;
  position: absolute;
  transition: opacity .5s;
  width: 100%;
}

.header__toggle::before {
  background-image: url(/images/header-menu.svg);
}

.is-open .header__toggle::before {
  opacity: 0;
}

.header__toggle::after {
  background-image: url(/images/header-close.svg);
  opacity: 0;
}

.is-open .header__toggle::after {
  opacity: 1;
}

.header__toggle-inner {
  background: url(/images/header-toggle-bg.svg) center / contain no-repeat;
  display: block;
  height: 32rem;
  position: relative;
  width: 32rem;
  z-index: 0;
}

.header__toggle-line {
  background-color: var(--body-bg);
  display: block;
  height: 1px;
  left: 8rem;
  position: absolute;
  transform-origin: left;
  transition: .5s;
  z-index: 1;
  width: 16rem;
}

.is-open .header__toggle-line {
  transform-origin: center;
}

.header__toggle-line:nth-child(1) {
  top: 11rem;
}

.header__toggle-line:nth-child(2) {
  top: 16rem;
}

.header__toggle-line:nth-child(3) {
  top: 21rem;
}

.is-open .header__toggle-line:nth-child(1) {
  top: 16rem;
  transform: rotate(-45deg);
}

.is-open .header__toggle-line:nth-child(2) {
  opacity: 0;
}

.is-open .header__toggle-line:nth-child(3) {
  top: 16rem;
  transform: rotate(45deg);
}

.header__bg {
  background: url(/images/header-bg.svg) center / 100% no-repeat;
  height: 490rem;
  right: -160rem;
  pointer-events: none;
  position: fixed;
  top: -135rem;
  transform-origin: right top;
  transform: scale(0);
  transition: transform .8s;
  width: 490rem;
  will-change: transform;
  z-index: var(--z-index-header-bg);
}

.is-open .header__bg {
  transform: scale(1);
  transition-duration: .4s;
}

@media screen and (min-width: 751px) {
  .gnavs-wrap {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}

@media screen and (max-width: 750px) {
  .gnavs-wrap {
    display: grid;
    gap: 14rem;
    opacity: 0;
    padding-left: 85rem;
    position: fixed;
    right: 0;
    top: 74rem;
    transition: .3s;
    visibility: hidden;
    width: 330rem;
    z-index: var(--z-index-header-nav);
  }

  .is-open .gnavs-wrap {
    opacity: 1;
    transition-delay: .2s;
    transition-duration: .6s;
    visibility: visible;
  }
}

@media screen and (min-width: 751px) {
  .gnavs {
    align-items: center;
    bottom: 0;
    display: flex;
    gap: 40rem;
    margin-block: auto;
    position: absolute;
    top: 0;
    z-index: 1;
  }

  .gnavs--left {
    left: 50rem;
  }

  .gnavs--right {
    right: 50rem;
  }
}

@media screen and (max-width: 750px) {
  .gnavs {
    display: grid;
    gap: 14rem;
  }
}

.gnav__item {
  font-size: 18rem;
  font-weight: var(--font-weight-bold);
  position: relative;
}

.gnav__item::after {
  background: var(--body-color);
  bottom: -5rem;
  content: '';
  height: 1px;
  position: absolute;
  right: 0;
  transform-origin: right top;
  transform: scale(1, 1);
  transition: transform .3s;
  width: 100%;
}

@media (any-hover: hover) {
  .gnav__item:hover::after {
    transform: scale(0, 1);
  }
}

@media screen and (max-width: 750px) {
  .gnav__item {
    font-size: 14rem;
  }
}

.gnav__item-sm {
  font-size: 14rem;
}

@media screen and (max-width: 750px) {
  .gnav__item-sm {
    font-size: 10rem;
  }
}

.gnav-overlay {
  background-color: transparent;
  height: 100%;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: .6s;
  visibility: hidden;
  width: 100%;
  z-index: var(--z-index-header-overlay);
}

.is-open .gnav-overlay {
  opacity: 1;
  visibility: visible;
}


/* --------------------------------
  ファーストビュー
-------------------------------- */
.fv {
  border-radius: 10rem;
  height: 910rem;
  margin-inline: auto;
  overflow: hidden;
  position: relative;
  width: calc(100% - 100rem);
  z-index: 0;
}

@media screen and (max-width: 750px) {
  .fv {
    border-radius: 5rem;
    height: 400rem;
    width: calc(100% - 20rem);
  }
}

.fv::before {
  background: url(/images/fv-ttl.svg) center / contain no-repeat;
  bottom: 120rem;
  content: "";
  height: 329.14rem;
  left: 160rem;
  position: absolute;
  width: 80rem;
  z-index: 1;
}

@media screen and (max-width: 750px) {
  .fv::before {
    bottom: 30rem;
    height: 144rem;
    left: 30rem;
    width: 35rem;
  }
}

.fv::after {
  border-radius: 10rem;
  border: 1px solid;
  content: "";
  height: inherit;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

@media screen and (max-width: 750px) {
  .fv::after {
    border-radius: 5rem;
  }
}

.fv__slider {
  height: inherit;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.fv__img {
  height: 100%;
  left: 0;
  object-fit: cover;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

/* --------------------------------
  なにわ屋ファーム下川のこと
-------------------------------- */
.about {
  padding-block: 140rem 330rem;
}

@media screen and (max-width: 750px) {
  .about {
    padding-block: 80rem 215rem;
  }
}

.about__container {
  padding-right: 150rem;
}

@media screen and (max-width: 750px) {
  .about__container {
    padding-inline: 10rem;
  }
}

.about__body {
  margin-top: 140rem;
  position: relative;
}

@media screen and (max-width: 750px) {
  .about__body {
    margin-top: 40rem;
  }
}

.about__ttl {
  position: absolute;
  right: 40rem;
  top: 0;
  width: 108rem;
}

@media screen and (max-width: 750px) {
  .about__ttl {
    right: 5rem;
    top: 245rem;
    width: 44rem;
  }
}

.about__read {
  font-size: 22rem;
  line-height: 2.05;
  width: 560rem;
}

@media screen and (min-width: 751px) {
  .about__read {
    left: 835rem;
    position: absolute;
    top: 20rem;
  }
}

@media screen and (max-width: 750px) {
  .about__read {
    font-size: 13rem;
    letter-spacing: .03em;
    line-height: 1.92;
    margin-top: 70rem;
    width: 255rem;
  }
}

.about__img-01 {
  width: 697rem;
}

@media screen and (max-width: 750px) {
  .about__img-01 {
    width: 100%;
  }
}

.about__img-02 {
  bottom: -190rem;
  position: absolute;
  right: 0;
  width: 439rem;
}

@media screen and (max-width: 750px) {
  .about__img-02 {
    bottom: -130rem;
    width: 148rem;
  }
}

/* --------------------------------
  濃ゆとまとシリーズ
-------------------------------- */
.series {
  background-color: var(--body-bg-lt);
  border-radius: 10rem;
  padding-block: 130rem 160rem;
}

@media screen and (max-width: 750px) {
  .series {
    border-radius: 5rem;
    padding-block: 60rem 80rem;
  }
}

@media screen and (min-width: 751px) {
  .series__container {
    padding-inline: 142rem;
  }
}

.series__ttl {
  margin-inline: auto;
  width: 370rem;
}

@media screen and (max-width: 750px) {
  .series__ttl {
    width: 197rem;
  }
}

.series__read {
  font-size: 26rem;
  line-height: 1.43;
  margin-top: 80rem;
  text-align: center;
}

@media screen and (max-width: 750px) {
  .series__read {
    font-size: 14rem;
    margin-top: 50rem;
  }
}

.series__lists {
  display: grid;
  gap: 57rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 95rem;
}

@media screen and (max-width: 750px) {
  .series__lists {
    gap: 50rem;
    grid-template-columns: 1fr;
    margin-top: 35rem;
  }
}

.series__list-figure {
  position: relative;
  z-index: 0;
}

.series__list-caption {
  background-color: var(--body-bg-lt);
  border-radius: 5rem;
  color: var(--dark-color);
  font-size: 26rem;
  font-weight: var(--font-weight-bold);
  left: 20rem;
  line-height: 1.4;
  padding: 10rem 20rem 11.5rem;
  position: absolute;
  top: 40rem;
  z-index: 1;
}

@media screen and (max-width: 750px) {
  .series__list-caption {
    font-size: 15rem;
    left: 15rem;
    padding: 2rem 8rem 3rem;
    top: 15rem;
  }
}

.series__list-ttl {
  color: var(--main-color);
  font-size: 30rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin-top: 50rem;
}

@media screen and (max-width: 750px) {
  .series__list-ttl {
    font-size: 16rem;
    margin-top: 25rem;
  }
}

.series__list-txt {
  font-size: 20rem;
  margin-top: 30rem;
}

@media screen and (max-width: 750px) {
  .series__list-txt {
    font-size: 14rem;
    margin-top: 12rem;
  }
}

/* --------------------------------
  濃ゆとまととは？
-------------------------------- */
.what {
  padding-block: 150rem 0;
}

@media screen and (max-width: 750px) {
  .what {
    padding-block: 85rem 0;
  }
}

.what__ttl {
  margin-inline: auto;
  width: 349rem;
}

@media screen and (max-width: 750px) {
  .what__ttl {
    width: 194rem;
  }
}

.what__lists {
  display: grid;
  gap: 20rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 110rem;
}

@media screen and (max-width: 750px) {
  .what__lists {
    gap: 25rem;
    grid-template-columns: 1fr;
    margin-top: 40rem;
  }
}

.what__list {
  background-color: var(--body-bg-lt);
  border-radius: 10rem;
  padding: 100rem 30rem 60rem;
}

@media screen and (max-width: 750px) {
  .what__list {
    border-radius: 5rem;
    padding: 55rem 16rem 20rem;
  }
}

.what__list-ttl {
  color: var(--main-color);
  display: grid;
  font-size: 26rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.42;
  min-height: 75rem;
  place-content: center;
  position: relative;
  text-align: center;
  z-index: 0;
}

@media screen and (max-width: 750px) {
  .what__list-ttl {
    font-size: 18rem;
    line-height: 1.44;
    min-height: auto;
  }
}

.what__list-ttl::before {
  background: url(/images/what-icon.svg) center / contain no-repeat;
  content: "";
  height: 26rem;
  inset: 0;
  margin-inline: auto;
  position: absolute;
  top: -50rem;
  width: 43rem;
  z-index: -1;
}

@media screen and (max-width: 750px) {
  .what__list-ttl::before {
    height: 17rem;
    top: -30rem;
    width: 28.12rem;
  }
}

.what__list-ttl::after {
  background: url(/images/what-gr.png) center / contain no-repeat;
  content: "";
  height: 256rem;
  inset: 0;
  margin: auto;
  position: absolute;
  width: 256rem;
  z-index: -2;
}

@media screen and (max-width: 750px) {
  .what__list-ttl::after {
    height: 108rem;
    width: 108rem;
  }
}

.what__list-txt {
  line-height: 1.94;
  margin-top: 20rem;
}

@media screen and (max-width: 750px) {
  .what__list-txt {
    font-size: 13rem;
    line-height: 1.77;
  }
}

/* --------------------------------
  オススメはもちろんそのままで
-------------------------------- */
.recommend {
  padding-block: 190rem 0;
}

@media screen and (max-width: 750px) {
  .recommend {
    padding-block: 85rem 0;
  }
}

.recommend__box {
  border-radius: 10rem;
  border: 1px solid var(--main-color);
  height: 894rem;
  overflow: hidden;
  padding-top: 100rem;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 750px) {
  .recommend__box {
    border-radius: 5rem;
    height: 520rem;
    padding: 50rem 25rem 0;
  }
}

.recommend__box-bg {
  height: 100%;
  left: 0;
  object-fit: cover;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.recommend__ttl {
  margin-inline: auto;
  width: 450rem;
}

@media screen and (max-width: 750px) {
  .recommend__ttl {
    width: 217rem;
  }
}

.recommend__read {
  font-size: 20rem;
  line-height: 1.75;
  margin-top: 55rem;
  text-align: center;
}

@media screen and (max-width: 750px) {
  .recommend__read {
    font-size: 13rem;
    line-height: 1.92;
    margin-top: 40rem;
    text-align: left;
  }
}

/* --------------------------------
  会社概要
-------------------------------- */
.company {
  padding-block: 150rem 0;
}

@media screen and (max-width: 750px) {
  .company {
    padding-block: 85rem 0;
  }
}

.company__body {
  align-items: center;
  display: grid;
  gap: 220rem;
  grid-template-columns: 1fr 694rem;
  margin-top: 80rem;
}

@media screen and (max-width: 750px) {
  .company__body {
    gap: 40rem;
    grid-template-columns: 1fr;
    margin-top: 45rem;
  }
}

.company__list {
  border-top: 1px solid;
  display: grid;
  gap: 10rem;
  grid-template-columns: 150rem 1fr;
  line-height: 1.44;
  padding-block: 18rem;
  text-align: left;
}

@media screen and (max-width: 750px) {
  .company__list {
    gap: 5rem;
    grid-template-columns: 1fr;
    padding-block: 15rem;
  }
}

.company__list:last-child {
  border-bottom: 1px solid;
}

.company__list-ttl {
  font-size: 18rem;
  font-weight: var(--font-weight-bold);
}

@media screen and (max-width: 750px) {
  .company__list-ttl {
    font-size: 14rem;
  }
}

@media screen and (max-width: 750px) {
  .company__list-txt {
    font-size: 14rem;
  }
}

@media screen and (min-width: 751px) {
  .company__list-link {
    margin-left: 2em;
  }
}

@media screen and (max-width: 750px) {
  .company__img {
    margin-inline: auto;
    width: 283rem;
  }
}

.company__foot {
  margin-top: 140rem;
}

@media screen and (max-width: 750px) {
  .company__foot {
    margin-top: 60rem;
  }
}

.company__insta {
  align-items: center;
  background: url(/images/icon-instagram.svg) 20rem center/ 50rem no-repeat;
  border-radius: 10rem;
  border: 1px solid;
  display: flex;
  font-size: 19rem;
  font-weight: var(--font-weight-bold);
  height: 108rem;
  line-height: 1.42;
  margin-inline: auto;
  padding-inline: 100rem 105rem;
  position: relative;
  width: 715rem;
}

@media screen and (max-width: 750px) {
  .company__insta {
    background-position-x: 12rem;
    background-size: 33rem;
    font-size: 12rem;
    height: 77rem;
    padding-inline: 58rem 0;
    width: 100%;
  }
}

@media (any-hover: hover) {
  .company__insta::after {
    transition: transform .3s;
  }

  .company__insta:hover::after {
    transform: translateX(15%);
  }
}

@media screen and (min-width: 751px) {
  .company__insta::after {
    background: url(/images/icon-arrow.svg) center / contain no-repeat;
    content: "";
    height: 15.95rem;
    inset-block: 0;
    margin-block: auto;
    position: absolute;
    right: 20rem;
    width: 39rem;
  }
}

/* --------------------------------
  footer
-------------------------------- */
.footer {
  background-image: linear-gradient(90deg, #810211, #63020d 50%, #AC0F22 100%);
  border-radius: 10rem 10rem 0 0;
  margin-top: 120rem;
  padding: 150rem 50rem 55rem;
}

@media screen and (max-width: 750px) {
  .footer {
    background-image: linear-gradient(0deg, #810211, #63020d 50%, #AC0F22 100%);
    margin-top: 85rem;
    padding: 70rem 20rem 30rem;
  }
}

.footer__body {
  align-items: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 750px) {
  .footer__body {
    gap: 90rem;
    grid-template-columns: 1fr;
  }
}

.footer__logo {
  margin-inline: auto;
  width: 339rem;
}

@media screen and (max-width: 750px) {
  .footer__logo {
    width: 186rem;
  }
}

.footer__contact {
  text-align: center;
}

.footer__contact-ttl {
  border-bottom: 1px solid;
  color: var(--body-bg);
  display: inline-block;
  font-size: 30rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.8;
}

@media screen and (max-width: 750px) {
  .footer__contact-ttl {
    font-size: 22rem;
  }
}

.footer__contact-txt {
  color: var(--body-bg);
  font-size: 20rem;
  line-height: 1.45;
  margin-top: 30rem;
}

@media screen and (max-width: 750px) {
  .footer__contact-txt {
    font-size: 14rem;
    margin-top: 22rem;
  }
}

.footer__contact-btn {
  align-items: center;
  background-color: var(--body-bg);
  border-radius: 50rem;
  display: flex;
  font-size: 22rem;
  font-weight: var(--font-weight-bold);
  gap: 17rem;
  height: 100rem;
  margin: 45rem auto 0;
  width: 396rem;
  justify-content: center;
  padding-left: 10rem;
}

@media screen and (max-width: 750px) {
  .footer__contact-btn {
    font-size: 18rem;
    gap: 5rem;
    height: 77rem;
    margin-top: 22rem;
    width: 100%;
  }
}

.footer__contact-btn::after {
  background: url(/images/icon-arrow.svg) center / contain no-repeat;
  content: "";
  height: 15.95rem;
  margin-bottom: -3rem;
  width: 39rem;
}

@media (any-hover: hover) {
  .footer__contact-btn::after {
    transition: transform .3s;
  }

  .footer__contact-btn:hover::after {
    transform: translateX(15%);
  }
}

@media screen and (max-width: 750px) {
  .footer__contact-btn::after {
    height: 8rem;
    margin-bottom: -1.5rem;
    width: 19.56rem;
  }
}

.footer__foot {
  margin-top: 135rem;
}

@media screen and (max-width: 750px) {
  .footer__foot {
    margin-top: 70rem;
  }
}

.footer__copy {
  display: flex;
  line-height: 1;
  margin-inline: auto;
  width: 190rem;
}

@media screen and (max-width: 750px) {
  .footer__copy {
    width: 158rem;
  }
}

/* --------------------------------
  sec
-------------------------------- */
.sec-ttl {
  font-size: 20rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 750px) {
  .sec-ttl {
    font-size: 14rem;
  }
}

.sec-ttl::before {
  background: url(/images/h2-icon.svg) center/ contain no-repeat;
  content: "";
  display: block;
  height: 19rem;
  margin: 0 auto 6rem;
  width: 19rem;
}

@media screen and (max-width: 750px) {
  .sec-ttl::before {
    background-image: url(/images/h2-icon-sp.svg);
    height: 16rem;
    width: 16rem;
  }
}

.sec-ttl__inner {
  border-bottom: 1px solid;
  display: inline-block;
  padding-bottom: 8rem;
}

.sec-ttl__sm {
  font-size: 14rem;
}

.sec-img {
  border-radius: 10rem;
  border: 1px solid;
}

@media screen and (max-width: 750px) {
  .sec-img {
    border-radius: 5rem;
  }
}

.sec-link {
  display: inline-block;
  padding-left: 1.7em;
  position: relative;
}

.sec-link::before {
  background: var(--body-color);
  bottom: 0;
  content: '';
  height: 1px;
  position: absolute;
  right: 0;
  transform-origin: right top;
  transform: scale(1, 1);
  transition: transform .3s;
  width: calc(100% - 1.7em);
}

.sec-link::after {
  background: url(/images/icon-arrow.svg) center / contain no-repeat;
  content: "";
  height: .5em;
  inset-block: 0;
  left: 0;
  margin-block: auto;
  position: absolute;
  width: 1.2em;
}

@media (any-hover: hover) {

  .sec-link::before,
  .sec-link::after {
    transition: transform .3s;
  }

   .sec-link:hover::before {
    transform: scale(0, 1);
  }

  .sec-link:hover::after {
    transform: translateX(15%);
  }
}

/* --------------------------------
  ユーティリティー
-------------------------------- */
.color-main {
  color: var(--main-color);
}

.color-font {
  color: var(--body-color);
}

.color-white {
  color: #fff;
}

.fw-bold {
  font-weight: var(--font-weight-bold);
}

.text-center {
  text-align: center;
}

.text-xl {
  font-size: var(--font-size-xl);
}

.text-lg {
  font-size: var(--font-size-lg);
}

.text-sm {
  font-size: var(--font-size-sm);
}

.text-xs {
  font-size: var(--font-size-xs);
}

@media screen and (min-width: 751px) {
  .pc-none {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  .sp-none {
    display: none !important;
  }
}

/* --------------------------------
  スクロールアニメーション
-------------------------------- */
.js-scroll-trigger {
  filter: blur(4px);
  opacity: 0;
  transform: translateY(10rem);
  transition: all 1.3s;
}

.js-scroll-trigger.is-show {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0px);
}