﻿@charset "utf-8";
/* CSS Document */

/*====================================
PC版
=====================================*/
@media print, screen and (min-width: 521px) {
.firstview {
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 895px;
    min-width: 1300px;
    background: linear-gradient(180deg,rgba(203, 254, 255, 1) 0%, rgba(161, 255, 236, 1) 100%);
}

.fv_logo {
    position: absolute;
    top: 10px;
    margin: 0 auto;
    z-index: 3;
}

.pic_group {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    height: 100%;
    width: 100%;
    max-width: 1400px;
    position: relative;
    left: 0;
    top: 0;
}

.pic_group img {
    position: absolute;
}

.water {
    bottom: 0;
    transform-origin: bottom center;
    animation: fv_1 0.8s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_1 {
    0% {
        transform: scale(0.3);
    }
    
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.fv_copy {
    right: 50%;
    top: 359px;
}

.fv_chara {
    left: 6.14%;
    top: 147px;
    animation: fv_0 1s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_0 {
    0% {
        transform: scale(0.3) translate(800%, 1400%) rotate(-95deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.greenpepper_1 {
    top: 165px;
    left: 20.78%;
    animation: fv_2 0.9s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_2 {
    0% {
        transform: scale(0.3) translate(150%, 300%) rotate(-50deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.greenpepper_2 {
    top: 625px;
    right: 22.35%;
    animation: fv_3 0.9s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_3 {
    0% {
        transform: scale(0.3) translate(-400%, 50%) rotate(-50deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.siitake_1 {
    top: 715px;
    left: 24.21%;
    animation: fv_4 0.6s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_4 {
    0% {
        transform: scale(0.3) translate(300%, 100%) rotate(180deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.siitake_2 {
    top: 471px;
    right: 15.07%;
    animation: fv_5 0.55s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_5 {
    0% {
        transform: scale(0.3) translate(-900%, 500%) rotate(-200deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.tomato_1 {
    top: 551px;
    left: 26.28%;
    animation: fv_6 0.6s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_6 {
    0% {
        transform: scale(0.3) translate(400%, 300%) rotate(100deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.tomato_2 {
    top: 640px;
    left: 34.78%;
    animation: fv_7 0.7s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_7 {
    0% {
        transform: scale(0.3) translate(500%, 400%) rotate(-100deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.tomato_3 {
    top: 172px;
    right: 18.35%;
    animation: fv_8 0.6s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_8 {
    0% {
        transform: scale(0.3) translate(-400%, 800%) rotate(-100deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.tomato_4 {
    top: 705px;
    right: 12.2%;
    animation: fv_9 0.8s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_9 {
    0% {
        transform: scale(0.3) translate(-700%, 100%) rotate(100deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.aspara_1 {
    top: 448px;
    left: -5%;
    animation: fv_10 0.6s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_10 {
    0% {
        transform: scale(0.3) translate(800%, 150%) rotate(120deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.aspara_2 {
    top: 331px;
    left: 3.92%;
    animation: fv_11 0.8s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_11 {
    0% {
        transform: scale(0.3) translate(400%, 50%) rotate(60deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.aspara_3 {
    top: 330px;
    right: 2%;
    animation: fv_12 0.7s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_12 {
    0% {
        transform: scale(0.3) translate(-1600%, 300%) rotate(-40deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(50deg);
    }
}

.aspara_4 {
    top: 113px;
    right: 4.21%;
    animation: fv_13 0.6s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_13 {
    0% {
        transform: scale(0.3) translate(-900%, 400%) rotate(-90deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.muscat_1 {
    top: 775px;
    left: 3.78%;
    animation: fv_14 0.8s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_14 {
    0% {
        transform: scale(0.3) translate(1500%, 0%) rotate(240deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.muscat_2 {
    top: 428px;
    left: 20.7%;
    animation: fv_15 0.7s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_15 {
    0% {
        transform: scale(0.3) translate(1000%, 1000%) rotate(360deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.muscat_3 {
    top: 756px;
    left: 45.14%;
    animation: fv_16 0.6s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_16 {
    0% {
        transform: scale(0.3) translate(200%, 300%) rotate(-200deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.muscat_4 {
    top: 193px;
    right: 44.14%;
    animation: fv_17 0.9s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_17 {
    0% {
        transform: scale(0.3) translate(-100%, 1500%) rotate(300deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.muscat_5 {
    top: 600px;
    right: 0%;
    animation: fv_18 0.9s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_18 {
    0% {
        transform: scale(0.3) translate(-1500%, 400%) rotate(300deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

.muscat_6 {
    top: 257px;
    right: 25.57%;
    animation: fv_19 0.95s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_19 {
    0% {
        transform: scale(0.3) translate(-50%, 130%) rotate(-30deg);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0) rotate(0deg);
    }
}

/* お知らせ */

.area_1 {
    background-color: #fffae8;
}

section.topics .box {
    position: relative;
    margin-top: -50px;
    width: 1200px;
    padding: 34px 43px 40px 30px;
}

section.topics .box::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border: 2px solid #1ec900;
    border-radius: 15px;
    box-sizing: border-box;
    box-shadow: 0px 0px 5px 4px rgba(100, 100, 100, 0.7);
}

section.topics .box .bg {
    display: block;
    width: 100%;
    height: 100%;
    border: 6px solid #1ec900;
    border-radius: 15px;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
    left: 0;
    top: 0;
  filter: url(#filter);
}

section.topics .inner {
    position: relative;
    z-index: 1;
}

.topics_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.topics_title {
    font-size: 40px;
    line-height: 1;
    color: #009641;
}

.topics_more {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 190px;
    height: 36px;
    border-radius: 18px;
    font-size: 16px;
    font-weight: bold;
    background-color: #fff;
    border: 1px solid #1ec900;
}

.topics_list {
    margin-top: 18px;
    padding: 0 7px  0 20px;
}

.topics_list li {
    width: 100%;
    border-top: 1px solid #1ec900;
}

.topics_list li:last-of-type {
    border-bottom: 1px solid #1ec900;
}

.topics_list li a {
    display: flex;
    padding: 18px 40px;
}

.topics_list .date {
    font-size: 16px;
    font-weight: 700;
    line-height: 23.4px;
}

.topics_list .title {
    margin-left: 85px;
    font-weight: 700;
    line-height: 1.3;
}

/* 通年商品 */

.product_title {
    padding: 10px 25px;
    position: relative;
    width: 100%;
    filter: drop-shadow(0 3px 5px rgba(0,0,0,.2));
}

.product_title p {
    position: relative;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.44;
    z-index: 1;
}

.product_title .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    filter: url(#bg);
}

.product_title .bg .layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    filter: url(#bg_inner);
}

.product_title .bg .layer::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-repeat: repeat;
}

.product_title.yellow .bg .layer::before {
    background-image: url(../home/obi_yellow.jpg);
}

/* .product_title {
    display: flex;
    align-items: center;
    width: 1200px;
    height: 88px;
    background-size: 100%;
    font-size: 40px;
    line-height: 1;
    padding: 0 25px 5px 25px;
}

.product_title.yellow {
    background-image: url(../home/obi_yellow.png);
} */

/* 期間限定商品 */

.product_title.green .bg .layer::before {
    background-image: url(../home/obi_green.jpg);
}

/* .product_title.green {
    background-image: url(../home/obi_green.png);
} */

.product_box {
    width: 1200px;
    padding: 40px;
    background-color: #f1fed4;
    border: 1px solid #a2ea55;
    border-radius: 20px;
}

.product_box .content {
    display: flex;
    gap: 45px;
}

.product_box .content img {
    width: 460px;
    height: 310px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.3);
}

.product_box .content .right {
    width: 600px;
}

.product_box .content .right .title {
    width: 100%;
    font-size: 32px;
    padding-left: 5px;
    border-bottom: 3px solid #83c108;
    font-weight: 700;
    line-height: 1.5;
}

.product_box .content .right .date,
.product_box .content .right .location {
    display: flex;
    /* align-items: center; */
    padding-left: 10px;
    gap: 20px;
}

.product_box .content .right .date span {
    display: flex;
}

/* .product_box .content .right .schedule {
    display: block;
    width: 155px;
} */

.product_box .content .right .schedule {
    margin-left: 0.6em;
}

.product_box .content .right .location {
    margin-top: 18px;
}

.product_box .content .right .date p:nth-of-type(1),
.product_box .content .right .location p:nth-of-type(1) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 32px;
    border-radius: 16px;
    background-color: #83c108;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
}

.product_box .content .right .date p:nth-of-type(2),
.product_box .content .right .location p:nth-of-type(2) {
    font-size: 20px;
    font-weight: 700;
    line-height: 32px;
}

.product_box .content .right .text {
    line-height: 1.3;
    font-weight: 700;
    padding-left: 10px;
}

.prod_info {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.prod_info .name {
    width: 100%;
    font-size: 30px;
    display: flex;
    align-items: center;
    padding: 5px 20px 7px 20px;
    line-height: 1;
    font-weight: 700;
    background-color: #c0e674;
}

.prod_info .name span {
    font-size: 18px;
    font-weight: normal;
}

.prod_info .amount_container {
    display: flex;
    padding-top: 5px;
    gap: 40px;
}

.prod_info .amount_container p:nth-of-type(1) {
    font-size: 16px;
}

.prod_info .amount_member p {
    color: #b63838;
}

.prod_info .amount_container p:nth-of-type(2) {
    margin-top: -7px;
    font-size: 36px;
  font-family: 'A-OTFgothic';
  line-height: 50px;
}

.prod_info .amount_general p:nth-of-type(2) {
    position: relative;
    top: 3px;
}

.prod_info .amount_member p:nth-of-type(2) {
    font-size: 50px;
}

.prod_info .amount_container span {
    font-size: 18px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

.prod_info .amount_container .tax {
    color: #000;
}

.purchase {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-top: 30px;
    position: relative;
}

.purchase::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.btn_purchase {
    width: 400px;
    height: 90px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #ff6c00;
}

.btn_purchase:hover {
    filter: brightness(1.1);
}

.btn_purchase .icon {
    position: absolute;
    left: 15px;
}

.btn_purchase p {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
}

.btn_purchase.member::before {
    content: "組合員加入希望の方もお申し込みいただけます";
    position: absolute;
    bottom: -28px;
    font-size: 14px;
}

.purchase .circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 144px;
    height: 144px;
    border: 4px solid #ffae00;
    border-radius: 72px;
    background-color: #fff;
    font-size: 30px;
    font-weight: 700;
}

/* 准組合員加入申込みのご案内 */

section.join .title {
    font-size: 40px;
    color: #009641;
}

section.join .content {
    margin-top: 40px;
    padding: 0 75px;
    font-size: 20px;
}

section.join .inner {
    position: relative;
    margin-top: 50px;
}

section.join .inner img {
    position: absolute;
    left: calc(50% + 256px);
    top: -60px;
}

section.join .btn {
    margin: 0 auto;
    width: 440px;
    height: 80px;
    border-radius: 40px;
    font-size: 28px;
}

/* ------------------------------------
お知らせ
-------------------------------------- */

article {
    padding-top: 100px;
    padding-bottom: 40px;
    border-bottom: 1px solid #999;
}

article .date {
    font-size: 16px;
    color: #999;
}

article .title {
    font-size: 24px;
    font-weight: 700;
    margin-top: 10px;
    line-height: 1.4;
}

article .img_container {
    margin-top: 50px;
    gap: 30px;
}

article .img_container a {
    width: 380px;
    height: 300px;
    overflow: hidden;
}

article .img_container a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

article .content {
    margin-top: 20px;
    line-height: 1.88;
    font-size: 18px;
}

article .pdf {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}

article .pdf p {
    color: #009641;
}

.page_turn {
    position: relative;
    display: flex;
    padding: 60px 115px 95px 115px;
}

.page_turn .prev,
.page_turn .next {
    position: absolute;
    display: flex;
    align-items: center;
    font-size: 20px;
    color: #666;
    font-weight: 700;
    gap: 5px;
}

.page_turn .prev {
    left: 115px;
}

.page_turn .next {
    right: 115px;
}

/* ------------------------------------
特定商取引法に基づく表記
-------------------------------------- */

.law_table li {
    width: 1200px;
    display: flex;
}

.law_table li .head {
    width: 260px;
    padding: 20px 30px;
    border-top: 2px solid #8bcc80;
    font-weight: 700;
}

.law_table li .data {
    width: 940px;
    padding: 20px 50px;
    border-top: 1px solid #ccc;
    line-height: 1.88;
}

.law_table li .data .bold {
    font-weight: 700;
}

/* ------------------------------------
お問い合わせ
-------------------------------------- */

.form_inner {
    padding: 0 40px;
}

.form_item {
    position: relative;
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
    margin-bottom: 60px;
}

.form_item>p {
    position: relative;
    top: calc(26px - 0.6em);
    font-weight: 700;
    line-height: 1;
}

.form_item .required {
    position: relative;
    display: flex;
    align-items: center;
    height: fit-content;
    gap: 10px;
}

.form_item .required img {
    position: absolute;
    right: -50px;
}

.form_item .input_container {
    position: relative;
    margin: 0;
    width: 900px;
}

.form_item input {
    padding: calc(26px - 0.6em) 20px;
    width: 900px;
    height: 52px;
    border-radius: 5px;
    font-size: 18px;
    border: 1px solid #ccc;
    display: block;
}

.order_page .form_item input {
    border-color: #999;
}

.form_item textarea {
    padding: 10px 20px;
    width: 900px;
    height: 260px;
    border-radius: 5px;
    font-size: 18px;
    border: 1px solid #ccc;
    display: block;
    resize: none;
}

.privacypolicy {
    padding: 30px 40px;
    background-color: #eef2e9;
    border-radius: 10px;
}

.privacypolicy .title {
    font-size: 20px;
    font-weight: 700;
}

.privacypolicy .content {
    font-size: 16px;
    margin-top: 10px;
}

.pp_text {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: 0 auto;
  margin-top: 35px;
  font-size: 16px;
  font-family: 'shingo-r';
}

.pp_check {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  width: 42px;
  height: 42px;
  border: 2px solid #808080;
  border-radius: 3px;
  background-color: #fff;
  transition: .1s all ease;
  cursor: pointer;
}

.pp_check:checked {
  border-color: #808080;
  background-color: #808080;
  background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'>\<path d='M20 6L9 17l-5-5'/>\</svg>");
}

.pp_text span {
    position: relative;
    top: -2px;
}

.form_btn {
    width: 380px;
    height: 80px;
    border-radius: 40px;
    font-size: 30px;
}

.alert,.confirm,.complete {
    display: none;
}

.alert.active {
  position: absolute;
  display: block;
  font-size: 13px;
  color: #f00;
}

.alert_pp {
  position: relative !important;
  margin: 0 auto;
  width: fit-content;
  left: 0 !important;
  top: 0 !important;
}

.confirm{
  display: none;
}

.confirm.active {
	position:fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height:100vh;
	display:flex;
	justify-content: center;
	align-items:center;
	/* pointer-events:none; */
	z-index: 999;
}

.confirm_wrapper {
  position: relative;
  display: flex;
  /* left: calc(50% - 510px);
  top: calc(50vh - 40vh); */
  flex-direction: column;
  align-items: center;
  padding: 50px;
  width: 1020px;
  height: fit-content;
  max-height:80vh;
  background-color: #fff;
  color: #000;
  border-radius: 10px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
  overflow-y:scroll;
}

.confirm_wrapper h2 {
  font-size: 28px;
  margin-bottom: 30px;
  background: none;
  color: #000;
  text-align: center;
}

.confirm_item {
  display: flex;
  justify-content: left;
  padding: 16px 60px;
  width: 100%;
  border-top: 1px solid #000;
}

.confirm_item:last-of-type {
  border-bottom: 1px solid #000;
}

.confirm_container {
  width: 100%;
  height:fit-content;
  /* overflow-y: scroll; */
}

.confirm_container p {
	color: #000;
}

.confirm_head {
  width: 180px;
  margin-right: 20px;
  line-height: 1.5;
}

.confirm_address{
  display: flex;
  flex-direction: column;
}

.confirm_container p:last-of-type {
  width: 620px;
  text-align: left;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.confirm_btn {
  margin-top: 50px;
  display: flex;
  flex-direction: row-reverse;
}

.submit_btn,.back {
  margin: 0 50px;
  width: 130px;
  height: 50px;
  font-size: 18px;
  border: none;
  border-radius: 8px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: .3s all ease;
}

.submit_btn:hover,.back:hover {
  opacity: .8;
}

.submit_btn {
  color: #fff;
  background-color: #005fad;
}

.back {
  background-color: #ccc;
  color: #000;
  line-height: 50px;
}

.complete {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 999;
  pointer-events: none;
}

.complete.active{
  display: flex;
}

.complete_container{
    display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px;
  width: 500px;
  height: 400px;
  max-height: 800px;
  background-color: #fff;
  color: #000;
  border-radius: 10px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
}

.complete .title{
    font-size: 30px;
    font-weight: 700;
  margin-bottom: 30px;
}

.close{
  width: 130px;
  height: 50px;
  font-size: 18px;
  background-color: #005fad;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 50px;
  margin-top: 30px;
  border-radius: 8px;
  cursor: pointer;
}

.close:hover{
  opacity: .8;
}

/* ------------------------------------
通年商品
-------------------------------------- */

.product_overview {
    position: relative;
    padding-top: 110px;
    padding-bottom: 80px;
}

.product_overview::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.product_overview .title {
    padding: 5px 40px;
    position: relative;
    width: 100%;
    filter: drop-shadow(0 3px 5px rgba(0,0,0,.2));
}

.product_overview .title p {
    position: relative;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.44;
    z-index: 1;
}

.product_overview .title .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    filter: url(#bg);
}

.product_overview .title .bg .layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    filter: url(#bg_inner);
    border-radius: 10px;
    overflow: hidden;
}

.product_overview .title .bg .layer::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../common/bg_yellow.jpg);
    background-repeat: repeat;
}

.limited .product_overview .title .bg .layer::before {
    background-image: url(../common/bg_green.jpg);
}

.product_overview .inner {
    display: flex;
    gap: 50px;
    margin-top: 30px;
}

.main_pic {
    width: 430px;
    height: 430px;
    margin-bottom: 10px;
}

.thumb_pic .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
}

.thumb_pic .swiper-slide {
    width: 100px !important;
    height: 100px !important;
}

.product_overview .table {
    margin-top: 30px;
    width: 100%;
}

.product_overview .table th {
    width: 160px;
    padding: 10px 10px;
    border: 1px solid #ccc;
    background-color: #f6f6f6;
    font-size: 18px;
    font-weight: 400;
}

.product_overview .table td {
    width: 460px;
    padding: 10px 30px;
    border: 1px solid #ccc;
    background-color: #fff;
    font-size: 18px;
}

.product_overview .amount_container {
    margin-top: 70px;
}

.product_overview .amount_container b {
    display: flex;
    align-items: baseline;
    position: relative;
    font-size: 20px;
}

.product_overview .amount_container b span {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 5px;
    width: 160px;
    height: 32px;
    border-radius: 4px;
    font-size: 20px;
    line-height: 1;
    color: #fff;
    background-color: #ff8500;
    font-family: 'A-OTFgothic';
    padding-bottom: 3px;
}

.product_overview .amount .number {
    position: relative;
    top: 3px;
    font-size: 48px;
  font-kerning: normal;
    color: #c83f3f;
    line-height: 1;
}

.product_overview .amount .yen {
    font-size: 24px;
    color: #c83f3f;
    font-weight: 700;
    margin-left: -0.15em;
}

.product_overview .amount .tax {
    font-size: 24px;
    margin-left: -0.2em;
}

.input_field {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 720px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
}

.product_overview .input input {
    width: 130px;
    height: 48px;
    padding: 10px 5px;
    font-size: 18px;
    text-align: center;
    border: 1px solid #999;
    border-radius: 5px;
    background-color: #e9ffff;
    margin-right: 5px;
}

.total_amount {
    font-weight: bold;
}

.total_all {
    position: relative;
    padding-top: 20px;
    display: flex;
    justify-content: end;
}

.total_all .input_field {
    border-color: #c83f3f;
    padding: 0 50px;
    height: 120px;
}

.total_all .input_field.limited {
    border-color: #e1cd84;
}

.total_all .input_field b {
    font-size: 24px;
}

.total_all .input_field p {
    font-size: 40px;
    font-weight: 700;
}

.total_all .inner {
    display: flex;
    align-items: center;
    gap: 20px;
}

.total_all .alert.active {
    top: 25px;
    left: 480px;
    font-size: 18px;
}

.form_title {
    font-size: 40px;
}

.form_caution {
    font-size: 16px;
    text-align: right;
    color: #f00;
    padding-right: 40px;
    margin-bottom: 10px;
}

.zipcode {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

#zip_three {
    width: 150px;
    margin: 0 10px;
}

#zip_four {
    width: 200px;
    margin: 0 10px;
}

.location_container {
    position: relative;
}

#location {
    appearance: none;
    position: relative;
    width: 490px;
    height: 52px;
    padding: calc(26px - 0.6em) 20px;
    border-radius: 5px;
    font-size: 18px;
    border: 1px solid #999;
    display: block;
}

.location_container::before {
    content: "";
    position: absolute;
    left: calc(490px - 32px);
    bottom: calc(50% - 7px);
    display: block;
    width: 17px;
    height: 14px;
    background-color: #000;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    z-index: 1;
}

.htp {
    display: flex;
    padding: 11px 0;
}

.htp_inner {
    display: flex;
}

.radio_container {
    display: flex;
    align-items: center;
    margin-right: 70px;
}

input[type="radio"] {
    width: 30px;
    height: 30px;
    margin: 0 ;
    margin-right: 5px;
}

.shop_btn {
    width: 400px;
    height: 90px;
    border-radius: 10px;
    font-size: 28px;
    background-color: #ff6c00;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
}

.shop_guide {
    color: #f00;
    text-align: left;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.confirm.order .confirm_wrapper {
  width: 1200px;
  padding-left: 70px;
  padding-right: 70px;
}

.confirm_order {
    position: relative;
    display: flex;
    width: 100%;
    border-top: 2px solid #999;
    padding: 15px 100px 15px 20px;
}

.confirm_order::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.confirm.order .confirm_item {
    padding: 15px 20px;
}

.confirm.order .confirm_head {
    width: 210px;
    font-weight: bold;
}

.confirm.order b {
    width: 210px;
}

.confirm.order .item {
    display: flex;
}

.prod_name {
    width: 240px;
}

.prod_amount {
    width: 100px;
    text-align: right;
}

.prod_number {
    width: 100px;
    text-align: right;
}

.prod_total {
    width: 270px;
    text-align: right;
}

.confirm_payment {
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: end;
    border-bottom: 2px solid #999;
    margin-bottom: 50px;
    flex-shrink: 0;
    padding-right: 104px;
}

.confirm_payment span {
    margin-right: 20px;
}


/* ------------------------------------
期間限定商品
-------------------------------------- */

.date_container {
    padding: 35px 50px;
    background-color: #eaffe1;
}

.date_container .title {
    font-size: 40px;
    line-height: 1;
}

.date_container .content {
    margin-top: 30px;
}

.date_container .content .item {
    display: flex;
    align-content: end;
    font-size: 28px;
    font-weight: bold;
}

.date_container .content .item .circle {
    color: #3da52f;
    margin-right: 0.3em;
}

.date_container .content .item .date {
    display: block;
    width: 6.5em;
}

.date_container .content .item .address {
    position: relative;
    top: 0.7em;
    margin-left: 1.5em;
    font-weight: 400;
    font-size: 18px;
}

.caution_quantity {
    width: 100%;
    border: 1px solid #c83f3f;
    color: #c83f3f;
    font-size: 20px;
    padding: 5px 20px;
    margin-top: 30px;
}


/* ------------------------------------
商品注文完了画面
-------------------------------------- */

.order .title {
    font-size: 40px;
}

.order_container {
    padding: 30px 0;
    margin-top: 30px;
    border-radius: 20px;
    border: 1px solid #cccccc;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.order_container .content {
    font-size: 20px;
    line-height: 2;
    text-align: center;
}

.order_container .character {
    margin-top: 60px;
}

.order_container .thanks {
    margin-top: 5px;
    font-size: 24px;
    color: #ff8a00;
}


/* ------------------------------------
シャインマスカット
-------------------------------------- */

/* .product_box.muscat .prod_info {
    margin-top: 10px;
    gap: 5px;
}

.product_box.muscat .item {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #bfe574;
    padding-bottom: 5px;
} */

.item_name {
    display: flex;
    align-items: center;
    font-size: 28px;
    font-weight: 700;
    width: 330px;
}

.item_name .cyan {
    color: #00e2ca;
    font-size: 20px;
    margin-right: 5px;
}

.item_name .kakko {
    font-weight: normal;
    font-size: 18px;
    margin-left: 5px;
    padding-top: 3px;
}

/* .product_box.muscat .amount_container p:nth-of-type(1) {
    color: #000;
}

.product_box.muscat .purchase::before {
    display: none;
}

.product_box.muscat .btn_purchase {
    width: 600px;
} */

/* 商品注文ページ */

.area_3 {
    background-color: #eafff5;
}

.product_overview .wrapper {
    display: flex;
    align-items: end;
    justify-content: space-between;
}

.product_overview.muscat .table {
    margin-bottom: 30px;
}

.product_overview .wrapper .amount_container {
    margin-top: 0;
    display: flex;
    align-items: end;
}

.product_overview .item {
    margin-top: 10px;
}

.product_overview .item_name {
    margin-bottom: -5px;
}

.product_overview .item_name .kakko {
    font-size: 24px;
}

.product_overview .wrapper .amount_container b {
    font-weight: 400;
    font-size: 18px;
    margin-right: 10px;
    margin-bottom: 3px;
}

.product_overview .item .input_field {
    margin-top: 10px;
}





}  /*  PC版ここまで  */



/*===================================
スマホ版
===================================*/
@media only screen and (max-width : 520px ) {

.firstview {
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 62.1vw;
    background: linear-gradient(180deg,rgba(203, 254, 255, 1) 0%, rgba(161, 255, 236, 1) 100%);
}

.fv_logo {
    position: absolute;
    top: 10px;
    margin: 0 auto;
    z-index: 3;
}

.pic_group {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    height: 100%;
    width: 100%;
    /* max-width: 1400px; */
    position: relative;
    left: 0;
    top: 0;
}

.pic_group img {
    position: absolute;
}

.water {
    width: 100%;
    bottom: 0;
    transform-origin: bottom center;
    animation: fv_1 1s cubic-bezier(0, 0.75, 0.45, 1) forwards;
}

@keyframes fv_1 {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }
    
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.greenpepper_1 {
    width: 24vw;
    top: 9vw;
    left: 17.7%;
    /* animation: fv_2 1s cubic-bezier(0, 0.75, 0.45, 1) forwards; */
}

@keyframes fv_2 {
    0% {
        opacity: 0;
        transform: scale(0.3) translate(150%, 300%);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0);
    }
}

.greenpepper_2 {
    width: 15.27vw;
    top: 41.75vw;
    right: 2.4%;
    /* animation: fv_3 1s cubic-bezier(0, 0.75, 0.45, 1) forwards; */
}

@keyframes fv_3 {
    0% {
        opacity: 0;
        transform: scale(0.3) translate(-400%, 50%);
    }
    
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0);
    }
}

.siitake_1 {
    width: 12vw;
    top: 47.9vw;
    left: 22.4%;
}

.siitake_2 {
    width: 8.5vw;
    top: 20.4vw;
    right: 33.07%;
}

.tomato_1 {
    width: 9.19vw;
    top: 35.5vw;
    left: 24.7%;
}

.tomato_2 {
    width: 7.43vw;
    top: 42.4vw;
    left: 33.8%;
}

.tomato_3 {
    width: 10.1vw;
    top: 6.75vw;
    right: 20.67%;
}

.tomato_4 {
    width: 7.4vw;
    top: 54vw;
    right: 18.24%;
}

.aspara_1 {
    width: 8.3vw;
    top: 34vw;
    left: 0;
}

.aspara_2 {
    width: 22.3vw;
    top: 18.9vw;
    left: 0.8%;
}

.aspara_3 {
    width: 5.94vw;
    top: 13.5vw;
    left: 43.5%;
}

.aspara_4 {
    width: 12.4vw;
    top: 2.43vw;
    right: 2.43%;
}

.muscat_1 {
    width: 7.7vw;
    top: 52.7vw;
    left: 0.67%;
}

.muscat_2 {
    width: 7.8vw;
    top: 26.5vw;
    left: 18.78%;
}

.muscat_3 {
    width: 7.7vw;
    top: 35.4vw;
    left: 39.46%;
}

.muscat_4 {
    width: 8.24vw;
    top: 12.1vw;
    right: 43.78%;
}

.muscat_5 {
    width: 7vw;
    top: 37.1vw;
    right: -3.7vw;
}

.muscat_6 {
    width: 35.5vw;
    top: 28.65vw;
    right: 21.75%;
}

.fv_chara {
    width: 10.2vw;
    left: 3.9%;
    top: 3vw;
}

.fv_copy {
    width: 50vw;
    left: 17vw;
    top: 20.5vw;
}

/* お知らせ */

.area_1 {
    background-color: #fffae8;
}

section.topics .box {
    position: relative;
    margin-top: -4.3vw;
    width: 100%;
    padding: 4vw 3.65vw 2vw 3.65vw;
}

section.topics .box::before {
    content: "";
    position: absolute;
    left: 0.4vw;
    top: 0.4vw;
    width: calc(100% - 0.8vw);
    height: calc(100% - 0.8vw);
    border: 0.1vw solid #1ec900;
    border-radius: 2.4vw;
    box-sizing: border-box;
    box-shadow: 0px 0px 1vw 0.6vw rgba(100, 100, 100, 0.7);
}

section.topics .box .bg {
    display: block;
    width: 100%;
    height: 100%;
    border: 0.8vw solid #1ec900;
    border-radius: 2.4vw;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
    left: 0;
    top: 0;
  filter: url(#filter2);
}

section.topics .inner {
    position: relative;
    z-index: 1;
}

.topics_top {
    width: 100%;
}

.topics_title {
    font-size: 7.3vw;
    line-height: 1;
    color: #009641;
}

.topics_list {
    margin-top: 3vw;
}

.topics_list li {
    width: 100%;
    border-top: 1px solid #1ec900;
}

.topics_list li a {
    line-height: 1.4;
    display: block;
    padding: 2.7vw 2.5vw 3.6vw 2.5vw;
}

.topics_list .date {
    font-size: 4.6vw;
    font-weight: 700;
}

.topics_list .title {
    font-size: 4.6vw;
    /* font-weight: 700; */
}

.topics_more {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 51.3vw;
    height: 9.7vw;
    border-radius: 4.85vw;
    font-size: 4.3vw;
    font-weight: bold;
    background-color: #fff;
    border: 1px solid #1ec900;
    margin: 0 auto;
    margin-top: 6vw;
}

/* 通年商品 */

.product_title {
    display: flex;
    align-items: center;
    width: 100%;
    aspect-ratio: 709/110;
    background-size: 100%;
    font-size: 7.3vw;
    line-height: 1;
    padding: 0 3vw 0.2vw 3vw;
    background-size: 100%;
}

.product_title.yellow {
    background-image: url(../home/obi_yellow_sp.png);
}

/* 期間限定商品 */

.product_title.green {
    background-image: url(../home/obi_green_sp.png);
}

.product_box {
    width: 100%;
    padding: 4vw 4.7vw 4vw 4.7vw;
    background-color: #f1fed4;
    border: 1px solid #a2ea55;
    border-radius: 2.7vw;
}

.product_box .content {
    display: flex;
    flex-direction: column;
}

.product_box .content img {
    margin: 0 auto;
    width: 62.1vw;
    aspect-ratio: 46/31;
    object-fit: cover;
    border-radius: 1.35vw;
    box-shadow: 0 0 1vw 0.4vw rgba(0, 0, 0, 0.3);
}

.product_box .content .right {
    margin-top: 3vw;
    width: 100%;
}

.product_box .content .right .title {
    width: 100%;
    font-size: 5.4vw;
    padding-left: 1vw;
    border-bottom: 0.4vw solid #83c108;
    font-weight: 700;
    line-height: 1.5;
}

.product_box .content .right .location {
    margin-top: 5vw;
}

.product_box .content .right .date p:nth-of-type(1),
.product_box .content .right .location p:nth-of-type(1) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 23vw;
    height: 7.56vw;
    border-radius: 3.78vw;
    background-color: #83c108;
    color: #fff;
    font-size: 4vw;
    font-weight: 700;
}

.product_box .content .right .date p:nth-of-type(2),
.product_box .content .right .location p:nth-of-type(2) {
    font-size: 5.4vw;
    padding-left: 2vw;
    line-height: 1.5;
}

.product_box .content .right .date p:nth-of-type(2) span {
    display: block;
    padding: 2vw 0;
}

.product_box .content .right .date p:nth-of-type(2) span:nth-of-type(1) {
    border-bottom: 1px solid #999;
}

.product_box .content .right .text {
    line-height: 1.75;
    padding: 0 2vw;
    padding-top: 5vw;
    border-top: 1px solid #999;
    font-size: 5.4vw;
}

.product_box .content .right .schedule {
    border-bottom: none !important;
    display: inline-block !important;
    padding: 0 !important;
    /* padding-left: 0.6em !important; */
}

.prod_info {
    margin-top: 7vw;
    display: flex;
    flex-direction: column;
    gap: 6vw;
}

.prod_info .name {
    width: 100%;
    font-size: 5.4vw;
    display: flex;
    align-items: center;
    padding: 1vw 3vw 1vw 3vw;
    line-height: 1;
    font-weight: 700;
    background-color: #c0e674;
}

.prod_info .name span {
    font-size: 3.8vw;
    font-weight: normal;
}

.prod_info .amount_container {
    padding: 0 3vw;
    display: flex;
    flex-direction: column;
    gap: 4vw;
}

.prod_info .amount_container p:nth-of-type(1) {
    font-size: 3.2vw;
}

.prod_info .amount_member p {
    color: #b63838;
}

.prod_info .amount_container p:nth-of-type(2) {
    font-size: 8vw;
  font-family: 'A-OTFgothic';
  line-height: 1;
    margin-top: -2vw;
}

.prod_info .amount_general p:nth-of-type(2) {
    position: relative;
    top: 3px;
}

.prod_info .amount_member p:nth-of-type(2) {
    font-size: 12vw;
}

.prod_info .amount_container span {
    font-size: 4vw;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

.prod_info .amount_container .tax {
    color: #000;
}

.purchase {
    margin-top: 6vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    padding-top: 4vw;
}

.purchase::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.btn_purchase {
    width: 48%;
    height: 24.3vw;
    border-radius: 4vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #ff6c00;
}

.btn_purchase.general {
    order: 2;
}

.btn_purchase.member {
    order: 3;
}

.btn_purchase:hover {
    filter: brightness(1.1);
}

.btn_purchase .icon {
    width: 11.5vw;
}

.btn_purchase p {
    font-size: 5.4vw;
    font-weight: 700;
    color: #fff;
}

.btn_purchase.member::before {
    content: "組合員加入希望の方も\Aお申し込みいただけます";
    position: absolute;
    bottom: -8vw;
    font-size: 2.5vw;
    white-space: pre;
    line-height: 1.3;
}

.purchase .circle {
    margin-bottom: 2.7vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 7.8vw;
    border: 0.6vw solid #ffae00;
    background-color: #fff;
    font-size: 4.3vw;
    font-weight: 700;
    order: 1;
}

/* 准組合員加入申込みのご案内 */

section.join .title {
    font-size: 6.5vw;
    color: #009641;
}

section.join .content {
    margin-top: 4vw;
    font-size: 4.86vw;
    line-height: 1.66;
}

section.join .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    margin-top: 4vw;
}

section.join .inner img {
    width: 46.3vw;
}

section.join .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: 4vw;
    width: 75.6vw;
    height: 14.8vw;
    border-radius: 7.4vw;
    background-color: #1ec900;
    color: #fff;
    font-size: 5.4vw;
    font-weight: 700;
}

/* ------------------------------------
お知らせ
-------------------------------------- */

article {
    padding-top: 10vw;
    padding-bottom: 8vw;
    border-bottom: 1px solid #999;
}

article .date {
    font-size: 3.78vw;
    color: #999;
    line-height: 1.5;
}

article .title {
    font-size: 5.4vw;
    font-weight: 700;
    margin-top: 1vw;
    line-height: 1.5;
}

article .img_container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 6vw;
    gap: 2.6%;
}

article .img_container a {
    display: block;
    width: 31.6%;
    aspect-ratio: 19/15;
    overflow: hidden;
}

article .img_container a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

article .content {
    margin-top: 6vw;
    line-height: 1.66;
    font-size: 4.86vw;
}

article .pdf {
    display: flex;
    align-items: center;
    gap: 4vw;
    margin-top: 6vw;
}

article .pdf img {
    width: 6.9vw;

}

article .pdf p {
    color: #009641;
    font-size: 4.86vw;
}

.page_turn {
    position: relative;
    display: flex;
    padding: 6vw 0 18vw 0;
}

.page_turn .prev,
.page_turn .next {
    position: absolute;
    display: flex;
    align-items: center;
    font-size: 4vw;
    color: #666;
    font-weight: 700;
    gap: 5px;
}

.page_turn .prev img,
.page_turn .next img {
    width: 4.6vw;
}

.page_turn .prev {
    left: 3vw;
}

.page_turn .next {
    right: 3vw;
}

/* ------------------------------------
特定商取引法に基づく表記
-------------------------------------- */

.law_table {
    margin-top: 10vw;
}

.law_table li {
    width: 100%;
    padding: 4vw 2vw;
    border-top: 1px solid #ccc;
}

.law_table li .head {
    font-size: 4.3vw;
    font-weight: 700;
    color: #598c6f;
}

.law_table li .data {
    font-size: 4.3vw;
    line-height: 1.88;
}

.law_table li .data .bold {
    font-weight: 700;
}

/* ------------------------------------
お問い合わせ
-------------------------------------- */

.form_inner {
    /* margin-top: 10vw; */
}

.form_item {
    position: relative;
    margin-bottom: 8vw;
}

.form_item>p {
    position: relative;
    font-weight: 700;
    line-height: 1.5;
    width: fit-content;
    font-size: 4vw;
}

.form_item .required {
    position: relative;
    display: flex;
    align-items: center;
    height: fit-content;
}

.form_item .required img {
    position: absolute;
    right: -8vw;
    width: 7vw;
}

.form_item .input_container {
    position: relative;
    margin: 0;
}

.form_item input {
    padding: 2vw;
    width: 100%;
    height: 8vw;
    border-radius: 0.5vw;
    font-size: 4vw;
    border: 1px solid #ccc;
    display: block;
}

.order_page .form_item input {
    border-color: #999;
}

.form_item textarea {
    padding: 2vw;
    width: 100%;
    height: 34vw;
    border-radius: 0.5vw;
    font-size: 4vw;
    border: 1px solid #ccc;
    display: block;
    resize: none;
}

.privacypolicy {
    padding: 3vw 5vw 5vw 5vw;
    background-color: #eef2e9;
    border-radius: 2vw;
}

.privacypolicy .title {
    font-size: 4vw;
    font-weight: 700;
}

.privacypolicy .content {
    font-size: 3.2vw;
    margin-top: 2vw;
    line-height: 1.58;
}

.pp_text {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: 0 auto;
  margin-top: 6vw;
  font-size: 3.2vw;
  font-family: 'shingo-r';
}

.pp_check {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  width: 7vw;
  height: 7vw;
  border: 2px solid #808080;
  border-radius: 0.6vw;
  background-color: #fff;
  transition: .1s all ease;
  cursor: pointer;
}

.pp_check:checked {
  border-color: #808080;
  background-color: #808080;
  background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'>\<path d='M20 6L9 17l-5-5'/>\</svg>");
}

.pp_text span {
    position: relative;
    top: -2px;
}

.form_btn {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24vw;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #ff8500;
    width: 64.8vw;
    height: 13.5vw;
    border-radius: 6.75vw;
    font-size: 5.1vw;
    font-weight: bold;
    font-family: 'rounded';
}

.alert,.confirm,.complete {
    display: none;
}

.alert.active {
  position: absolute;
  display: block;
  font-size: 13px;
  color: #f00;
}

.alert_pp {
  position: relative !important;
  margin: 0 auto;
  width: fit-content;
  left: 0 !important;
  top: 0 !important;
}

.confirm{
  display: none;
}

.confirm.active {
	position:fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height:100vh;
	display:flex;
	justify-content: center;
	align-items:center;
	/* pointer-events:none; */
	z-index: 999;
}

.confirm_wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px;
  width: 90%;
  height: fit-content;
  max-height: 80vh;
  background-color: #fff;
  color: #000;
  z-index: 999;
  border-radius: 10px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
  overflow-y: scroll;
}

.confirm h2 {
    background: none;
    color: #000;
  font-size: 28px;
  margin-bottom: 30px;
}

.confirm_item {
  display: flex;
  flex-direction: column;
  justify-content: left;
  width: 100%;
  border-top: 1px solid #5b575e;
}

.confirm_item:last-of-type {
  border-bottom: 1px solid #5b575e;
}

.confirm_item p {
	color:#000;
  padding: 7px 10px;
}

.confirm_container {
  width: 100%;
}

.confirm_head {
  min-width: 160px;
  background-color: #ddd;
}

.confirm_address{
  display: flex;
  flex-direction: column;
}

.confirm_container p:last-of-type {
  text-align: left;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.confirm_btn {
  margin-top: 50px;
  display: flex;
  flex-direction: row-reverse;
}

.submit_btn,.back {
  margin: 0 10px;
  width: 110px;
  height: 50px;
  font-size: 18px;
  border: none;
  border-radius: 8px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: .3s all ease;
}

.submit_btn:hover,.back:hover {
  opacity: .8;
}

.submit_btn {
  color: #fff;
  background-color: #005fad;
}

.back {
  background-color: #ccc;
  color: #000;
  line-height: 50px;
}

.complete {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 999;
  pointer-events: none;
}

.complete.active{
  display: flex;
}

.complete_container{
    display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5%;
  width: 80vw;
  height: 70vw;
  background-color: #fff;
  color: #000;
  border-radius: 2vw;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
}

.complete .title{
    font-size: 5.4vw;
    font-weight: 700;
  margin-bottom: 4vw;
}

.close{
  width: 20vw;
  height: 10vw;
  font-size: 3.2vw;
  background-color: #005fad;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 10vw;
  margin-top: 6vw;
  border-radius: 1.6vw;
  cursor: pointer;
}

.close:hover{
  opacity: .8;
}

/* ------------------------------------
通年商品
-------------------------------------- */

.product_overview {
    position: relative;
    padding-top: 12vw;
    padding-bottom: 10vw;
}

.product_overview::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.product_overview .title {
    padding: 1vw 2vw;
    position: relative;
    width: 100%;
    filter: drop-shadow(0 3px 5px rgba(0,0,0,.2));
}

.product_overview .title p {
    position: relative;
    font-size: 6.75vw;
    font-weight: 700;
    line-height: 1.4;
    z-index: 1;
}

.product_overview .title p span {
    font-size: 3.8vw;
    display: block;
}

.product_overview .title .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    filter: url(#bg);
}

.product_overview .title .bg .layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    filter: url(#bg_inner);
    border-radius: 10px;
    overflow: hidden;
}

.product_overview .title .bg .layer::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../common/bg_yellow.jpg);
    background-repeat: repeat;
}

.limited .product_overview .title .bg .layer::before {
    background-image: url(../common/bg_green.jpg);
}

.product_overview .inner {
    gap: 50px;
    margin-top: 8vw;
}

.main_pic {
    width: 76vw;
    height: 76vw;
    margin-bottom: 2vw;
}

.thumb_pic .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    gap: 2vw;
    width: 76vw !important;
    height: 17.5vw !important;
    margin: 0 auto;
}

.thumb_pic .swiper-slide {
    width: 17.5vw !important;
    height: 17.5vw !important;
}

.product_overview .content {
    margin-top: 8vw;
}

.product_overview .table {
    margin-top: 5vw;
    width: 100%;
}

.product_overview .table th {
    width: 23.3%;
    padding: 1.5vw 2vw;
    border: 1px solid #ccc;
    background-color: #f6f6f6;
    font-size: 3.2vw;
    font-weight: 400;
}

.product_overview .table td {
    padding: 1.5vw 4vw;
    border: 1px solid #ccc;
    background-color: #fff;
    font-size: 3.2vw;
}

.product_overview .amount_container {
    margin-top: 8vw;
}

.product_overview .amount_container b {
    display: flex;
    align-items: center;
    position: relative;
    font-size: 5.4vw;
}

.product_overview .amount_container b span {
    content: "組合員価格";
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 5px;
    width: 32.4vw;
    height: 6.5vw;
    border-radius: 0.5vw;
    font-size: 20px;
    line-height: 1;
    color: #fff;
    background-color: #ff8500;
    font-family: 'A-OTFgothic';
    padding-bottom: 3px;
}

.product_overview .amount {
    margin-top: -2vw;
}

.product_overview .amount .number {
    position: relative;
    top: 0.6vw;
    font-size: 13vw;
  font-kerning: normal;
    color: #c83f3f;
    line-height: 1;
}

.product_overview .amount .yen {
    font-size: 6.5vw;
    color: #c83f3f;
    font-weight: 700;
    margin-left: -0.15em;
}

.product_overview .amount .tax {
    font-size: 5.4vw;
    margin-left: -0.2em;
}

.input_field {
    margin-top: 8vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 2vw;
    background-color: #fff;
    border: 1px solid #ccc;
}

.product_overview .input input {
    width: 19vw;
    height: 7.8vw;
    border: 1px solid #999;
    border-radius: 0.6vw;
    text-align: center;
    background-color: #e9ffff;
    margin-right: 1vw;
}

.total_amount {
    font-weight: bold;
}

.total_all {
    position: relative;
    padding-top: 4vw;
    display: flex;
    justify-content: end;
}

.total_all .input_field {
    border-color: #c83f3f;
    padding: 0 4vw;
    height: 16.2vw;
}

.total_all .input_field.limited {
    border-color: #e1cd84;
}

.total_all .input_field b {
    font-size: 4vw;
}

.total_all .input_field p {
    font-size: 7vw;
    font-weight: 700;
}

.total_all .inner {
    display: flex;
    align-items: center;
    gap: 3vw;
}

.total_all .alert.active {
    bottom: -4.8vw;
    left: 0;
}

.form_title {
    font-size: 6.75vw;
}

.form_caution {
    font-size: 3vw;
    text-align: right;
    color: #f00;
    margin-top: 12vw;
    margin-bottom: 2vw;
}

.zipcode {
    display: flex;
    align-items: center;
    margin-bottom: 2vw;
}

.zipcode span {
    font-size: 4vw;
}

#zip_three {
    width: 20.5vw;
    margin: 0 1vw;
}

#zip_four {
    width: 27vw;
    margin: 0 1vw;
}

.location_container {
    position: relative;
}

#location {
    appearance: none;
    padding: 2vw;
    width: 65vw;
    height: 8vw;
    border-radius: 0.5vw;
    font-size: 4vw;
    border: 1px solid #999;
    display: block;
    line-height: 1;
    background-color: #fff;
}

.location_container::before {
    content: "";
    position: absolute;
    left: calc(65vw - 6vw);
    bottom: calc(50% - 1.4vw);
    display: block;
    width: 3.2vw;
    height: 2.8vw;
    background-color: #000;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    z-index: 1;
}

.htp {
    padding-top: 2vw;
}

.htp_inner {
    display: flex;
}

.radio_container {
    display: flex;
    align-items: center;
    margin-right: 18vw;
    margin-bottom: 2vw;
}

.member .htp_inner .radio_container {
    width: 25vw;
}

input[type="radio"] {
    width: 6vw;
    height: 6vw;
    margin: 0 ;
    margin-right: 1vw;
}

.shop_btn {
    margin-top: 16vw;
    width: 67.5vw;
    height: 15.5vw;
    border-radius: 2vw;
    font-size: 4.8vw;
    background-color: #ff6c00;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    margin-bottom: 8vw;
}

.shop_guide {
    width: fit-content;
    font-size: 3.2vw;
    color: #f00;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.5;
}

/* .confirm.order .confirm_wrapper {
  width: 1200px;
  padding-left: 70px;
  padding-right: 70px;
} */

.confirm_order {
    position: relative;
    /* display: flex; */
    width: 100%;
    border-top: 2px solid #999;
    padding: 7px 10px;
}

.confirm_order::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.confirm.order b {
    width: 210px;
}

.confirm.order .item {
    display: flex;
    flex-wrap: wrap;
}

.prod_name {
    width: 60%;
    text-align: right;
}

.prod_amount {
    width: 40%;
    text-align: right;
}

.prod_number {
    width: 60%;
    text-align: right;
    font-weight: bold;
}

.prod_total {
    width: 40%;
    text-align: right;
    font-weight: bold;
}

.confirm_payment {
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: end;
    border-bottom: 2px solid #999;
    margin-bottom: 30px;
    flex-shrink: 0;
    padding-right: 10px;
}

.confirm_payment span {
    margin-right: 20px;
}

.confirm_total {
    font-size: 24px;
    font-weight: bold;
}


/* ------------------------------------
期間限定商品
-------------------------------------- */

.date_container {
    padding: 4vw 5vw;
    background-color: #eaffe1;
}

.date_container .title {
    font-size: 8.1vw;
    line-height: 1;
}

.date_container .content {
    margin-top: 6vw;
}

.date_container .content .item {
    padding-left: 1.4em;
    text-indent: -1.4em;
    font-size: 5.4vw;
    font-weight: bold;
    line-height: 1.3;
}

.date_container .content .item:nth-of-type(1) {
    margin-bottom: 5vw;
}

.date_container .content .item .circle {
    color: #3da52f;
    margin-right: 0.1em;
}

.date_container .content .item .date {
    /* display: block; */
    width: 6.5em;
}

.date_container .content .item .address {
    position: relative;
    font-weight: 400;
    font-size: 4.3vw;
}

.caution_quantity {
    width: 100%;
    border: 1px solid #c83f3f;
    color: #c83f3f;
    font-size: 4vw;
    padding: 1vw 3vw;
    margin-top: 3vw;
    line-height: 1.5;
}


/* ------------------------------------
商品注文完了画面
-------------------------------------- */

.order .title {
    font-size: 7.3vw;
}

.order_container {
    padding: 8vw 3vw 12vw 3vw;
    margin-top: 5vw;
    border-radius: 3vw;
    border: 1px solid #cccccc;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.order_container .content {
    font-size: 3.7vw;
    line-height: 2;
    text-align: center;
}

.order_container .character {
    width: 20vw;
    margin-top: 10vw;
}

.order_container .thanks {
    margin-top: 2vw;
    font-size: 4.4vw;
    color: #ff8a00;
}


/* ------------------------------------
シャインマスカット
-------------------------------------- */


/* .product_box.muscat .prod_info {
    margin-top: 1vw;
    gap: 0px;
}

.product_box.muscat .item {
    border-bottom: 1px solid #bfe574;
    padding: 1vw 0 4vw 0;
} */

.item_name {
    display: flex;
    align-items: center;
    font-size: 5.9vw;
    font-weight: 700;
    width: 330px;
}

.item_name .cyan {
    color: #00e2ca;
    font-size: 4vw;
    margin-right: 5px;
}

.item_name .kakko {
    font-weight: normal;
    font-size: 4.8vw;
    margin-left: 1vw;
    padding-top: 3px;
}

/* .product_box.muscat .amount_container p:nth-of-type(1) {
    color: #000;
}

.product_box.muscat .purchase {
    margin-top: 0;
    justify-content: center;
}

.product_box.muscat .purchase::before {
    display: none;
}

.product_box.muscat .btn_purchase {
    width: 70%;
    height: auto;
    padding: 2vw 0 2vw 0;
    border-radius: 2vw;
} */

/* 商品注文ページ */

.area_3 {
    background-color: #eafff5;
}

.product_overview.muscat .table {
    /* margin-bottom: 30px; */
}

.product_overview .wrapper .amount_container {
    margin-top: 3vw;
    padding-left: 3vw;
}

.product_overview .item {
    margin-top: 15vw;
    padding-bottom: 3vw;
}

.product_overview .item_name {
    width: 100%;
    border-bottom: 0.27vw solid #23b1fb;
    border-top: 0.27vw solid #23b1fb;
    line-height: 1.5;
}

.product_overview .item_name .kakko {
    font-size: 4.8vw;
}

.product_overview .wrapper .amount_container b {
    font-size: 4vw;
    padding-left: 2vw;
}

.product_overview .item .input_field {
    margin-top: 2vw;
}





}  /*  スマホ版ここまで  */
