@charset "UTF-8";
/*======*/
/* 共通 */
/*======*/
/* PC/SP出し分け
-----------------------------------*/
.pc {
  display: block;
}
@media (min-width: 768px) {
  .pc {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

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

img.pc, span.pc {
  display: inline;
}
@media (min-width: 768px) {
  img.pc, span.pc {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  img.pc, span.pc {
    display: none !important;
  }
}
img.sp, span.sp {
  display: none;
}
@media (min-width: 768px) {
  img.sp, span.sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  img.sp, span.sp {
    display: inline !important;
  }
}

/* 共通アニメーション
------------------------------ */
body:after {
  position: fixed;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.8s ease;
}
body.fade:after {
  opacity: 1;
}

.animate {
  opacity: 0;
}

.fadein {
  -webkit-animation: fade-in 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
          animation: fade-in 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
}

.fade-in-bottom {
  -webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.fade-in-left {
  -webkit-animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.fade-in-right {
  -webkit-animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-bottom {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-left {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-left {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-right {
  0% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-right {
  0% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/* wrapper
-----------------------------------*/
body {
  height: 100%;
}

.container,
footer {
  text-align: justify;
}
.container .contents,
footer .contents {
  max-width: 1048px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 767px) {
  .container .contents,
footer .contents {
    padding: 0 20px;
  }
}

/* 地図
-----------------------------------*/
.map {
  position: relative;
  height: 0;
  padding-top: 56.25%;
}
@media (max-width: 767px) {
  .map {
    padding-top: 70%;
  }
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* パンくず
-----------------------------------*/
.b-nv {
  list-style: none;
  padding: 56px 0 40px;
}
@media (max-width: 767px) {
  .b-nv {
    padding: 24px 0 32px;
  }
}
.b-nv li {
  display: inline;
}
.b-nv li a {
  color: #f15a24;
}
.b-nv li + li {
  position: relative;
  padding-left: 30px;
}
.b-nv li + li:before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 30px;
  height: 1.6em;
  background: url(/images/common/arrow_ic01.svg) no-repeat center;
  background-size: 6px 12px;
}

.buyer .b-nv a {
  color: #662D91;
}
.buyer .b-nv li + li:before {
  background-image: url(/images/common/arrow_ic01_02.svg);
}

.food .b-nv a {
  color: #009245;
}
.food .b-nv li + li:before {
  background-image: url(/images/common/arrow_ic01_03.svg);
}

/* タイトル
-----------------------------------*/
.heading01 {
  color: #f15a24;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 8px;
  border-bottom: 1px solid #050404;
  margin: 64px 0 32px;
}
@media (max-width: 767px) {
  .heading01 {
    font-size: 16px;
    margin: 40px 0 16px;
  }
}
.heading01.type02 {
  border: 2px solid #f15a24;
  text-align: center;
  padding: 8px;
}
@media (max-width: 767px) {
  .heading01.type02 {
    margin-bottom: 24px;
  }
}

.buyer .heading01 {
  color: #662D91;
}

.food .heading01 {
  color: #009245;
}

.heading02 {
  color: #FFF;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background-color: #050404;
  padding: 20px;
  margin-bottom: 56px;
}
@media (max-width: 767px) {
  .heading02 {
    font-size: 18px;
    padding: 12px;
    margin-bottom: 28px;
  }
}

.heading03 {
  font-weight: bold;
  margin-bottom: 1em;
}

/* フォーム
-----------------------------------*/
input, textarea, select {
  color: inherit;
  font-size: inherit;
  background-color: #fdfaf6;
  border: 1px solid #050404;
  border-radius: 0;
  cursor: pointer;
}
input::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #999;
}
input::placeholder, textarea::placeholder, select::placeholder {
  color: #999;
}

.buyer input, .buyer textarea, .buyer select {
  background-color: #eef1f8;
}

input[type=radio],
input[type=checkbox] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  display: none;
}
input[type=radio] + span,
input[type=checkbox] + span {
  position: relative;
  padding-left: 30px;
  line-height: 22px;
  vertical-align: middle;
}

input[type=radio] + span:before, input[type=radio] + span:after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  border-radius: 50%;
  box-sizing: border-box;
}
input[type=radio] + span:before {
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  background-color: #FFF;
  border: 1px solid #050404;
}
input[type=radio] + span:after {
  top: 4px;
  left: 4px;
  width: 14px;
  height: 14px;
}
input[type=radio]:checked + span:after {
  background-color: #050404;
}

input[type=checkbox] + span:before, input[type=checkbox] + span:after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  bottom: 0;
  display: inline-block;
  box-sizing: border-box;
}
input[type=checkbox] + span:before {
  z-index: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #050404;
  background-color: #FFF;
}
input[type=checkbox] + span:after {
  z-index: 1;
  top: 5px;
  left: 8px;
  width: 6px;
  height: 9px;
}
input[type=checkbox]:checked + span:before {
  background-color: #050404;
}
input[type=checkbox]:checked + span:after {
  border: 2px solid #FFF;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

label {
  display: table;
  cursor: pointer;
}
label > span {
  display: table;
}
label .flex-wrap {
  display: flex;
  align-items: center;
}
label .flex-wrap div {
  color: #FFF;
  background-color: #050404;
  padding: 0 8px;
  margin-right: 8px;
  font-size: 12px;
  line-height: 1;
  display: flex;
  align-items: center;
  height: 22px;
}

textarea {
  display: block;
  resize: vertical;
}

.select-wrap {
  position: relative;
}
.select-wrap:after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 12px;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6.5px 0 6.5px;
  border-color: #050404 transparent transparent transparent;
}
.select-wrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
textarea,
select {
  width: 100%;
  padding: 12px;
}

input[type=file] {
  background: none;
  border: none;
}

input[type=date] {
  max-width: 100%;
  padding: 12px;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: inherit;
  font-size: 16px;
  line-height: 1.6;
  cursor: pointer;
  padding: 0;
  background: none;
}
@media (max-width: 767px) {
  input[type=submit],
input[type=button],
button {
    font-size: 14px;
  }
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

.required {
  color: #ff0000;
}

.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
  color: #ff0000 !important;
  margin-top: 8px;
}

.p-country-name {
  display: none;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-list-item {
  margin: 0 !important;
}

/* ボタン
-----------------------------------*/
.com-bt01 {
  position: relative;
}
.com-bt01 a, .com-bt01 button, .com-bt01 input {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  min-height: 52px;
  color: #FFF;
  font-weight: bold;
  padding: 12px 42px;
  background-color: #f15a24;
  border: 2px solid #f15a24;
  transition: 0.4s;
}
@media (max-width: 767px) {
  .com-bt01 a, .com-bt01 button, .com-bt01 input {
    min-width: 140px;
    min-height: 40px;
  }
}
.com-bt01:after {
  position: absolute;
  content: "";
  background: url(/images/common/arrow_ic02.svg) no-repeat center;
  background-size: 18px auto;
  width: 18px;
  height: 100%;
  right: 12px;
  top: 0;
}
@media (max-width: 767px) {
  .com-bt01:after {
    background-size: 16px auto;
    width: 16px;
  }
}
.com-bt01:hover a, .com-bt01:hover button, .com-bt01:hover input {
  color: #f15a24;
  background-color: #FFF;
}
.com-bt01:hover:after {
  background-image: url(/images/common/arrow_ic02_02.svg);
}
.com-bt01.prev a, .com-bt01.prev button, .com-bt01.prev input {
  background-color: #4d4d4d;
  border-color: #4d4d4d;
}
.com-bt01.prev:after {
  right: inherit;
  left: 12px;
  transform: rotate(180deg);
}
.com-bt01.prev:hover a, .com-bt01.prev:hover button, .com-bt01.prev:hover input {
  color: #4d4d4d;
  background-color: #FFF;
}
.com-bt01.prev:hover:after {
  background-image: url(/images/common/arrow_ic02_03.svg);
}
.com-bt01.type02 a, .com-bt01.type02 button, .com-bt01.type02 input {
  padding: 12px;
  background-color: #050404;
  border-color: #050404;
}
.com-bt01.type02:after {
  content: none;
}
.com-bt01.type02:hover a, .com-bt01.type02:hover button, .com-bt01.type02:hover input {
  color: #050404;
  background-color: #FFF;
}

.buyer .com-bt01:not(.prev):not(.type02) a, .buyer .com-bt01:not(.prev):not(.type02) button, .buyer .com-bt01:not(.prev):not(.type02) input {
  background-color: #662D91;
  border-color: #662D91;
}
.buyer .com-bt01:not(.prev):not(.type02):hover a, .buyer .com-bt01:not(.prev):not(.type02):hover button, .buyer .com-bt01:not(.prev):not(.type02):hover input {
  color: #662D91;
  background-color: #FFF;
}
.buyer .com-bt01:not(.prev):not(.type02):hover:after {
  background-image: url(/images/common/arrow_ic02_04.svg);
}

.food .com-bt01:not(.prev):not(.type02) a, .food .com-bt01:not(.prev):not(.type02) button, .food .com-bt01:not(.prev):not(.type02) input {
  background-color: #009245;
  border-color: #009245;
}
.food .com-bt01:not(.prev):not(.type02):hover a, .food .com-bt01:not(.prev):not(.type02):hover button, .food .com-bt01:not(.prev):not(.type02):hover input {
  color: #009245;
  background-color: #FFF;
}
.food .com-bt01:not(.prev):not(.type02):hover:after {
  background-image: url(/images/common/arrow_ic02_05.svg);
}

.com-bt02 {
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: bold;
  max-width: 400px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .com-bt02 {
    font-size: 16px;
  }
}
.com-bt02 a {
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.5s all;
  background-color: #0662A3;
  border: 2px solid #0662A3;
  border-radius: 15px;
  gap: 1em;
  height: 77px;
  text-decoration: none;
}
@media (max-width: 767px) {
  .com-bt02 a {
    height: 48px;
    border-radius: 10px;
  }
}
.com-bt02 a .arrow {
  width: clamp(36px, 2.4vw, 46px);
  height: clamp(36px, 2.4vw, 46px);
  border: 2px solid;
  border-radius: 50%;
  background: url(/images/common/arrow_ic02.svg) no-repeat center;
  background-size: 40% auto;
  transition: 0.5s all;
}
@media (max-width: 767px) {
  .com-bt02 a .arrow {
    width: 28px;
    height: 28px;
  }
}
.com-bt02 a:hover {
  color: #0662A3;
  background-color: #FFF;
  opacity: 0.7;
}
.com-bt02 a:hover .arrow {
  background-image: url(/images/common/arrow_ic02_06.svg);
}
.com-bt02.color2 a {
  background-color: #6C85B4;
  border-color: #6C85B4;
}
.com-bt02.color2 a:hover {
  color: #6C85B4;
  background-color: #FFF;
}
.com-bt02.color2 a:hover .arrow {
  background-image: url(/images/common/arrow_ic02_07.svg);
}
.com-bt02.color3 a {
  background-color: #662D91;
  border-color: #662D91;
}
.com-bt02.color3 a:hover {
  color: #662D91;
  background-color: #FFF;
}
.com-bt02.color3 a:hover .arrow {
  background-image: url(/images/common/arrow_ic02_04.svg);
}

.list-bt {
  display: flex;
  justify-content: center;
  gap: 80px;
  margin-top: 80px;
}
@media (max-width: 767px) {
  .list-bt {
    gap: 20px;
    margin-top: 40px;
  }
}

/* ボックス
-----------------------------------*/
.thanx-box {
  background-color: #fdfaf6;
  border: 1px solid #050404;
  padding: 32px;
}
@media (max-width: 767px) {
  .thanx-box {
    padding: 20px;
  }
}
.thanx-box .f-tb {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .thanx-box .f-tb {
    margin-top: 20px;
  }
}

.buyer .thanx-box {
  background-color: #eef1f8;
}

/* インデント
-----------------------------------*/
.indent {
  text-indent: -1em;
  margin-left: 1em;
}

/* リスト
-----------------------------------*/
.list-dot > li,
.list-note > li,
.list-circle > li {
  text-indent: -1em;
  margin-left: 1em;
}

.list-dot > li:before {
  content: "・";
  font-feature-settings: normal;
}

.list-note > li:before {
  content: "※";
}

.list-circle > li:before {
  content: "●";
  font-size: 0.9em;
  margin-right: 0.1em;
}
.list-circle th, .list-circle td {
  padding-top: 8px;
}
@media (max-width: 767px) {
  .list-circle th, .list-circle td {
    display: block;
  }
}
.list-circle th {
  font-weight: inherit;
  white-space: nowrap;
  vertical-align: top;
}
.list-circle th:before {
  content: "●";
  font-size: 0.9em;
  margin-right: 0.1em;
}
.list-circle td {
  padding-left: 1em;
}
@media (max-width: 767px) {
  .list-circle td {
    padding: 0;
  }
}

.list-dl dt {
  color: #f15a24;
  font-weight: bold;
  margin-bottom: 0.25em;
}

.buyer .list-dl dt {
  color: #662D91;
}

.food .list-dl dt {
  color: #009245;
}

ol {
  /* 1桁 */
  /* 2桁 */
}
ol.list-num {
  margin-left: 20px;
}
@media (max-width: 767px) {
  ol.list-num {
    margin-left: 17.5px;
  }
}
ol.list-num02 {
  margin-left: 28px;
}
@media (max-width: 767px) {
  ol.list-num02 {
    margin-left: 24.5px;
  }
}
ol.list-num > li + li, ol.list-num02 > li + li {
  margin-top: 1rem;
}
ol.list-num.type02 > li + li, ol.list-num02.type02 > li + li {
  margin-top: 1.5rem;
}

/* テーブル
-----------------------------------*/
/* 幅 */
col.colw05 {
  width: 5%;
}

col.colw10 {
  width: 10%;
}

col.colw15 {
  width: 15%;
}

col.colw20 {
  width: 20%;
}

col.colw25 {
  width: 25%;
}

col.colw30 {
  width: 30%;
}

col.colw35 {
  width: 35%;
}

col.colw40 {
  width: 40%;
}

col.colw45 {
  width: 45%;
}

col.colw50 {
  width: 50%;
}

col.colw55 {
  width: 55%;
}

col.colw60 {
  width: 60%;
}

col.colw65 {
  width: 65%;
}

col.colw70 {
  width: 70%;
}

col.colw75 {
  width: 75%;
}

col.colw80 {
  width: 80%;
}

col.colw85 {
  width: 85%;
}

col.colw90 {
  width: 90%;
}

col.colw95 {
  width: 95%;
}

.tb-wrapper {
  overflow-x: auto;
}
.tb-wrapper table th, .tb-wrapper table td {
  width: auto;
  display: table-cell;
  white-space: nowrap;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}
table .nowrap {
  white-space: nowrap;
}
table caption {
  text-align: inherit;
}

.f-tb {
  font-size: 18px;
}
@media (max-width: 767px) {
  .f-tb {
    font-size: 16px;
  }
}
.f-tb tr:not(:first-child) th {
  padding-top: 20px;
}
.f-tb tr:not(:first-child) td {
  padding-top: 20px;
}
@media (max-width: 767px) {
  .f-tb tr:not(:first-child) td {
    padding-top: 0;
  }
}
.f-tb th, .f-tb td {
  font-weight: bold;
  text-align: left;
}
@media (max-width: 767px) {
  .f-tb th, .f-tb td {
    display: block;
  }
}
.f-tb th {
  white-space: nowrap;
  vertical-align: top;
}
@media (max-width: 767px) {
  .f-tb th {
    padding-bottom: 8px;
  }
  .f-tb th.th01 {
    font-size: 18px;
    border-bottom: 1px solid #050404;
    margin-bottom: 16px;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .f-tb th.th01 {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .f-tb th.th01 div {
    padding: 0;
  }
  .f-tb th.th01 div:before, .f-tb th.th01 div:after {
    content: none;
  }
}
.f-tb th div {
  position: relative;
  padding: 0 0.5em;
  line-height: 32px;
}
@media (max-width: 767px) {
  .f-tb th div {
    display: inline-block;
    line-height: inherit;
  }
}
.f-tb th div:before, .f-tb th div:after {
  position: absolute;
  top: 0;
}
.f-tb th div:before {
  content: "[";
  left: 0;
}
.f-tb th div:after {
  content: "]";
  right: 0;
}
.f-tb th div span {
  display: block;
  -moz-text-align-last: justify;
       text-align-last: justify;
}
@media (max-width: 767px) {
  .f-tb th div span {
    display: inline;
    text-align: left;
  }
}
.f-tb td {
  padding-left: 20px;
}
@media (max-width: 767px) {
  .f-tb td {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .f-tb .f-logo01 {
    max-width: 300px;
  }
}
.f-tb .tx01 {
  font-size: 24px;
  line-height: 32px;
}
@media (max-width: 767px) {
  .f-tb .tx01 {
    font-size: 20px;
    line-height: 1;
  }
}
.f-tb .list01 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 24px;
  margin: 10px 0;
}
@media (max-width: 767px) {
  .f-tb .list01 {
    gap: 0 20px;
  }
}
.f-tb .list01 dl {
  display: flex;
}
.f-tb .list01 dd {
  text-indent: -1em;
  margin-left: 1em;
}
.f-tb .list01 dd:before {
  content: "：";
  font-feature-settings: normal;
}
.f-tb .list01 .tel {
  width: 100%;
}
/*# sourceMappingURL=common.css.map */