@charset "UTF-8";

.p-oy-archive__card:hover,
.p-oy-single__pager-list:hover,
.p-oy-single__btn:hover,
.p-oy-single__pager-nav a:hover {
  opacity: 0.8;
}
.p-oy-archive__card img:hover,
.p-oy-single__btn img:hover {
  opacity: 1;
}

/* ========================================
@media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {

.p-oy-archive {
  background: #fff;
  color: #3a3a3a;
}
.p-oy-head {
  background: #fbfaed;
  color: #3a3a3a;
  margin-bottom: 24px;
  min-height: 352px;
  padding-block: 160px 80px;
  position: relative;
}
.p-oy-head .p-oy-head__logo {
  left: 40px;
  margin-bottom: 0;
  position: absolute;
  top: 40px;
  width: 410px;
}
.p-oy-head .p-oy-head__logo a {
  display: block;
}
.p-oy-head .p-oy-head__logo img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-head .p-oy-head__lead {
  font-size: 16px;
  font-weight: 500;
  left: 40px;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 0;
  position: absolute;
  text-align: center;
  top: 117px;
  width: 330px;
}
.p-oy-head .p-oy-head__ttl {
  margin-inline: auto;
  text-align: center;
}
.p-oy-head .p-oy-head__en {
  color: #c18a5a;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: 0.0357em;
  line-height: 1;
  margin-bottom: 24px;
}
.p-oy-head .p-oy-head__ja {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.0625em;
  line-height: 1;
}
.p-oy-archive .p-oy-archive__bread {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.0714em;
  line-height: 1.857;
  margin-bottom: 110px;
  margin-inline: auto;
  width: min(95%, 1200px);
}
.p-oy-archive .p-oy-archive__bread a {
  color: inherit;
  text-decoration: none;
}
.p-oy-archive .p-oy-archive__list {
  display: grid;
  gap: 64px 2.703%;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 0 auto 240px;
  padding: 0;
  width: min(95%, 1480px);
}
.p-oy-archive .p-oy-archive__item {
  min-width: 0;
}
.p-oy-archive .p-oy-archive__card {
  color: inherit;
  display: grid;
  gap: 24px;
  grid-template-rows: auto 1fr;
  height: 100%;
  text-decoration: none;
}
.p-oy-archive .p-oy-archive__pic {
  aspect-ratio: 340 / 240;
  margin: 0;
  overflow: hidden;
}
.p-oy-archive .p-oy-archive__pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-archive .p-oy-archive__body {
  display: grid;
  gap: 24px;
  grid-template-rows: 1fr auto;
}
.p-oy-archive .p-oy-archive__content {
  align-content: start;
  display: grid;
  gap: 16px;
}
.p-oy-archive .p-oy-archive__meta {
  display: grid;
  gap: 8px;
}
.p-oy-archive .p-oy-archive__name {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.0625em;
  line-height: 1.75;
}
.p-oy-archive .p-oy-archive__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.p-oy-archive .p-oy-archive__cat span {
  background: #fbfaed;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.857;
  padding: 4px 8px;
}
.p-oy-archive .p-oy-archive__txt {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.0714em;
  line-height: 1.857;
}
.p-oy-archive .p-oy-archive__btn {
  align-items: center;
  border: 1px solid #3a3a3a;
  border-radius: 2000px;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  grid-template-columns: 1fr auto;
  height: 50px;
  letter-spacing: 0.1428em;
  line-height: 1;
  margin-top: auto;
  padding-inline: 16px;
  text-align: center;
}
.p-oy-archive .p-oy-archive__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-archive .p-oy-archive__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 20px;
}

@supports (grid-template-rows: subgrid) {
.p-oy-archive .p-oy-archive__list {
  align-items: start;
  gap: 0 2.703%;
}
.p-oy-archive .p-oy-archive__item {
  display: grid;
  grid-row: span 6;
  grid-template-rows: subgrid;
}
.p-oy-archive .p-oy-archive__item::after {
  content: "";
  grid-row: 6;
  height: 64px;
}
.p-oy-archive .p-oy-archive__item:nth-last-child(-n + 4)::after {
  height: 0;
}
.p-oy-archive .p-oy-archive__card {
  align-items: start;
  gap: 0;
  grid-row: 1 / 6;
  grid-template-rows: subgrid;
  height: auto;
}
.p-oy-archive .p-oy-archive__pic {
  margin-bottom: 24px;
}
.p-oy-archive .p-oy-archive__body {
  align-items: start;
  display: grid;
  gap: 0;
  grid-row: 2 / 6;
  grid-template-rows: subgrid;
}
.p-oy-archive .p-oy-archive__content {
  align-content: start;
  gap: 0;
  grid-row: 1 / 4;
  grid-template-rows: subgrid;
}
.p-oy-archive .p-oy-archive__meta {
  gap: 0;
  grid-row: 1 / 3;
  grid-template-rows: subgrid;
}
.p-oy-archive .p-oy-archive__name {
  margin-bottom: 8px;
}
.p-oy-archive .p-oy-archive__cat {
  margin-bottom: 16px;
}
.p-oy-archive .p-oy-archive__txt {
  margin-bottom: 24px;
}
.p-oy-archive .p-oy-archive__btn {
  grid-row: 4;
  margin-top: 0;
}
}

.p-oy-single {
  background: linear-gradient(0deg, #FFFDF8 0%, #FFFDF8 100%), #FFF;
  color: #3a3a3a;
}
.p-oy-single .p-oy-single__bread {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.0714em;
  line-height: 1.857;
  margin-bottom: 85px;
  margin-inline: auto;
  width: min(95%, 1200px);
}
.p-oy-single .p-oy-single__bread a {
  color: inherit;
  text-decoration: none;
}
.p-oy-single .p-oy-single__pager {
  align-items: flex-end;
  display: grid;
  grid-template-columns: 1fr auto;
  margin-bottom: 20px;
  margin-inline: auto;
  width: min(95%, 1200px);
}
.p-oy-single .p-oy-single__pager-nav {
  align-items: center;
  color: #625d52;
  display: flex;
  font-size: 15px;
  font-weight: 400;
  gap: 24px;
  letter-spacing: 0.0213em;
  line-height: 1.133;
  margin-bottom: 0;
}
.p-oy-single .p-oy-single__pager-nav a {
  color: inherit;
  text-decoration: none;
}
.p-oy-single .p-oy-single__pager-sep {
  line-height: 1;
}
.p-oy-single .p-oy-single__pager-list {
  align-items: center;
  background: #3a3a3a;
  color: #fff;
  display: grid;
  font-size: 13px;
  font-weight: 700;
  height: 44px;
  letter-spacing: 0.0246em;
  line-height: 1;
  place-items: center;
  text-decoration: none;
  width: 112px;
}
.p-oy-single .p-oy-single__hero {
  margin-bottom: 80px;
  margin-inline: auto;
  text-align: center;
  width: min(95%, 1100px);
}
.p-oy-single .p-oy-single__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 24px;
}
.p-oy-single .p-oy-single__cat span {
  background: #edecde;
  border-radius: 999px;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.0228em;
  line-height: 1.5;
  padding: 4px 16px;
}
.p-oy-single .p-oy-single__name {
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.0094em;
  line-height: 1.45;
  margin-bottom: 40px;
}
.p-oy-single .p-oy-single__catch {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.0133em;
  line-height: 1.6666;
  margin-bottom: 40px;
}
.p-oy-single .p-oy-single__hero:has(.p-oy-single__catch) .p-oy-single__name {
  margin-bottom: 16px;
}
.p-oy-single .p-oy-single__hero-pic {
  aspect-ratio: 1100 / 766;
  margin-bottom: 0;
  overflow: hidden;
}
.p-oy-single .p-oy-single__hero-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__hero .wysiwyg {
  margin-bottom: 0;
  margin-top: 40px;
  text-align: left;
}
.p-oy-single .p-oy-single__sec--exp,
.p-oy-single .p-oy-single__sec--pride {
  margin-bottom: 80px;
  margin-inline: auto;
  width: min(95%, 1140px);
}
.p-oy-single .p-oy-single__sec--rec {
  background: #F7FAF3;
  padding-block: 80px;
}
.p-oy-single .p-oy-single__sec--info {
  background: #fff;
  padding-block: 80px;
}
.p-oy-single .p-oy-single__inner {
  margin-inline: auto;
  width: min(95%, 1140px);
}
.p-oy-single .p-oy-single__head {
  align-items: center;
  display: grid;
  gap: 26px;
  grid-template-columns: auto 1fr;
  margin-bottom: 40px;
}
.p-oy-single .p-oy-single__head-ttl {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: auto auto;
}
.p-oy-single .p-oy-single__en {
  margin-bottom: 0;
}
.p-oy-single .p-oy-single__en img {
  display: block;
  height: 11px;
  width: auto;
}
.p-oy-single .p-oy-single__ja {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.0114em;
  line-height: 1.5;
  margin-bottom: 0;
  width: max-content;
}
.p-oy-single .p-oy-single__head::after {
  background: linear-gradient(to right, #ef9b28, rgba(239, 155, 40, 0));
  content: "";
  height: 5px;
}
.p-oy-single .p-oy-single__rows {
  display: grid;
  gap: 40px;
}
.p-oy-single .p-oy-single__row {
  align-items: start;
  display: grid;
  gap: 40px;
  grid-template-columns: 43.86% 1fr;
}
.p-oy-single .p-oy-single__row:nth-child(even) {
  grid-template-columns: 1fr 43.86%;
}
.p-oy-single .p-oy-single__row:nth-child(even) .p-oy-single__row-pic {
  order: 2;
}
.p-oy-single .p-oy-single__row-pic {
  aspect-ratio: 500 / 306;
  margin-bottom: 0;
  overflow: hidden;
}
.p-oy-single .p-oy-single__row-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__row-body {
  display: grid;
  gap: 24px;
}
.p-oy-single .p-oy-single__row-ttl {
  color: #343029;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.0133em;
  line-height: 1.5833;
}
.p-oy-single .p-oy-single__row-txt {
  color: #343029;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.0177em;
  line-height: 2;
}
.p-oy-single .p-oy-single__rec-list {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-oy-single .p-oy-single__rec-item {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
  min-width: 0;
  padding: 20px;
}
.p-oy-single .p-oy-single__rec-pic {
  aspect-ratio: 320 / 200;
  margin-bottom: 16px;
  overflow: hidden;
}
.p-oy-single .p-oy-single__rec-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__rec-txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  text-align: center;
}
.p-oy-single .p-oy-single__info {
  align-items: center;
  display: grid;
  gap: 40px;
  grid-template-columns: 49.56% 1fr;
  margin-bottom: 40px;
}
.p-oy-single .p-oy-single__info:not(:has(.p-oy-single__info-pic)),
.p-oy-single .p-oy-single__info:not(:has(.p-oy-single__dl)) {
  grid-template-columns: 1fr;
}
.p-oy-single .p-oy-single__info-pic {
  aspect-ratio: 565 / 318;
  margin-bottom: 0;
  overflow: hidden;
}
.p-oy-single .p-oy-single__info-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__dl {
  align-items: center;
  display: grid;
  gap: 18px 3.3%;
  grid-template-columns: 31.41% 1fr;
  margin: 0;
}
.p-oy-single .p-oy-single__dl dt {
  align-items: center;
  background: #edecde;
  border-radius: 999px;
  display: grid;
  font-size: 16px;
  font-weight: 700;
  height: 49px;
  letter-spacing: 0.02em;
  line-height: 1;
  place-items: center;
}
.p-oy-single .p-oy-single__dl dd {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.0177em;
  line-height: 1.7;
  margin: 0;
}
.p-oy-single .p-oy-single__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 2000px;
  box-shadow: 0 6px 10px rgba(58, 58, 58, 0.24);
  color: inherit;
  display: grid;
  font-size: 16px;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 60px;
  letter-spacing: 0.125em;
  line-height: 1;
  margin-inline: auto;
  padding-inline: 12px 22px;
  text-align: center;
  text-decoration: none;
  width: min(100%, 560px);
}
.p-oy-single .p-oy-single__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-single .p-oy-single__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 20px;
}
.p-oy-single .p-oy-single__sec--steps {
  background: linear-gradient(0deg, #FFFDF8 0%, #FFFDF8 100%), #FFF;
  padding-block: 68px 60px;
}
.p-oy-single .p-oy-single__flow-ttl {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.0133em;
  line-height: 1.5;
  margin-bottom: 40px;
  text-align: center;
}
.p-oy-single .p-oy-single__flow-num {
  color: #67a163;
  font-size: 40px;
  letter-spacing: 0.033em;
}
.p-oy-single .p-oy-single__flow-en {
  letter-spacing: 0.055em;
}
.p-oy-single .p-oy-single__steps {
  display: grid;
  grid-template-columns: repeat(4, 24.7%);
  /* justify-content: space-between; */
  list-style: none;
  margin: 0 0 72px;
  padding: 10px 0 0;
  gap: 4px;
}
.p-oy-single .p-oy-single__step {
  min-width: 0;
  position: relative;
}
.p-oy-single .p-oy-single__step:not(:last-child)::after {
  background: url("../images/oshigotoyuenchi/booth-step-arrow.svg") no-repeat center / contain;
  content: "";
  height: 28px;
  position: absolute;
  right: -16px;
  top: 48%;
  width: 24px;
  z-index: 1;
  transform: translateY(-50%);
}
.p-oy-single .p-oy-single__step-no {
  align-items: center;
  border-radius: 23px;
  color: #fff;
  display: grid;
  font-size: 18px;
  font-weight: 700;
  height: 46px;
  left: 50%;
  letter-spacing: 0.0177em;
  line-height: 1.5;
  margin-bottom: 0;
  place-items: center;
  position: absolute;
  top: -23px;
  transform: translateX(-50%);
  width: 46px;
  z-index: 1;
}
.p-oy-single .p-oy-single__step--01 .p-oy-single__step-no {
  background: #66a160;
}
.p-oy-single .p-oy-single__step--02 .p-oy-single__step-no {
  background: #ef9b28;
}
.p-oy-single .p-oy-single__step--03 .p-oy-single__step-no {
  background: #7390cc;
}
.p-oy-single .p-oy-single__step--04 .p-oy-single__step-no {
  background: #e9584c;
}
.p-oy-single .p-oy-single__step-card {
  background: #fff;
  border: 1px solid #e8e5de;
  border-radius: 10px;
  padding: 33px 24px 30px;
  min-height: 290px;
}
.p-oy-single .p-oy-single__step-name {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.016em;
  line-height: 1.38;
  margin-bottom: 20px;
  text-align: center;
}
.p-oy-single .p-oy-single__step-icon {
  align-items: center;
  border-radius: 8px;
  display: grid;
  height: 78px;
  margin-bottom: 16px;
  place-items: center;
}
.p-oy-single .p-oy-single__step--01 .p-oy-single__step-icon {
  background: rgba(102, 161, 96, 0.12);
}
.p-oy-single .p-oy-single__step--02 .p-oy-single__step-icon {
  background: #fdf0dc;
}
.p-oy-single .p-oy-single__step--03 .p-oy-single__step-icon {
  background: #edeff1;
}
.p-oy-single .p-oy-single__step--04 .p-oy-single__step-icon {
  background: #fce7e1;
}
.p-oy-single .p-oy-single__step-icon img {
  display: block;
  height: auto;
  width: 56px;
}
.p-oy-single .p-oy-single__step-txt {
  color: #625d52;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  text-align: center;
}
.p-oy-single .p-oy-single__campaign {
  margin-inline: auto;
  min-height: 217px;
  overflow: visible;
  position: relative;
  width: 94.74%;
}
.p-oy-single .p-oy-single__campaign-badge {
  left: 37px;
  margin-bottom: 0;
  position: absolute;
  top: -39px;
  width: 200px;
  z-index: 1;
}
.p-oy-single .p-oy-single__campaign-badge img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-single .p-oy-single__campaign-badge .p-oy-single__campaign-fruit {
  height: auto;
  left: 123px;
  position: absolute;
  top: 127px;
  width: 103px;
}
.p-oy-single .p-oy-single__campaign-txt {
  background: #fff7c8;
  border: 1px solid #f0de7f;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 700;
  height: 111px;
  letter-spacing: 0.145em;
  line-height: 1.1;
  margin-bottom: 0;
  margin-top: 40px;
  padding: 33px 24px 0 84px;
  text-align: center;
}
.p-oy-single .p-oy-single__campaign-txt span {
  font-size: 24px;
  letter-spacing: 0.0966em;
  vertical-align: -0.12em;
  position: relative;
  top: -3px;
}
.p-oy-single .p-oy-single__campaign-note {
  color: #625d52;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-bottom: 0;
  margin-top: 12px;
  text-align: center;
}

}


