/***********************************************************************
media queries setting
**********************************************************************/
/****************** responsive ******************/
/****************** responsive ******************/
/***********************************************************************
reset
**********************************************************************/
* {
  margin: 0;
  padding: 0;
}

html, body {
  -webkit-text-size-adjust: 100%;
}

body {
  color: #595757;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1vw, 14px);
  font-weight: 500;
}
@media (max-width: 768px) {
  body {
    font-size: min(3.7333333333vw, 14px);
  }
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, table, th, td, img,
article, footer, header, nav, section {
  margin: 0;
  padding: 0;
  border: none;
  /*font-feature-settings : "palt";*/
  list-style-type: none;
}

th {
  font-weight: normal;
  text-align: inherit;
}

select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 100%;
  font-family: "Noto Sans JP", sans-serif;
}

select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  outline: none;
}

*:focus {
  outline: none;
}

img[src$=".svg"] {
  width: 100%;
}

hr {
  display: none;
}

a {
  color: #595757;
  text-decoration: none;
  outline: none;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

/* set html5 elements to block */
article, footer, header, nav, section {
  display: block;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

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

@media (max-width: 768px) {
  br.sp {
    display: inline-block !important;
  }
}

ul {
  font-size: 0;
}
ul li {
  font-size: min(1vw, 14px);
}
@media (max-width: 768px) {
  ul li {
    font-size: min(3.7333333333vw, 14px);
  }
}

/********************************************************************************
common
********************************************************************************/
.wrapper {
  margin-top: 85px;
  overflow-x: hidden;
}
@media (max-width: 768px) {
  .wrapper {
    margin-top: 42px;
  }
}

.inner {
  margin: 0 auto;
  width: min(85.7142857143vw, 1200px);
}
@media (max-width: 768px) {
  .inner {
    width: 91.7%;
  }
}

/* anim */
.blur {
  opacity: 0;
}
.blur.active {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: Blur;
  animation-name: Blur;
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (max-width: 768px) {
  .blur.active {
    -webkit-animation-duration: 0.75s;
            animation-duration: 0.75s;
  }
}

@-webkit-keyframes Blur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

@keyframes Blur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
.fi {
  opacity: 0;
}
.fi.active {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-filter: blur(0.8rem);
            filter: blur(0.8rem);
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0rem);
            filter: blur(0rem);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-filter: blur(0.8rem);
            filter: blur(0.8rem);
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0rem);
            filter: blur(0rem);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes kumo {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
}
@keyframes kumo {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
}
/* anim */
/********************************************************************************
header
********************************************************************************/
header {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 85px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  left: 0;
  top: 0;
  padding: 0 5%;
  width: 100%;
  z-index: 997;
}
@media (max-width: 768px) {
  header {
    height: 42px;
  }
}
header #logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header #logo a {
  margin-right: 70px;
}
@media (max-width: 768px) {
  header #logo a {
    margin-right: 20px;
  }
}
header #logo a img {
  max-width: 142px;
  vertical-align: baseline;
}
@media (max-width: 768px) {
  header #logo a img {
    max-width: 78px;
  }
}

/********************************************************************************
footer
********************************************************************************/
footer {
  background: #fff;
  padding-bottom: 50px;
}
@media (max-width: 768px) {
  footer {
    padding-bottom: 20px;
  }
}
footer .footer__inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  footer .footer__inner {
    max-width: 100%;
  }
}
footer .footer__link {
  width: 110px;
  text-align: center;
  margin: 0 auto 30px;
}
@media (max-width: 768px) {
  footer .footer__link {
    width: 32%;
  }
}
footer .footer__link:hover {
  opacity: 0.85;
}
@media (max-width: 768px) {
  footer .footer__link:hover {
    opacity: 1;
  }
}
footer .footer__link img {
  width: 100%;
}
footer .footer__sns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 30px;
}
footer .footer__sns__item {
  padding: 0 15px;
}
footer .footer__sns__item:hover {
  opacity: 0.85;
}
@media (max-width: 768px) {
  footer .footer__sns__item:hover {
    opacity: 1;
  }
}
footer .footer__nav {
  margin-bottom: 35px;
}
footer .footer__nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .footer__nav__item {
  font-size: 12px;
  padding: 0 10px;
}
footer .footer__nav__item:first-child {
  border-right: 1px solid #2f2f2f;
}
footer .footer__nav__link {
  color: #2f2f2f;
}
footer .footer__nav__link:hover {
  text-decoration: underline;
}
footer .footer__copy {
  color: #2f2f2f;
  font-size: 12px;
  text-align: center;
}

