@charset "UTF-8";

html{
    font-size:62.5%;
}
@media screen and(max-width:1023px)and(min-width:768px){
    html{
        font-size:1vw;
    }
}
body{
    font-family:'メイリオ', 'Meiryo', sans-serif;
    font-size:1.4rem;
    font-weight: bold;
    line-height:1.2;
    color:#566270;
    background-color:#FFFFFF ;
    text-align:center;
    margin:0;
}
@media(min-width:769px){
    body{
        font-size:1.6rem;
    }
}
a{
    color: inherit;
    text-decoration: none;
}
ul{
    list-style: none;
    margin:0;
    padding:0;
}
img{
    max-width:100%;
    vertical-align:bottom;
}
.no_sp{
    display:none;
    @media (min-width:769px) {
        display:block;
    }
}
.no_pc{
    display:block;
    @media (min-width:769px) {
        display:none;
    }
}
.hidden {
    display: none;
}
.wrap {
	display: none;
}
h1{
    font-size:2rem;
    color:#566270;
    margin: 0;
    @media(min-width:769px){
        font-size:4.6rem;
    }
}
h2{
    background-color: #eff0f3;
    font-size:1.4rem;
    margin:0.5rem 0;
    padding:0.5rem 0.8rem;
    @media(min-width:769px){
        font-size:2rem;
        margin:0;
        display: inline-block;
        padding:0.5rem 1.6rem;
    }
}
h3{
    font-size:1.4rem;
    margin:0;
    color:#CECECE;
    padding: 2.3rem 0 0.7rem 0;
    @media(min-width:769px){
        font-size:1.6rem;
        color:#566270;
        min-width: 15%;
        padding: 1rem 2rem;
    }
}