/* ========================================
@media screen and (min-width: 768px) and (max-width: 1280px)
======================================== */
@media screen and (min-width: 768px) and (max-width: 1280px) {

.p-oy-single .p-oy-single__sec--steps {
  padding-block: 5.313vw 4.688vw;
}
.p-oy-single .p-oy-single__flow-ttl {
  font-size: 1.875vw;
  margin-bottom: 3.125vw;
}
.p-oy-single .p-oy-single__flow-num {
  font-size: 3.125vw;
}
.p-oy-single .p-oy-single__steps {
  gap: 0.313vw;
  margin: 0 0 5.625vw;
  padding: 0.781vw 0 0;
}
.p-oy-single .p-oy-single__step:not(:last-child)::after {
  height: 2.188vw;
  right: -1.25vw;
  width: 1.875vw;
}
.p-oy-single .p-oy-single__step-no {
  border-radius: 1.797vw;
  font-size: 1.406vw;
  height: 3.594vw;
  top: -1.797vw;
  width: 3.594vw;
}
.p-oy-single .p-oy-single__step-card {
  border-radius: 0.781vw;
  min-height: 22.656vw;
  padding: 2.578vw 1.875vw 2.344vw;
}
.p-oy-single .p-oy-single__step-name {
  font-size: 1.563vw;
  margin-bottom: 1.563vw;
}
.p-oy-single .p-oy-single__step-icon {
  border-radius: 0.625vw;
  height: 6.094vw;
  margin-bottom: 1.25vw;
}
.p-oy-single .p-oy-single__step-icon img {
  width: 4.375vw;
}
.p-oy-single .p-oy-single__step-txt {
  font-size: 1.25vw;
}
.p-oy-single .p-oy-single__campaign {
  min-height: 16.953vw;
}
.p-oy-single .p-oy-single__campaign-badge {
  left: 2.891vw;
  top: -3.047vw;
  width: 15.625vw;
}
.p-oy-single .p-oy-single__campaign-badge .p-oy-single__campaign-fruit {
  left: 9.609vw;
  top: 9.922vw;
  width: 8.047vw;
}
.p-oy-single .p-oy-single__campaign-txt {
  font-size: 1.25vw;
  height: 8.672vw;
  margin-top: 3.125vw;
  padding: 2.578vw 1.875vw 0 6.563vw;
}
.p-oy-single .p-oy-single__campaign-txt span {
  font-size: 1.875vw;
  top: -0.234vw;
}
.p-oy-single .p-oy-single__campaign-note {
  font-size: 1.016vw;
  margin-top: 0.938vw;
}

}