/********************************************************************************
lp design
********************************************************************************/
#home {
  /* main */
}
#home #main {
  background: url(../images/top/main-image.png) no-repeat center top/contain, url(../images/top/main-back.jpg) repeat;
  margin-bottom: min(6.6428571429vw, 93px);
  padding-bottom: min(5.5714285714vw, 78px);
}
@media (max-width: 768px) {
  #home #main {
    background: url(../images/top/main-image-sp.png) no-repeat center top/contain, url(../images/top/main-back.jpg) repeat center/min(18.6666666667vw, 70px);
    margin-bottom: min(28.8vw, 108px);
    padding-bottom: min(16.8vw, 63px);
  }
}
#home #main .inner {
  width: 70.5vw;
}
@media (max-width: 768px) {
  #home #main .inner {
    width: 91.7%;
  }
}
#home #main h1 {
  margin: 0 auto;
  padding: 17.11vw 0 3.588vw;
  width: 34.5vw;
}
@media (max-width: 768px) {
  #home #main h1 {
    padding: 59.46vw 0 40.96vw;
    width: 88.8vw;
  }
}
#home #main .intro-list {
  background: #fff;
  border-radius: 20px;
  -webkit-box-shadow: 2px 7px 7px rgba(158, 158, 159, 0.5);
          box-shadow: 2px 7px 7px rgba(158, 158, 159, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 10.478vw;
  padding: 0.794vw 0;
}
@media (max-width: 768px) {
  #home #main .intro-list {
    background: transparent;
    border-radius: 0px;
    -webkit-box-shadow: none;
            box-shadow: none;
    display: block;
    margin-bottom: min(14.4vw, 54px);
  }
}
#home #main .intro-list li {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  #home #main .intro-list li {
    background: #fff;
    border-radius: 8px;
    -webkit-box-shadow: 1px 3px 3px rgba(158, 158, 159, 0.5);
            box-shadow: 1px 3px 3px rgba(158, 158, 159, 0.5);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: min(5.0666666667vw, 19px) 0;
  }
}
#home #main .intro-list li:not(:last-child) {
  border-right: 1px solid rgba(0, 76, 27, 0.5);
  margin-right: 1.588vw;
  padding: 0.5764vw 1.515vw 0.5764vw 0;
}
@media (max-width: 768px) {
  #home #main .intro-list li:not(:last-child) {
    border: none;
    margin-bottom: min(2.6666666667vw, 10px);
    margin-right: 0;
    padding: min(5.0666666667vw, 19px) 0;
  }
}
#home #main .intro-list img {
  height: 3.46vw;
  margin-right: 0.941vw;
  width: auto;
}
@media (max-width: 768px) {
  #home #main .intro-list img {
    height: min(14.8vw, 55.5px);
    margin-right: min(2.6666666667vw, 10px);
  }
}
#home #main .intro-list p {
  color: #004c1b;
  font-size: 0.941vw;
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #home #main .intro-list p {
    font-size: min(4.9333333333vw, 18.5px);
  }
}
#home #main .eligible-btn {
  margin: 0 auto;
  width: min(48vw, 672px);
}
@media (max-width: 768px) {
  #home #main .eligible-btn {
    width: min(77.3333333333vw, 290px);
  }
}
#home #main .eligible-btn a {
  background: #e3672a;
  border: 2px solid #e3672a;
  border-radius: 44px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  display: block;
  font-size: min(2.1428571429vw, 30px);
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: min(1.4285714286vw, 20px) 0;
  position: relative;
  text-align: center;
  width: 100%;
}
@media (max-width: 768px) {
  #home #main .eligible-btn a {
    font-size: min(4.6666666667vw, 17.5px);
    padding: min(2.9333333333vw, 11px) min(5.6vw, 21px) min(2.9333333333vw, 11px) 0;
  }
}
#home #main .eligible-btn a::before {
  background: url(../images/top/main-btn-arrow.svg) no-repeat center/contain;
  content: "";
  height: min(2.5714285714vw, 36px);
  position: absolute;
  right: min(2.1428571429vw, 30px);
  top: 50%;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: min(2.5714285714vw, 36px);
}
@media (max-width: 768px) {
  #home #main .eligible-btn a::before {
    height: min(5.6vw, 21px);
    right: min(5.0666666667vw, 19px);
    width: min(5.6vw, 21px);
  }
}
@media (hover: hover) and (pointer: fine) {
  #home #main .eligible-btn a:hover {
    background: #fff;
    color: #e3672a;
  }
  #home #main .eligible-btn a:hover::before {
    background: url(../images/top/main-btn-arrow-h.svg) no-repeat center/contain;
  }
}
#home #main .eligible-note {
  font-size: min(1.0714285714vw, 15px);
  font-weight: 700;
  line-height: 1.75;
  margin-top: min(0.8571428571vw, 12px);
  text-align: center;
}
@media (max-width: 768px) {
  #home #main .eligible-note {
    font-size: min(3.2vw, 12px);
    margin: min(4vw, 15px) auto 0;
    text-align: left;
    width: min(82.9333333333vw, 311px);
  }
}
#home {
  /* main */
  /* producer */
}
#home #producer {
  position: relative;
}
#home #producer .inner {
  position: relative;
}
#home #producer .head-box {
  margin: 0 auto min(5.3571428571vw, 75px);
  position: relative;
  text-align: center;
  width: min(45.0714285714vw, 631px);
}
@media (max-width: 768px) {
  #home #producer .head-box {
    margin-bottom: min(10.1333333333vw, 38px);
    width: min(85.3333333333vw, 320px);
  }
}
#home #producer .head-box h2 {
  color: #006934;
  font-family: "Zen Old Mincho", serif;
  font-size: min(3.0357142857vw, 42.5px);
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-bottom: min(0.1428571429vw, 2px);
}
@media (max-width: 768px) {
  #home #producer .head-box h2 {
    font-size: min(8vw, 30px);
    line-height: 1.2;
    margin-bottom: 0;
  }
}
#home #producer .head-box .en {
  color: #cfab00;
  display: inline-block;
  font-size: min(1.2857142857vw, 18px);
  letter-spacing: 0.3em;
  padding: 0 min(3.9285714286vw, 55px);
  position: relative;
}
@media (max-width: 768px) {
  #home #producer .head-box .en {
    font-size: min(2.6666666667vw, 10px);
    padding: 0 min(8vw, 30px);
  }
}
#home #producer .head-box .en::before, #home #producer .head-box .en::after {
  border-bottom: 1px solid rgba(185, 170, 116, 0.5);
  content: "";
  height: 0;
  position: absolute;
  top: 50%;
  width: min(3.1071428571vw, 43.5px);
}
@media (max-width: 768px) {
  #home #producer .head-box .en::before, #home #producer .head-box .en::after {
    width: min(6.4vw, 24px);
  }
}
#home #producer .head-box .en::before {
  left: 0;
}
#home #producer .head-box .en::after {
  right: 0;
}
#home #producer .head-box::before, #home #producer .head-box::after {
  background: url(../images/top/producer-head-deco.svg) no-repeat center center/contain;
  content: "";
  height: min(7.6428571429vw, 107px);
  position: absolute;
  top: 50%;
  width: min(6.0714285714vw, 85px);
}
@media (max-width: 768px) {
  #home #producer .head-box::before, #home #producer .head-box::after {
    height: min(22.1333333333vw, 83px);
    top: min(4.8vw, 18px);
    width: min(17.6vw, 66px);
  }
}
#home #producer .head-box::before {
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media (max-width: 768px) {
  #home #producer .head-box::before {
    -webkit-transform: none;
            transform: none;
  }
}
#home #producer .head-box::after {
  right: 0;
  -webkit-transform: translate(0, -50%) scale(-1, 1);
          transform: translate(0, -50%) scale(-1, 1);
}
@media (max-width: 768px) {
  #home #producer .head-box::after {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
}
#home #producer .producer-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: min(4.0714285714vw, 57px);
}
@media (max-width: 768px) {
  #home #producer .producer-list {
    display: block;
    margin-bottom: min(36vw, 135px);
  }
}
#home #producer .producer-list li {
  margin-bottom: min(8.0714285714vw, 113px);
  padding-bottom: min(3.5714285714vw, 50px);
  position: relative;
  width: 23%;
}
@media (max-width: 768px) {
  #home #producer .producer-list li {
    width: 100%;
  }
  #home #producer .producer-list li:not(:last-child) {
    border-bottom: 1px solid rgba(117, 76, 36, 0.25);
    margin-bottom: min(14.6666666667vw, 55px);
    padding-bottom: min(14.6666666667vw, 55px);
  }
  #home #producer .producer-list li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
