body {
    color: #333333;
    background: #ffffff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    ;
}

img {
    max-width: 100%;
}

.brand_logo {
    position: absolute;
    width: 11vw;
    top: 1.5vw;
    left: 2vw;
    z-index: 999;
}

.brand_logo img {
    width: 100%;
}

.visibility-hidden {
    opacity: 0;
    visibility: hidden;
}

a,
button {
    transition: .3s all;
}

a {
    text-decoration: none;
}


/* スライダー　start */
.fv-slide {

    overflow: hidden;
    position: relative;
}

.top-bg {
    width: 100vw;
    height: 58vw;
    position: relative;
    overflow: hidden;
}

.top-bg div.slide {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
}

.top-bg div.slide.active {
    opacity: 1;
    visibility: visible;
}

.loaded .top-bg div.slide:before {
    -webkit-filter: blur(0px);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1);
}

.top-bg .slide-image {
    height: 100%;
}

.top-bg div.slide {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-filter: blur(0.6666667rem);
    filter: blur(0.6666667rem);
    transition-property: opacity, visibility, -webkit-transform, transform,
        -webkit-filter, filter;
    transition-duration: 1.2s;
    transition-timing-function: ease-in-out;
}

.top-bg div.slide.active {
    opacity: 1;
    visibility: visible;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: scale(1);
    transform: scale(1);
}

.slide-image {
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
}

.fv-nav {
    width: 100%;
    height: 5vw;
    display: flex;
    justify-content: center;
    padding-top: 30px;
    position: absolute;
    bottom: 3vw;
}

.fv-nav span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #8A8A8A;
    transition: all 0.5s;
    cursor: pointer;
    margin-right: 30px;
}

.fv-nav span:last-child {
    margin-right: 0;
}

.fv-nav span.active,
.fv-nav span:hover {
    background-color: #D8D8D8;
}

/* スライダー　end */


/*story start  */
.wrap_start {
    display: block;
    content: "";
    height: 7vw;
    border-bottom: solid 1px #D5D5D5;
}

.wrap_end {
    display: block;
    content: "";
    height: 7vw;
    border-top: solid 1px #D5D5D5;
}

#story {
    margin: 0 auto;
    text-align: center;
    width: min(62.5vw, 1200px);
    border-left: solid 1px #D5D5D5;
    border-right: solid 1px #D5D5D5;
    padding-bottom: 7.828125000000001vw;
}

#story h1 {
    padding-top: 6vw;
    font-weight: bold;
    font-size: max(22px, 1.3020833vw);

}

.japan_ttl {
    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: max(12px,0.625vw );
    margin-bottom: 1vw;

}

.story_pic img {
    margin-bottom: 1vw;
    width: 22.5vw;
}

.produced_logo img {
    margin-bottom: 4vw;
    width: 10.729166666666666vw;
}

h2 {
    font-size: max(26px, 1.5625vw);
    font-weight: bold;
    display: inline;
    border-bottom: 1px solid #707070;
}

h2::after {
    display: block;
    content: "";
    height:
        2.635416666666667vw;

}

h3 {
    font-size: max(26px, 1.5625vw);
    letter-spacing: .5px;
    font-weight: normal;
    margin-bottom: 2.835416666666667vw;
}

.story_txt {
    font-size: max(16px, 0.9375vw);
    ;
}

/*  */
/* product start */
#product {
    display: block;
    margin: 0 auto;
    text-align: center;
}
ul{
    padding-left: 0rem;
}

.product_pic img {
    width: 20.520833333333332vw;
    margin-bottom: 2vw;
}
.japan_ttl2 {
    color: #9C9C9C;
    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: max(12px, 0.7291666666666666vw);
    margin-bottom:10px;
}
h4{
    font-weight: bold;
    font-size: max(22px, 1.3020833vw);
    margin-bottom: 1.5rem;
}
.p_number{
    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: max(11px, 0.625vw);
    margin-bottom: 0rem;

}
.price{
    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: max(13px, 0.78125vw);
    margin-bottom: 2rem;
    
}
.flex_inner{
    width: 30vw;
    text-align: center;
    display: block;
    margin: 0 auto;
}
.flex_wrap {
    
 text-align: center;
    display: flex;
  flex-wrap: wrap;
    justify-content: center;
    gap: 2vw;
}
.flex_wrap ul{
    width: 10vw;
}

.flex_wrap img {
    width:10.416666666666668vw;
}

.flex_wrap p {
    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: max(12px, 0.6770833333333334vw);
}
.btn{
    margin-top: 2.890625vw;
    margin-bottom: 5.625vw
}
.btn a{
padding: .9vw 4vw;
background: #BBBBBB;
border-radius:50px;
font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
font-size:max(14px, 0.78125vw); 
color: #ffffff;
}
.btn a:hover{
    background: #ffffff;
    border: solid #BBBBBB 1px;
    color:#BBBBBB;
}
/* product end */

/* last_txt start */
.last_txt{

    text-align: center;
}
.last_txt ul li:first-child{
    margin-top: 4.6875vw;
    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size:max(11px, 0.625vw); 
    color: #000000;
    margin-top: 3.5vw;
}
.last_txt ul li:last-child{
    margin-top: 3.6875vw;
    margin-bottom:1.521875vw ;
    font-family: "Source Han Serif JP", "Noto Serif CJK JP", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-size:max(17px,1.0416666666666665vw); 
    color: #000000;
    font-weight: bold;

}


/*  */

.dispSp,
.sp {
    display: none;
}