/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {

.p-oy-archive {
  background: #fff;
  color: #3a3a3a;
}
.p-oy-head {
  background: #fbfaed;
  color: #3a3a3a;
  margin-bottom: 9.662vw;
  min-height: 61.3526vw;
  padding-block: 31.884vw 12.077vw;
  position: relative;
}
.p-oy-head .p-oy-head__logo {
  left: 3.865vw;
  margin-bottom: 0;
  position: absolute;
  top: 3.865vw;
  width: 56.1191vw;
}
.p-oy-head .p-oy-head__logo a {
  display: block;
}
.p-oy-head .p-oy-head__logo img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-head .p-oy-head__lead {
  font-size: 2.898vw;
  font-weight: 500;
  left: 3.865vw;
  letter-spacing: 0.1em;
  line-height: 1.6666;
  margin-bottom: 0;
  position: absolute;
  text-align: center;
  top: 14.9758vw;
  white-space: nowrap;
  width: 58.6956vw;
}
.p-oy-head .p-oy-head__ttl {
  margin-inline: auto;
  text-align: center;
}
.p-oy-head .p-oy-head__en {
  color: #c18a5a;
  font-size: 7.729vw;
  font-weight: 700;
  letter-spacing: 0.0625em;
  line-height: 1;
  margin-bottom: 1.932vw;
}
.p-oy-head .p-oy-head__ja {
  font-size: 4.831vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.p-oy-archive .p-oy-archive__bread {
  display: none;
}
.p-oy-archive .p-oy-archive__list {
  display: grid;
  gap: 9.662vw 3.141%;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
  margin: 0 auto 38.816vw;
  padding: 0;
  width: 92.271vw;
}
.p-oy-archive .p-oy-archive__item {
  min-width: 0;
}
.p-oy-archive .p-oy-archive__card {
  color: inherit;
  display: grid;
  gap: 2.899vw;
  grid-template-rows: auto 1fr;
  height: 100%;
  text-decoration: none;
}
.p-oy-archive .p-oy-archive__pic {
  aspect-ratio: 185 / 130;
  margin: 0;
  overflow: hidden;
}
.p-oy-archive .p-oy-archive__pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-archive .p-oy-archive__body {
  display: grid;
  gap: 3.865vw;
  grid-template-rows: 1fr auto;
}
.p-oy-archive .p-oy-archive__content {
  align-content: start;
  display: grid;
  gap: 2.899vw;
}
.p-oy-archive .p-oy-archive__meta {
  display: grid;
  gap: 1.932vw;
}
.p-oy-archive .p-oy-archive__name {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
  overflow: hidden;
}
.p-oy-archive .p-oy-archive__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 1.932vw;
}
.p-oy-archive .p-oy-archive__cat span {
  background: #fbfaed;
  display: inline-block;
  font-size: 2.898vw;
  font-weight: 500;
  letter-spacing: 0.0833em;
  line-height: 1.6667;
  padding: 0.966vw 1.932vw;
}
.p-oy-archive .p-oy-archive__txt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  font-size: 2.898vw;
  font-weight: 400;
  letter-spacing: 0.0833em;
  line-height: 1.6667;
  overflow: hidden;
}
.p-oy-archive .p-oy-archive__btn {
  align-items: center;
  border: 0.242vw solid #3a3a3a;
  border-radius: 483.09vw;
  display: grid;
  font-size: 2.898vw;
  font-weight: 500;
  grid-template-columns: 1fr auto;
  height: 7.246vw;
  letter-spacing: 0.1666em;
  line-height: 1;
  margin-top: auto;
  padding-inline: 1.932vw;
  text-align: center;
}
.p-oy-archive .p-oy-archive__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-archive .p-oy-archive__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 3.382vw;
}