p{
    margin:0;
}
header{
    background-color: #566270;
}
.green{
    color:#566270;
    border-color:#566270;
    width: 100%;
    padding: 1rem;
    @media(min-width:769px){
        width: 433px;
        height: 30px;
        padding: 0 1rem;
        font-size:1.6rem;
        font-weight: 700;
    }
}
header p{
    color: #fff;
    font-weight: bold;
}
.header_sp{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    @media (min-width:769px) {
        display:none;
    }
}
.header_pc{
    display: none;
    @media (min-width:769px) {
        height: 4rem;
        display:flex;
        flex-direction: row;
        align-items: center;
        justify-content:space-between;
        margin:0 auto;
        max-width: 100rem;
        padding:0 1rem;
    }
    .header_op_btn{
        color:#566270;
        background-color:#eff0f3;
        padding:0.5rem 1.8rem;
        border-radius: 5px;
    }
}
.logo_cover{
    max-width: 133px;
    @media(min-width:769px){
        max-width: 189px;
    }
}
.top{
    padding:2rem 10% 0;
    text-align: left;
    @media(min-width:769px){
        display: flex;
        align-items: center;
        justify-content: center;
        gap:2rem;
        padding:7rem 10% 0;
    }
}
.top_title{
    @media(min-width:769px){
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
.top_title p{
    color: #eff0f3;
    font-weight: bold;
}
.sub_title_sp{
    @media(min-width:769px){
        display: none;
    }
}
.sub_title_pc{
    display: none;
    @media(min-width:769px){
        display: flex;
        flex-direction: column;
    }
}
.sub_title_pc{
    h2:nth-child(1){
        @media(min-width:769px){
            width: 62px;
        }
    }
    h2:nth-child(2){
        @media(min-width:769px){
            margin-left:2rem;
        }
    }
}
.product_card{
    position: relative;
    margin:0 10%;
    max-width: 100rem;
    padding: 1.7rem 0;
    text-align: left;
    border-bottom: solid 1.5px #90b4ce;
    @media(min-width:769px){
        padding: 7rem 0 3rem;
        margin:0 auto;
    }
}
.category_list{
    @media(min-width:769px){
        display: flex;
        align-items: center;
        margin-bottom: 1.5rem;
    }
}
.product_list{
    @media(min-width:769px){
        display: flex;
        align-items: center;
        margin-bottom: 1.5rem;
    }
}
input, select {
    -webkit-appearance: none;
    appearance: none;
  }
select{
    background-image: url("../img/arrow.png");
    background-repeat: no-repeat;
    background-size: 18px auto;
    background-position: right 12px center;
    font-size: 1.6rem;
    font-family: 'メイリオ', 'Meiryo', sans-serif;
}
.pc_product_view{
    display: none;
    @media (min-width:769px) {
        display: flex;
        padding: 0 0 0 2rem;
    }
    img{
        width: 280px;
        height: 150px;
        object-fit: cover;
        flex-shrink: 0;
        padding: 0 2rem 0 0;
    }
}
.pc_option_list{
    @media (min-width:769px) {
        display: flex;
        flex-wrap: wrap;
        color:#566270;
        gap:0.8rem;
    }
    li{
        background-color: #eff0f3;
        padding:1rem;
        border-radius: 5px;
    }
}
.product_description{
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7;
    padding-top:0.3rem;
}
.sp_option_list{
    color:#566270;
    @media (min-width:769px) {
        display: none;
    }
}
.sp_option_list_flex{
    display: flex;
    flex-wrap:wrap;
    li{
        background-color: #eff0f3;
        border-radius: 3px;
        padding:0.5rem 0.7rem;
        margin:0 0.25rem 0.4rem;
    }
}
.size{
    @media (min-width:769px) {
        display: flex;
        margin:1.5rem 0;
    }
    div{
        @media (min-width:769px) {
            width: 100%;
            box-sizing: border-box;
        } 
    }
}
.size_flex{
    font-size: 1.6rem;
    color:#566270;
    display:flex;
    @media (min-width:769px) {
        align-items: center;
    }
    input{
        width: 100px;
        height: 40px;
        border: none;
        outline: solid 1px #566270;
        margin: 0.5rem 0 0 ;
        font-size:1.6rem;
        @media (min-width:769px) {
            margin: 0 0 0 0.5rem;
            height: 30px;
        }
    }
    .unit{
        display: flex;
        align-items: center;
        padding:3rem 2.5rem 0 0.5rem;
        @media (min-width:769px) {
            padding:0 0.6rem;
        }
        @media (max-width:375px) {
            padding:3rem 0.5rem 0 0.2rem;
        }
    }
    .multiply{
        display:none;
        padding:0 2rem;
        @media (min-width:769px) {
            display:block;
        }
    }
}

/* エラー時の枠線（赤） */
input.error {
    border: 2px solid #A21415;
    background-color: #F7EAEB;
    outline: none;
}
input[type=number] {
    padding:0 1rem;
    -moz-appearance: textfield;
    appearance: textfield;
}
.size_error{
    color: #A21415;
    padding: 0.5rem 0 0.5rem;
    line-height: 2;
    p{
        display: block;
    }
    p::before{
        content:"\f057";
        margin-right:0.3rem;
        font-family: "Font Awesome 5 Free";
        font-weight: 500;
    }
    .size_error p.error-visible {
        display: block;
    }
}
.max_size{
    color:#566270;
    background: #eff0f3;
    padding: 1rem;
    @media (min-width:769px) {
        padding: 1rem 2rem;
    }
    .size_flex{
        font-size: 1.4rem;
        flex-direction: column;
        @media (min-width:769px) {
            font-size: 1.6rem;
            flex-direction: row;
        }
    }
    p{
        line-height: 1.7;
    }
    .padding_r{
        padding-right:1.5rem;
    }
}

.quantity_form{
    @media (min-width:769px) {
        display:flex;
        align-items: center;
        margin:1.5rem 0;
    }
    input{
        width: 157px;
        height: 40px;
        border: none;
        outline: solid 1px #566270;
        font-size:1.6rem;
        @media (min-width:769px) {
            height: 30px;
        }
    }
    input.error{
        border: 2px solid #A21415;
        outline: none;
    }

}
.sp_product_view{
    @media (min-width:769px) {
        display: none;
    }
}
/* ポップアップ */
#popup {
    display: none; /* label でコントロールするので input は非表示に */
  }
  .popup-open {
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 2px #333333;
    border-radius: 7px;
    padding: 15px 0;
    color: #333333;
    background-color: #E6E6E6;
    margin:2rem 0;
    cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
  }
  .popup-overlay {
    display: none; /* input にチェックが入るまでは非表示に */
  }
  input[type="checkbox"]:checked ~ .popup-overlay {
    display: block;
    z-index: 99999;
    background-color: #00000070;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
  }
  .popup-window {
    width: 78vw;
    max-width: 560px;
    padding: 5rem 2rem;
    background-color: #ffffff;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    img{
        width: 100%;
        padding: 1.89rem 0 1rem;
    }
    p{
        font-weight: 500;
        text-align: left;
        width: 100%;
        line-height: 1.7;
    }
  }
  .popup-close {
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 15px;
    color:#566270;
    display: flex;
    justify-content: center;
    align-items: center;
    .svg{
        background-color:#eff0f3;
        border:solid 1px #566270;
        border-radius: 50%;
        padding: 0.2rem;
        margin-right: 0.4rem;
    }
}
/* ポップアップ */