@media (max-width: 1100px) {
 

  
    h2::after {
        display: block;
        content: "";
        height: 4.635417vw;
    }
    .product_pic img {
        width: 37.520833vw;
        margin-bottom: 2vw;
    }
    .story_txt {
        font-size: max(15px, 0.9375vw);
    }
    
    .flex_wrap ul{
width: 30vw;
    }
    .flex_wrap img {
        width: 18.416667vw;
    }

    .flex_inner{
        width: 80vw;
        text-align: center;
        display: block;
        margin: 0 auto;
    }
    .flex_wrap {
        margin-top: 3rem;
     text-align: center;
        display: flex;
      flex-wrap: wrap;
        justify-content: center;
        gap: 2vw;
    }


    .price {
     font-size: max(13px, 0.78125vw);
        margin-bottom: 2.5rem;
    }
    .p_number {
        font-size: max(12px, 0.625vw);
      
}
.btn {
    margin-top: 2.890625vw;
    margin-bottom: 13.625vw;
}
.btn a {
    padding: 1.5vw 10vw;
    border-radius: 50px;
    font-size: max(14px, 0.78125vw);

}
}

@media (max-width: 575px) {
    body{
        padding-top: 5rem;
    }
        .dispSp,
    .sp {
        display: block;
    }

    .dispPc,
    .pc {
        display: none;
    }

    .top-bg {
        margin-top: 5vw;
        height: 80vh;
    }
    

    .fv-nav {
        width: 100%;
        height: 13vw;;
        display: flex;
        justify-content: center;
        padding-top:8vw;
    }

    .fv-nav span {
        width: 9px;
        height: 10px;
        border-radius: 45%;
        margin-right: 20px;
    }
    header .logo {
        height: 154px;
        background-color: #f6f6f5;
    }

.wrap_start {
    display: block;
    content: "";
    height: 7vw;
    border-bottom: solid 1px #D5D5D5;
}
    .menu-icon {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background-color: #ffffff;
        position: fixed;
        top: 17px;
        left: 20px;
        z-index: 999;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
    }

   

    .menu-sidebar.menu-sidebar-open {
        transform: translateX(0);
        opacity: 1;
    }

    .menu-icon-open {
        display: block;
        width: 31px;
        height: 14px;
    }

    .menu-icon-close {
        display: none;
        width: 18px;
        height: 18px;
    }

    .menu-sidebar-list {
        list-style: none;
        margin: 0;
        padding: 0;
        text-align: left;
        margin-top: 94px;
        color: #ffffff;

    }

    .menu-sidebar-item {
        font-size: 23px;
        font-weight: bolder;
        line-height: 26px;
        display: flex;
        align-items: flex-start;
        color: #333333;
        flex-direction: column;
        justify-content: center;
        padding: 20px 0;

    }

 
    .menu-sidebar-item span {
        width: 100%;
        font-size: 10px;
        line-height: 17px;
        letter-spacing: 0.001rem;
        margin-top: 3px;
    }

    .brand_logo {
        width: 23vw;
        top: 3vw;
        left: 6vw;
    }

    #story {
        width: min(86.5vw,1200px);
        padding-bottom:6rem;
    }
    #story h1 {
        padding-top:6rem;
        font-weight: bold;
        font-size: max(21px, 1.3020833vw);
        margin-bottom: 0;
    }


    .story_pic img {
        margin-bottom: 2vw;
        width: 44.5vw;
    }

    .produced_logo img {
        margin-bottom: 14vw;
        width: 35.729167vw;
    }
    .japan_ttl {
        font-size: max(12px,0.625vw );
        margin-bottom: 1.5rem;
    }
    h2 {
        font-size: max(24px, 1.5625vw);
        padding-bottom: .5rem;
    }
    h2::after {
  
        height: 10.635417vw;
    }
    h3 {
        font-size: max(21px, 1.5625vw);
        letter-spacing: 1px;
        margin-bottom: 10.835417vw;
    }
    .story_txt {
        font-size: max(12px, 0.9375vw);
        line-height: 2.3rem;
    }
    .wrap_end {
        height: 50px;    }
    .japan_ttl2 {
        font-size: max(10px, 0.7291666666666666vw);
        margin-bottom: 5px;
    }
    h4 {
        font-weight: bold;
        font-size: max(20px, 1.3020833vw);
        line-height:2.5rem;
        margin-bottom:2rem;
    }
    .p_number {        
        font-size: max(12px, 0.625vw);
        margin-bottom: 0rem;
    }
    .price {
        font-size: max(14px, 0.78125vw);
        margin-bottom: 0.5rem;
    }
    .product_pic img {
        width: 56.520833vw;
        margin-bottom: 0vw;
    }
    .price {
        font-size: max(14px, 0.78125vw);
        margin-bottom: 2.5rem;
    }

    
 

    .flex_wrap img {
        width: 37.416667vw;
    }
    .flex_wrap p {
     font-size: max(12px, 0.6770833333333334vw);
     margin-bottom: 1rem;
    }
    .btn {
        margin-top: 10.890625vw;
        margin-bottom: 25.625vw;
    }
    
    
    .btn a {
        padding: 3.5vw 19vw;
        border-radius: 50px;
        font-size: max(14px, 0.78125vw);
        }
        .last_txt ul li:last-child {
            margin-top: 2.6875vw;
            margin-bottom: 1.521875vw;
            font-size: max(17px,1.0416666666666665vw);
            font-weight: bold;
        }
}

@media (max-width: 375px) {
    .fv-nav {
        height: 8vw;
    }
    .top-bg {
        height: 90vh;
    }
}