.p-oy-single {
  background: #fffdf8;
  color: #3a3a3a;
}
.p-oy-single .p-oy-single__bread {
  display: none;
}
.p-oy-single .p-oy-single__pager {
  align-items: flex-end;
  display: grid;
  grid-template-columns: 1fr auto;
  margin-bottom: 9.662vw;
  margin-inline: auto;
  width: 88.406vw;
}
.p-oy-single .p-oy-single__pager-nav {
  align-items: center;
  color: #625d52;
  display: flex;
  font-size: 3.671vw;
  font-weight: 400;
  gap: 5.797vw;
  letter-spacing: 0.0210em;
  line-height: 1.133;
  margin-bottom: 0;
}
.p-oy-single .p-oy-single__pager-nav a {
  color: inherit;
  text-decoration: none;
}
.p-oy-single .p-oy-single__pager-sep {
  line-height: 1;
}
.p-oy-single .p-oy-single__pager-list {
  align-items: center;
  background: #3a3a3a;
  color: #fff;
  display: grid;
  font-size: 3.14vw;
  font-weight: 700;
  height: 10.628vw;
  letter-spacing: 0.0244em;
  line-height: 1;
  place-items: center;
  text-decoration: none;
  width: 27.053vw;
}
.p-oy-single .p-oy-single__hero {
  margin-bottom: 15.659vw;
  margin-inline: auto;
  text-align: center;
  width: 88.406vw;
}
.p-oy-single .p-oy-single__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 1.932vw;
  justify-content: center;
  margin-bottom: 5.797vw;
}
.p-oy-single .p-oy-single__cat span {
  background: #edecde;
  border-radius: 241.304vw;
  display: inline-block;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0228em;
  line-height: 1.5;
  padding: 0.966vw 3.865vw;
}
.p-oy-single .p-oy-single__name {
  font-size: 5.797vw;
  font-weight: 500;
  letter-spacing: 0.0133em;
  line-height: 1.5;
  margin-bottom: 9.662vw;
}
.p-oy-single .p-oy-single__catch {
  font-size: 3.865vw;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 2;
  margin-bottom: 9.662vw;
}
.p-oy-single .p-oy-single__hero:has(.p-oy-single__catch) .p-oy-single__name {
  margin-bottom: 3.865vw;
}
.p-oy-single .p-oy-single__hero-pic {
  aspect-ratio: 366 / 257;
  margin-bottom: 0;
  overflow: hidden;
}
.p-oy-single .p-oy-single__hero-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__hero .wysiwyg {
  margin-bottom: 0;
  margin-top: 9.662vw;
  text-align: left;
}
.p-oy-single .p-oy-single__sec--exp,
.p-oy-single .p-oy-single__sec--pride {
  margin-bottom: 15.459vw;
  margin-inline: auto;
  width: 88.406vw;
}
.p-oy-single .p-oy-single__sec--rec {
  background: #f7faf3;
  padding-block: 9.662vw;
}
.p-oy-single .p-oy-single__sec--info {
  background: #fff;
  margin-bottom: 13.059vw;
  padding-block: 10.62vw 9.662vw;
}
.p-oy-single .p-oy-single__inner {
  margin-inline: auto;
  width: 88.406vw;
}
.p-oy-single .p-oy-single__head {
  display: grid;
  gap: 3.865vw;
  grid-template-columns: 1fr;
  margin-bottom: 5.797vw;
}
.p-oy-single .p-oy-single__head-ttl {
  display: grid;
  gap: 2.932vw;
  grid-template-columns: 1fr;
}
.p-oy-single .p-oy-single__en {
  margin-bottom: 0;
}
.p-oy-single .p-oy-single__en img {
  display: block;
  height: 2.2vw;
  width: auto;
}
.p-oy-single .p-oy-single__ja {
  font-size: 5.797vw;
  font-weight: 700;
  letter-spacing: 0.0133em;
  line-height: 1.75;
  margin-bottom: 0;
  width: auto;
}
.p-oy-single .p-oy-single__head::after {
  background: linear-gradient(to right, #ef9b28, rgba(239, 155, 40, 0));
  content: "";
  height: 0.483vw;
}
.p-oy-single .p-oy-single__rows {
  display: grid;
  gap: 9.662vw;
}
.p-oy-single .p-oy-single__row {
  display: grid;
  gap: 5.797vw;
  grid-template-columns: 1fr;
}
.p-oy-single .p-oy-single__row:nth-child(even) {
  grid-template-columns: 1fr;
}
.p-oy-single .p-oy-single__row:nth-child(even) .p-oy-single__row-pic {
  order: 0;
}
.p-oy-single .p-oy-single__row-pic {
  aspect-ratio: 366 / 274;
  margin-bottom: 0;
  overflow: hidden;
}
.p-oy-single .p-oy-single__row-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__row-body {
  display: grid;
  gap: 3.865vw;
}
.p-oy-single .p-oy-single__row-ttl {
  font-size: 4.348vw;
  font-weight: 700;
  letter-spacing: 0.0555em;
  line-height: 1.6666;
}
.p-oy-single .p-oy-single__row-txt {
  color: #343029;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
}
.p-oy-single .p-oy-single__rec-list {
  display: grid;
  gap: 5.797vw;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-oy-single .p-oy-single__rec-item {
  background: #fff;
  border-radius: 1.932vw;
  box-shadow: 0 2.415vw 6.28vw rgba(68, 55, 31, 0.08);
  min-width: 0;
  padding: 4.831vw 5.071vw;
}
.p-oy-single .p-oy-single__rec-pic {
  aspect-ratio: 324 / 180;
  margin-bottom: 3.865vw;
  overflow: hidden;
}
.p-oy-single .p-oy-single__rec-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__rec-txt {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  text-align: center;
}
.p-oy-single .p-oy-single__info {
  display: grid;
  gap: 5.797vw;
  grid-template-columns: 1fr;
  margin-bottom: 5.797vw;
}
.p-oy-single .p-oy-single__info:not(:has(.p-oy-single__info-pic)),
.p-oy-single .p-oy-single__info:not(:has(.p-oy-single__dl)) {
  grid-template-columns: 1fr;
}
.p-oy-single .p-oy-single__info-pic {
  aspect-ratio: 366 / 206;
  margin-bottom: 0;
  overflow: hidden;
}
.p-oy-single .p-oy-single__info-pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-single .p-oy-single__dl {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0;
}
.p-oy-single .p-oy-single__dl dt {
  align-items: center;
  background: #edecde;
  border-radius: 241.304vw;
  display: grid;
  font-size: 3.865vw;
  font-weight: 700;
  height: 11.836vw;
  letter-spacing: 0.02em;
  line-height: 1;
  margin-bottom: 1.699vw;
  place-items: center;
}
.p-oy-single .p-oy-single__dl dd {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  margin: 0 0 4.797vw;
  text-align: center;
}
.p-oy-single .p-oy-single__dl dd:last-child {
  margin-bottom: 0;
}
.p-oy-single .p-oy-single__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 483.09vw;
  box-shadow: 0 1.449vw 2.415vw rgba(58, 58, 58, 0.24);
  color: inherit;
  display: grid;
  font-size: 3.865vw;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 14.493vw;
  letter-spacing: 0.125em;
  line-height: 1;
  margin-inline: auto;
  padding-inline: 5.399vw 4.699vw;
  text-align: center;
  text-decoration: none;
  width: 82.609vw;
}
.p-oy-single .p-oy-single__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-single .p-oy-single__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 4.831vw;
}
.p-oy-single .p-oy-single__sec--steps {
  background: linear-gradient(0deg, #FFFDF8 0%, #FFFDF8 100%), #FFF;
  padding-block: 0 2.493vw;
}
.p-oy-single .p-oy-single__flow-ttl {
  font-size: 4.831vw;
  font-weight: 700;
  letter-spacing: 0.016em;
  line-height: 2.1;
  margin-bottom: 2.897vw;
  text-align: center;
}
.p-oy-single .p-oy-single__flow-num {
  color: #67a163;
  font-size: 7.246vw;
  letter-spacing: 0.0106em;
}
.p-oy-single .p-oy-single__flow-en {
  letter-spacing: 0.016em;
}
.p-oy-single .p-oy-single__steps {
  display: grid;
  gap: 3.865vw;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-oy-single .p-oy-single__step {
  background: #fffdf7;
  border: 0.242vw solid #e7e1cf;
  border-radius: 1.932vw;
  min-width: 0;
  position: relative;
}
.p-oy-single .p-oy-single__step:not(:last-child)::after {
  content: none;
}
.p-oy-single .p-oy-single__step-no {
  align-items: center;
  border-radius: 5.556vw;
  color: #fff;
  display: grid;
  font-size: 4.444vw;
  font-weight: 700;
  height: 11.111vw;
  left: 5.797vw;
  letter-spacing: 0.0173em;
  line-height: 1.5;
  margin-bottom: 0;
  place-items: center;
  position: absolute;
  top: 7.246vw;
  transform: none;
  width: 11.111vw;
  z-index: 1;
}
.p-oy-single .p-oy-single__step--01 .p-oy-single__step-no {
  background: #66a160;
}
.p-oy-single .p-oy-single__step--02 .p-oy-single__step-no {
  background: #ef9b28;
}
.p-oy-single .p-oy-single__step--03 .p-oy-single__step-no {
  background: #7390cc;
}
.p-oy-single .p-oy-single__step--04 .p-oy-single__step-no {
  background: #e9584c;
}
.p-oy-single .p-oy-single__step-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  min-height: 0;
  padding: 7.246vw 5.797vw;
}
.p-oy-single .p-oy-single__step-name {
  align-items: center;
  display: grid;
  font-size: 4.444vw;
  font-weight: 700;
  letter-spacing: 0.0173em;
  line-height: 1.5;
  margin-bottom: 1.932vw;
  min-height: 11.111vw;
  padding-left: 14.976vw;
  text-align: left;
}
.p-oy-single .p-oy-single__step-icon {
  align-items: center;
  border-radius: 1.932vw;
  display: grid;
  height: 18.841vw;
  margin-bottom: 3.865vw;
  place-items: center;
}
.p-oy-single .p-oy-single__step--01 .p-oy-single__step-icon {
  background: rgba(102, 161, 96, 0.12);
}
.p-oy-single .p-oy-single__step--02 .p-oy-single__step-icon {
  background: #fdf0dc;
}
.p-oy-single .p-oy-single__step--03 .p-oy-single__step-icon {
  background: #edeff1;
}
.p-oy-single .p-oy-single__step--04 .p-oy-single__step-icon {
  background: #fce7e1;
}
.p-oy-single .p-oy-single__step-icon img {
  display: block;
  height: auto;
  width: 13.527vw;
}
.p-oy-single .p-oy-single__step-txt {
  color: #625d52;
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.8;
  text-align: left;
}
.p-oy-single .p-oy-single__campaign {
  margin-inline: auto;
  min-height: 55.072vw;
  overflow: visible;
  position: relative;
  width: 100%;
}
.p-oy-single .p-oy-single__campaign-badge {
  left: 28.986vw;
  margin-bottom: 0;
  position: absolute;
  top: -21.4vw;
  width: 26.812vw;
  z-index: 1;
}
.p-oy-single .p-oy-single__campaign-badge img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-single .p-oy-single__campaign-badge .p-oy-single__campaign-fruit {
  height: auto;
  left: 16.425vw;
  position: absolute;
  top: 16.908vw;
  width: 13.768vw;
}
.p-oy-single .p-oy-single__campaign-txt {
  background: #fff7c8;
  border: 0.242vw solid #f0de7f;
  box-sizing: border-box;
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.145em;
  line-height: 1.65;
  margin-bottom: 0;
  margin-top: 27.256vw;
  padding: 7.905vw 7.126vw 6.005vw;
  text-align: center;
}
.p-oy-single .p-oy-single__campaign-txt span {
  font-size: 5.797vw;
  letter-spacing: 0.0966em;
  vertical-align: -0.12em;
  position: relative;
  top: -0.8vw;
  line-height: 1.1;
}
.p-oy-single .p-oy-single__campaign-note {
  color: #625d52;
  font-size: 2.899vw;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-bottom: 0;
  margin-top: 2.415vw;
  text-align: center;
}

}