.price_form{
    color:#A21414;
    background-color: #F7EAEB;
    padding:1.2rem 2rem 2rem;
    @media (min-width:769px) {
        padding: 1.5rem 2rem;
    }
    .price_connotation{
        display:flex;
        justify-content: space-between;
        align-items:center;
        border-bottom: solid 3px #A21415;
        font-size: 1.6rem;
        @media (min-width:769px) {
            font-size:3.2rem;
        }
    }
    .price{
        font-size:2rem;
        @media (min-width:769px) {
            font-size:3.2rem;
        }
        span.en {
            font-size: 1.6rem;
            padding:0 1.2rem
        }
    }
}
.add_product{
    margin:0 auto;
    max-width: 100rem;
    padding:2.7rem 10% 3rem;
    @media (min-width:769px) {
        padding:3rem 0 7.5rem 2rem;
    }
}
.add_product_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    color:#7f2a1c;
    border:solid 2px #7f2a1c;
    border-radius: 7px;
    width:156px;
    height:40px;
    cursor: pointer;
    line-height: 40px;
    background-image: url(../img/plus.png);
    background-repeat: no-repeat;
    background-size: 20px auto;
    background-position: left 39px center;
    padding:0 0 0 18px;
}
.delete_product_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    color:#A21415;
    border:solid 2px #A21415;
    border-radius: 7px;
    width:156px;
    margin-top:1.5rem;
    background-color: #FFFFFF;
    cursor: pointer;
    line-height: 40px;
    background-image: url(../img/del.png);
    background-repeat: no-repeat;
    background-size: 20px auto;
    background-position: left 39px center;
    padding:0 0 0 18px;
    @media (min-width:769px) {
        position: absolute;
        top:80px;
        right:0;
    }
    @media (min-width: 769px) and (max-width: 900px) {
        right:1rem;
        width: 18%;
        padding: 0 0 0 1rem;
        background-position:left 18% center;
      }
}