#home #producer .producer-list li:not(:nth-child(4n)) {
  margin-right: 2.666%;
}
@media (max-width: 768px) {
  #home #producer .producer-list li:not(:nth-child(4n)) {
    margin-right: 0;
  }
}
#home #producer .producer-list li:nth-child(odd) .name-box {
  background: #004c1b;
}
#home #producer .producer-list li:nth-child(even) .name-box {
  background: #36843c;
}
@media (hover: hover) and (pointer: fine) {
  #home #producer .producer-list li:has(.more-btn a:hover) .image {
    opacity: 0.6;
  }
}
#home #producer .producer-list .image {
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
#home #producer .producer-list .name-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: min(5.2857142857vw, 74px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: min(1.1428571429vw, 16px);
  text-align: center;
}
@media (max-width: 768px) {
  #home #producer .producer-list .name-box {
    height: min(23.4666666667vw, 88px);
    margin-bottom: min(5.3333333333vw, 20px);
  }
}
#home #producer .producer-list .name-box .place {
  display: inline-block;
  font-size: min(1vw, 14px);
  font-weight: 700;
  margin-bottom: min(0.3571428571vw, 5px);
  padding-left: min(0.9285714286vw, 13px);
  position: relative;
}
@media (max-width: 768px) {
  #home #producer .producer-list .name-box .place {
    font-size: min(3.4666666667vw, 13px);
    margin-bottom: min(1.3333333333vw, 5px);
    padding-left: min(3.4666666667vw, 13px);
  }
}
#home #producer .producer-list .name-box .place::before {
  background: url(../images/top/producer-place-icon.svg) no-repeat center/contain;
  content: "";
  height: min(1vw, 14px);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: min(0.6428571429vw, 9px);
}
@media (max-width: 768px) {
  #home #producer .producer-list .name-box .place::before {
    height: min(3.7333333333vw, 14px);
    width: min(2.4vw, 9px);
  }
}
#home #producer .producer-list .name-box h3 {
  font-size: min(1.5714285714vw, 22px);
  font-weight: 700;
  line-height: 0.8;
}
@media (max-width: 768px) {
  #home #producer .producer-list .name-box h3 {
    font-size: min(6.6666666667vw, 25px);
    line-height: 1;
  }
}
#home #producer .producer-list .name-box h3 small {
  font-size: min(1vw, 14px);
}
@media (max-width: 768px) {
  #home #producer .producer-list .name-box h3 small {
    font-size: min(5.8666666667vw, 22px);
  }
}
#home #producer .producer-list .products-head {
  background: #cfab00;
  border-radius: 6px;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  margin-bottom: min(0.4285714286vw, 6px);
  padding-left: min(0.3571428571vw, 5px);
}
@media (max-width: 768px) {
  #home #producer .producer-list .products-head {
    margin-bottom: min(0.5333333333vw, 2px);
    padding-left: min(1.3333333333vw, 5px);
  }
}
#home #producer .producer-list .products-text {
  color: #754c24;
  font-size: min(1.1428571429vw, 16px);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: min(0.7142857143vw, 10px);
}
@media (max-width: 768px) {
  #home #producer .producer-list .products-text {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.6;
    margin-bottom: min(4.5333333333vw, 17px);
  }
}
#home #producer .producer-list .desc {
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
}
@media (max-width: 768px) {
  #home #producer .producer-list .desc {
    line-height: 1.75;
    margin-bottom: min(9.0666666667vw, 34px);
  }
}
#home #producer .producer-list .more-btn {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media (max-width: 768px) {
  #home #producer .producer-list .more-btn {
    position: static;
  }
}
#home #producer .producer-list .more-btn a {
  background: #fff;
  border: 1px solid #004c1b;
  border-radius: 18px;
  color: #004c1b;
  display: block;
  font-size: min(1.2142857143vw, 17px);
  padding: min(0.2857142857vw, 4px) 0;
  position: relative;
  text-align: center;
  width: 100%;
}
@media (max-width: 768px) {
  #home #producer .producer-list .more-btn a {
    font-size: min(4.5333333333vw, 17px);
    padding: min(1.0666666667vw, 4px) 0;
  }
}
#home #producer .producer-list .more-btn a::before {
  background: url(../images/top/producer-btn-arrow.svg) no-repeat center/contain;
  content: "";
  height: min(1.5vw, 21px);
  position: absolute;
  right: min(0.8571428571vw, 12px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: min(1.5vw, 21px);
}
@media (max-width: 768px) {
  #home #producer .producer-list .more-btn a::before {
    height: min(5.6vw, 21px);
    right: min(3.2vw, 12px);
    width: min(5.6vw, 21px);
  }
}
@media (hover: hover) and (pointer: fine) {
  #home #producer .producer-list .more-btn a:hover {
    background: #d4df4b;
  }
}
#home #producer .producer-text {
  color: #004c1b;
  font-size: min(1.7857142857vw, 25px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2.35;
  margin: 0 auto min(10.7142857143vw, 150px);
  padding: min(4.2857142857vw, 60px) 0 min(3.5714285714vw, 50px);
  position: relative;
  text-align: center;
  width: min(52.5714285714vw, 736px);
}
@media (max-width: 768px) {
  #home #producer .producer-text {
    font-size: min(5.3333333333vw, 20px);
    line-height: 1.85;
    margin-bottom: min(44vw, 165px);
    padding: min(11.4666666667vw, 43px) 0 min(13.3333333333vw, 50px);
    width: 100%;
  }
}
#home #producer .producer-text::before, #home #producer .producer-text::after {
  background: url(../images/top/producer-text-line.svg) repeat-x left center/contain;
  content: "";
  height: min(0.2142857143vw, 3px);
  position: absolute;
  left: 0;
  width: 100%;
}
@media (max-width: 768px) {
  #home #producer .producer-text::before, #home #producer .producer-text::after {
    height: min(0.5333333333vw, 2px);
  }
}
#home #producer .producer-text::before {
  top: 0;
}
#home #producer .producer-text::after {
  bottom: 0;
}
#home #producer .illust {
  margin: 0 auto;
  width: min(50.5714285714vw, 708px);
}
@media (max-width: 768px) {
  #home #producer .illust {
    width: min(80.8vw, 303px);
  }
}
#home #producer .deco1 {
  position: absolute;
  bottom: min(51vw, 714px);
  left: max(-6.9285714286vw, -97px);
  width: min(27.4285714286vw, 384px);
  z-index: -5;
}
@media (max-width: 768px) {
  #home #producer .deco1 {
    bottom: min(160vw, 600px);
    left: max(-15.7333333333vw, -59px);
    width: min(53.3333333333vw, 200px);
  }
}
#home #producer .deco1 img {
  animation: kumo 1.8s ease-in-out infinite alternate-reverse;
}
#home #producer .deco2 {
  position: absolute;
  bottom: min(24.2142857143vw, 339px);
  left: max(-28.7857142857vw, -403px);
  width: min(35.3571428571vw, 495px);
  z-index: -5;
}
@media (max-width: 768px) {
  #home #producer .deco2 {
    bottom: min(44.5333333333vw, 167px);
    left: max(-15.2vw, -57px);
    width: min(34.4vw, 129px);
  }
}
#home #producer .deco3 {
  position: absolute;
  bottom: min(3.5vw, 49px);
  left: min(3.7857142857vw, 53px);
  width: min(36.7857142857vw, 515px);
  z-index: -5;
}
@media (max-width: 768px) {
  #home #producer .deco3 {
    bottom: min(13.8666666667vw, 52px);
    left: min(0.8vw, 3px);
    width: min(35.4666666667vw, 133px);
  }
}
#home #producer .deco3 img {
  -webkit-animation: kumo 1.8s ease-in-out infinite alternate;
          animation: kumo 1.8s ease-in-out infinite alternate;
}
#home #producer .deco4 {
  position: absolute;
  bottom: min(55vw, 770px);
  right: max(-3.7857142857vw, -53px);
  width: min(24vw, 336px);
  z-index: -5;
}
@media (max-width: 768px) {
  #home #producer .deco4 {
    bottom: min(121.8666666667vw, 457px);
    left: max(-11.4666666667vw, -43px);
    right: unset;
    width: min(38.4vw, 144px);
  }
}
#home #producer .deco5 {
  position: absolute;
  bottom: min(37.1428571429vw, 520px);
  right: max(-31.6428571429vw, -443px);
  width: min(35.8571428571vw, 502px);
  z-index: -5;
}
@media (max-width: 768px) {
  #home #producer .deco5 {
    bottom: min(148vw, 555px);
    right: max(-21.0666666667vw, -79px);
    width: min(56.5333333333vw, 212px);
  }
}
#home #producer .deco5 img {
  animation: kumo 1.8s ease-in-out infinite alternate-reverse;
}
#home #producer .deco6 {
  position: absolute;
  bottom: min(26.3571428571vw, 369px);
  right: max(-4.1428571429vw, -58px);
  width: min(16.0714285714vw, 225px);
  z-index: -5;
}
@media (max-width: 768px) {
  #home #producer .deco6 {
    bottom: min(40.2666666667vw, 151px);
    right: max(-13.6vw, -51px);
    width: min(41.3333333333vw, 155px);
  }
}
#home #producer::before {
  background: url(../images/top/producer-illust-back.svg) no-repeat center bottom/contain;
  content: "";
  height: 30vw;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  z-index: -1;
}
@media (max-width: 768px) {
  #home #producer::before {
    background: url(../images/top/producer-illust-back-sp.svg) no-repeat center bottom/contain;
    height: 33.333vw;
  }
}
#home {
  /* producer */
  /* point */
}
#home #point {
  background: #f4f1ea;
  padding: min(4.7857142857vw, 67px) 0 min(18.0714285714vw, 253px);
}
@media (max-width: 768px) {
  #home #point {
    padding: min(17.0666666667vw, 64px) 0 min(31.4666666667vw, 118px);
  }
}
#home #point .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  #home #point .inner {
    display: block;
  }
}
#home #point .inner::before {
  background: url(../images/top/point-deco.svg) no-repeat center center/contain;
  content: "";
  height: min(63.1428571429vw, 884px);
  position: absolute;
  bottom: max(-3.5714285714vw, -50px);
  right: max(-19.5vw, -273px);
  width: min(48.0714285714vw, 673px);
  z-index: -1;
}
@media (max-width: 768px) {
  #home #point .inner::before {
    height: min(98.9333333333vw, 371px);
    bottom: unset;
    top: max(-2.4vw, -9px);
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
    width: min(75.2vw, 282px);
  }
}
#home #point h2 {
  color: #604c3f;
  font-family: "Zen Old Mincho", serif;
  font-size: min(7.3571428571vw, 103px);
  font-weight: 500;
  line-height: 1.15;
  text-shadow: 0 0 8px rgba(181, 159, 53, 0.3);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  width: 25.5%;
}
@media (max-width: 768px) {
  #home #point h2 {
    font-size: min(9.8666666667vw, 37px);
    margin: 0 auto min(46.6666666667vw, 175px);
  }
}
#home #point h2 span {
  display: inline-block;
  margin-top: min(18.2142857143vw, 255px);
  position: relative;
}
@media (max-width: 768px) {
  #home #point h2 span {
    margin-top: min(24.5333333333vw, 92px);
  }
}
#home #point h2 span::before {
  border-right: 1px solid rgba(96, 76, 63, 0.5);
  content: "";
  height: min(24.4285714286vw, 342px);
  position: absolute;
  left: 50%;
  top: 100%;
}
@media (max-width: 768px) {
  #home #point h2 span::before {
    height: min(33.0666666667vw, 124px);
  }
}
#home #point .point-content-wrap {
  margin-top: min(9.6428571429vw, 135px);
  width: 74.5%;
}
@media (max-width: 768px) {
  #home #point .point-content-wrap {
    margin-top: 0;
    width: 100%;
  }
}
#home #point .point-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media (max-width: 768px) {
  #home #point .point-box {
    display: block;
  }
}
#home #point .point-box + .point-box {
  margin-top: min(5vw, 70px);
}
@media (max-width: 768px) {
  #home #point .point-box + .point-box {
    margin-top: min(15.7333333333vw, 59px);
  }
}
#home #point .point-box:not(:first-child) .more-btn {
  position: absolute;
  bottom: 0;
}
@media (max-width: 768px) {
  #home #point .point-box:not(:first-child) .more-btn {
    position: static;
  }
}
@media (hover: hover) and (pointer: fine) {
  #home #point .point-box:has(.more-btn a:hover) .image {
    opacity: 0.6;
  }
}
#home #point .image {
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: 52%;
}
@media (max-width: 768px) {
  #home #point .image {
    margin-bottom: min(4.8vw, 18px);
    width: 100%;
  }
}
#home #point .image img {
  border-radius: min(1.4285714286vw, 20px);
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media (max-width: 768px) {
  #home #point .image img {
    border-radius: 12px;
  }
}
#home #point .desc-box {
  width: 48%;
}
@media (max-width: 768px) {
  #home #point .desc-box {
    width: 100%;
  }
}
#home #point h3 {
  border-bottom: 2px solid #604c3f;
  color: #604c3f;
  font-family: "Zen Old Mincho", serif;
  font-size: min(2.7142857143vw, 38px);
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: min(1.1428571429vw, 16px);
  padding-bottom: min(0.1428571429vw, 2px);
  padding-left: min(2.5vw, 35px);
}
@media (max-width: 768px) {
  #home #point h3 {
    font-size: min(8.2666666667vw, 31px);
    padding-bottom: min(1.6vw, 6px);
    padding-left: 0;
    text-align: center;
  }
}
#home #point .desc {
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: min(0.7142857143vw, 10px);
  margin-left: min(2.5vw, 35px);
  text-align: justify;
}
@media (max-width: 768px) {
  #home #point .desc {
    line-height: 1.75;
    margin-bottom: min(6.6666666667vw, 25px);
    margin-left: 0;
  }
}
#home #point .more-btn {
  margin-left: min(2.5vw, 35px);
}
@media (max-width: 768px) {
  #home #point .more-btn {
    margin: 0 auto;
    width: min(77.0666666667vw, 289px);
  }
}
#home #point .more-btn a {
  background: #dae000;
  border-radius: 23px;
  color: #004c1b;
  display: inline-block;
  font-size: min(1.5714285714vw, 22px);
  padding: min(0.5vw, 7px) min(3.7142857143vw, 52px) min(0.5vw, 7px) min(2.1428571429vw, 30px);
  position: relative;
}
@media (max-width: 768px) {
  #home #point .more-btn a {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: min(4.5333333333vw, 17px);
    padding: min(2.6666666667vw, 10px) min(7.2vw, 27px) min(2.6666666667vw, 10px) 0;
    text-align: center;
    width: 100%;
  }
}
#home #point .more-btn a::before {
  background: url(../images/top/point-btn-arrow.svg) no-repeat center/contain;
  content: "";
  height: min(1.9285714286vw, 27px);
  position: absolute;
  right: min(0.9285714286vw, 13px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: min(1.9285714286vw, 27px);
}
@media (max-width: 768px) {
  #home #point .more-btn a::before {
    height: min(5.6vw, 21px);
    right: min(4.2666666667vw, 16px);
    width: min(5.6vw, 21px);
  }
}
@media (hover: hover) and (pointer: fine) {
  #home #point .more-btn a:hover {
    background: #004c1b;
    color: #dae000;
  }
  #home #point .more-btn a:hover::before {
    background: url(../images/top/point-btn-arrow-h.svg) no-repeat center/contain;
  }
}
#home #point .more-btn + .more-btn {
  margin-top: min(0.7142857143vw, 10px);
}
@media (max-width: 768px) {
  #home #point .more-btn + .more-btn {
    margin-top: min(2.6666666667vw, 10px);
  }
}
#home {
  /* point */
  /* vision */
}
#home #vision {
  background: url(../images/top/vision-back.jpg) no-repeat center center/cover;
  color: #fff;
  padding: min(13.0714285714vw, 183px) 0 min(11.2857142857vw, 158px);
}
@media (max-width: 768px) {
  #home #vision {
    padding: min(19.2vw, 72px) 0 min(25.3333333333vw, 95px);
  }
}
#home #vision h2 {
  font-size: min(3.0714285714vw, 43px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: min(2vw, 28px);
}
@media (max-width: 768px) {
  #home #vision h2 {
    font-size: min(7.2vw, 27px);
    line-height: 1.55;
    margin-bottom: min(4.8vw, 18px);
  }
}
#home #vision h2 strong {
  color: #dae000;
  font-weight: 700;
}
#home #vision p {
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.75);
  font-size: min(1.5vw, 21px);
  letter-spacing: 0.1em;
  line-height: 2.1;
}
@media (max-width: 768px) {
  #home #vision p {
    font-size: min(3.4666666667vw, 13px);
    line-height: 2.15;
  }
}
#home {
  /* vision */
  /* weare */
}
#home #weare {
  background: #fff;
  color: #2f2f2f;
  padding: 80px 0 140px;
  position: relative;
}
@media (max-width: 768px) {
  #home #weare {
    padding: 50px 0 70px;
  }
}
#home #weare .flex-box {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 85px;
}
@media (max-width: 768px) {
  #home #weare .flex-box {
    display: block;
    margin-bottom: 40px;
  }
}
#home #weare .desc {
  margin-right: 5%;
  width: 45%;
}
@media (max-width: 768px) {
  #home #weare .desc {
    margin-bottom: 35px;
    margin-right: 0;
    width: 100%;
  }
}
#home #weare h3 {
  font-size: clamp(50px, 6.296vw, 85px);
  font-weight: bold;
  line-height: 1;
  margin-bottom: 25px;
}
#home #weare .title {
  font-size: clamp(21px, 1.852vw, 25px);
  font-weight: bold;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  #home #weare .title {
    margin-bottom: 15px;
  }
}
#home #weare h4 {
  font-size: 25px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  #home #weare h4 {
    margin-bottom: 25px;
  }
}
#home #weare h4 strong {
  color: #e23562;
}
#home #weare h4 + p {
  font-weight: bold;
  line-height: 1.7;
  margin-bottom: 60px;
  text-align: justify;
}
@media (max-width: 768px) {
  #home #weare h4 + p {
    margin-bottom: 30px;
  }
}
#home #weare .app-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#home #weare .app-link li {
  margin-right: 15px;
  width: 120px;
}
#home #weare .image {
  background: url("../images/top/iphone-pokemaru.png") top left/cover;
  height: 500px;
  width: 50%;
}
@media (max-width: 768px) {
  #home #weare .image {
    height: 300px;
    width: 100%;
  }
}
#home {
  /* weare */
}