.distribution{
    background-color:#eff0f3 ;
    padding: 2rem 10% 0.4rem;
    margin:0 auto;
    max-width: 100rem;
    @media (min-width:769px) {
        padding:2rem 0 1rem;
    }
}
.distribution_btn{
    font-size:1.6rem;
    color:#FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color:#566270 ;
    width: 178px;
    height: 40px;
    margin:0 auto 2rem;
}
.guideline{
    font-size:1.6rem;
    font-weight: 500;
    text-align: left;
    line-height: 1.7;
    @media (min-width:769px) {
        display:flex;
        flex-wrap:wrap;
        align-items: center;
        line-height: 3.1;
    }
    p{
        padding-bottom:1.8rem;
        @media (min-width:769px) {
            padding:0 0 0 2rem;
        }
    }
}
.size_view{
    color:#e6a72c;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    line-height: 1;
    @media (min-width:769px) {
        gap: 2rem;
    }
    .distribution_size{
        font-size: 2.4rem;
        line-height: 1.7;
    }
}
.distribution_link{
    color:#7FCCCC;
    border-bottom:solid 1px #7FCCCC;
}
.sp_option_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 500;
    color:#333333;
    border: solid 1px #333333;
    border-radius:5px;
    height: 50px;
    margin:2rem auto 1.5rem;
    cursor: pointer;
    width: 80%;
    @media (min-width:769px) {
        display: none;
    }
}

.price_section{
    padding: 0 10%;
    margin:0 auto;
    max-width: 100rem;
    @media (min-width:769px) {
        padding:2.2rem 0 15.8rem;
    }
}
.price_view{
    font-size: 1.6rem;
    color:#A21414;
    padding:5rem 0 0.5rem;
    display:flex;
    justify-content: space-between;
    align-items:center;
    border-bottom: solid 3px #A21415; 
    @media (min-width:769px) {
        padding: 0 0 0.5rem;
        font-size: 3.2rem;
        margin: 0 1rem;
    }
    span.en{
        font-size: 1.6rem;
        @media (min-width:769px) {
            font-size: 1.6rem;
            padding: 0 0 0 1.2rem;
        }
    }
    .total_price{
        font-size:3.2rem;
        line-height: 1;
    }
}
.supplement1{
    color:#A21415;
    font-weight: 500;
    text-align: left;
    padding:1rem 0 2rem;
    @media (min-width:769px) {
        margin: 0 1rem;
    }
}
.product_reset_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 7px;
    font-size: 1.6rem;
    color:#FFFFFF;
    background-color:#90b4ce ;
    width: 258px;
    height: 40px;
    margin:0 auto 4.58rem;
    cursor: pointer;
    @media (min-width:769px) {
        margin:8rem auto 3.6rem;
    }
    i{
        padding-right:1rem;
    }
}
.sp_banner{
    padding: 0 0 13rem;
    cursor: pointer;
    @media (min-width:769px) {
        display: none;
    }
    img{
        min-width: 80vw;
    }
}
.pc_banner{
    display: none;
    @media (min-width:769px) {
        display: block;
        cursor: pointer;
    }
}
.footer_price_section{
    position: fixed;
    bottom:0px;
    width: -webkit-fill-available;
    z-index: 99;
    border:solid 10px #A21415;
    background-color: #FFFFFF;
    opacity: "1";
    pointer-events: "auto";
    transition: opacity 0.3s ease;
    @media (min-width:769px) {
    }
}
.frame{
    max-width:80%;
    margin: 2rem auto;
    @media (min-width:769px) {
        max-width:100rem;
        padding: 0 1rem;
    }
}
.footer_price_view{
    font-size: 1.6rem;
    color:#A21414;
    display:flex;
    justify-content: space-between;
    align-items:center;
    border-bottom: solid 3px #A21415; 
    padding:1rem 0 0;
    @media (min-width:769px) {
        font-size: 3.2rem;
        padding: 1rem 0;
    }
    .total_price{
        font-size:3.2rem;
        line-height: 1;
        span.en{
            font-size: 1.6rem;
            @media (min-width:769px) {
                font-size: 1.6rem;
            }
        }
    }
}
.supplement2{
    color:#A21415;
    font-weight: 500;
    text-align: left;
    font-size: 1.6rem;
    padding: 1rem 0 0.3rem;
}
footer{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom:2rem;
}
.footer_logo{
    width: 200px;
    height: auto;
    @media (min-width:769px) {
        width: 330px;
        height: auto;
    }
}