@charset "UTF-8";
/* base_sp
--------------------------------------------------------------------------------*/
:root{
    --bg-beige: #ebe5db;
    --bg-brown: #49271d;
    --bg-grey: #777;
    --bg-green: #b6bbb3;
}
html{
    min-width: 320px;
    max-width: 1920px;
    font-size: 62.5%;
    margin: 0 auto;
    letter-spacing: .1rem;
    /* scroll-behavior: smooth; */
}
body{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
    font-style: normal;
    font-family: 'Julius Sans One', sans-serif;
}
.font-type{
    font-family: sans-serif;
}
li{
    list-style: none;
}
a:link{ 
    text-decoration: none;
}
a:link,a:active,a:visited,a:focus{
    color: #000;
}
h1{
    font-size: 3em;
    letter-spacing: .2em;
}
h2{
    font-size: 2rem;
}
.bg-white{
    background: #fff;
}

/* layout_sp
--------------------------------------------------------------------------------*/
section{
    padding: 60px 0 0;
}
.text_area{
    display: inline-block;
    padding: 20px;
    line-height: 1.8;
    text-align: left;
}
.align-center{
    text-align: center;
}
.padding-tb1{
    padding: 1rem 0;
}
.padding-b2{
    padding: 0 0 2rem 0;
}
.margin-tb2{
    margin: 2rem 0;
}

/* element_sp
--------------------------------------------------------------------------------*/
.heading{
    font-size: 2.2em;
    font-weight: bold;
    letter-spacing: .3rem;
}
.icon{
    padding: 0 10px 0 0;
    font-size: 1.2em;
}
#page_top{
    position: fixed;
    right: 10px;
    z-index: 100;
    opacity: 0;
    transform: translateY(100px);
    transition: .5s;
}
#page_top a{
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    text-align: center;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 50%;
    background: var(--bg-grey);
}
#page_top.UpMove{
    animation: UpAnime .5s forwards;
    will-change: transform;
}
@keyframes UpAnime{
    0%{
        opacity: 0;
        transform: translateY(100px);
    }
    100%{
        opacity: 1;
        transform: translateY(0);
    }
}
#page_top.DownMove{
    animation: DownAnime .5s forwards;
    will-change: transform;
}
@keyframes DownAnime{
    0%{
        opacity: 1;
        transform: translateY(0);
    }
    100%{
        opacity: 0;
        transform: translateY(100px);
    }
}
.btn{
    display: block;
    position: relative;
    z-index: 1;
    width: 200px;
    margin: 0 auto;
    padding: 1rem 2rem;
    text-align: center;
    border: 1px solid #000;
    border-radius: 50px;
    overflow: hidden;
    transition: .5s cubic-bezier(0.45,0,0.55,1);
}
.btn::after{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: var(--bg-grey);
    border-radius: 40px;
    transform: scale(0,1); /* 初期値は0 */
    transform-origin: left top; /* 左から出現 */
    transition: .5s cubic-bezier(0.45,0,0.55,1);
}
.btn:hover{
    color: #fff;
    transition: .5s cubic-bezier(0.45,0,0.55,1);
}
.btn:hover::after{
    transform:scale(1,1);
    transition: .5s cubic-bezier(0.45,0,0.55,1);
}

/* animation
--------------------------------------------------------------------------------*/
/* ⓵マーカーを引く 
.markerScrollAnime{
    background: linear-gradient(to right, #79a4765e 50%, transparent 50%);
    background-repeat: no-repeat;
    background-size: 200% .8em;
    background-position: 100% 1.2em;
    transition: 3s;
}
.markerScrollAnime.is-active{
    background-position: 0% .9em;　.is-activeに左にずらしたbackgroundを元の位置に戻す 
}*/

/* ⓶テキストを一文字ずつ表示する */
.heroTextAnime span,.eachTextAnime span{
	opacity: 0;
}
.heroTextAnime.appeartext span,.eachTextAnime.appeartext span{
	animation: text_anime_on 1s ease-out forwards;
}
@keyframes text_anime_on{
    0%{
        opacity: 0;
        text-shadow: 0 0 3rem #fff;
    }
    20%{
        text-shadow: 0 0 2rem #fff;
    }
    40%{
        opacity: 1;
    }
    60%{
        text-shadow: 0 0 1rem #fff;
    }
    80%{
        text-shadow: 0 0 0 #fff;
    }
    100%{
        opacity: 1;
    }
}

/* ⓷要素をふわっと表示 */
.fadeUpTrigger{
	opacity: 0;
}
.fadeUp{
    animation: fadeUpAnime 2s ease-out forwards;
    opacity: 0;
    will-change: transform,opacity;
}
@keyframes fadeUpAnime{
    0% {
        opacity: 0;
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ⓸スライドダウン */
.slidedown{
	animation: slideDownAnime 1.5s forwards .5s;
	transform-origin: bottom center;
}
@keyframes slideDownAnime{
    0% {
        transform: scaleY(1);
    }	
    100% {
        transform: scaleY(0);
    }
}
/* ⓹要素を順番に表示する */
.fadeord{
    animation: fadeOrder 1s forwards;
    opacity: 0;
    will-change: transform;
}
@keyframes fadeOrder{
    0% {
        opacity: 0;
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* loading
--------------------------------------------------------------------------------*/
#splash{
    position: fixed;
    z-index: 9999;
    width: 100%;
    height: 100%;
    left: 0;
    background:var(--bg-green);
}
.progressbar-text{
    font-size: 5rem;
}
/* header_sp
--------------------------------------------------------------------------------*/
.l-header{
    position: fixed;
    width: 100%;
    height: 80px;
    z-index: 1000;
    background: #fff;
}
.logo{
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    z-index: 500;
    text-align: center;
}
.logo img{
    display: inline-block;
    width: 40px;
    vertical-align: top;
}
.logo_name{
    display: inline-block;
    letter-spacing: .2rem;
    font-size: 1rem;
    font-weight: bold;
}
.logo_name p:first-child{
    font-size: 1.4rem;
}

/* navigation_sp
--------------------------------------------------------------------------------*/
.toggle{
    position: fixed;
    top: 10px;
    right: 20px;
    width: 60px;
    height: 60px;
    z-index: 500;
    cursor: pointer;
}
.toggle span{
    position: absolute;
    left: 20px;
    width: 20px;
    height: 2px;
    transform: scaleY(0.75) translateY(1px);
    background: #000;
    border-radius: 2px;
    transition: .5s ease-in-out;
}
.toggle span:first-child{ 
    top: 15px;
}
.toggle span:nth-child(2){
    top: 25px;
}
.active span:first-child{
    transform: rotate(45deg);
    top: 20px;
}
.active span:nth-child(2){
    transform: rotate(-45deg);
    top: 20px;
}
.toggle::after{
    content: "MENU";
    position: absolute;
    top: 35px;
    left: 12px;
    font-size: .8em;
}
.active.toggle::after{
    content: "CLOSE";
    position: absolute;
    top: 35px;
    left: 12px;
    font-size: .8em;
}
#menu_panel{
    display: none; /* 初期値は非表示 */
    position: relative;
    top: 80px;
    height: 100vh;
    background: #fff;
}
.gnav{
    position: absolute;
    width: 100%;
    top: calc((100vh - 80px) / 2);
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
}
.gnav_list{
    height: calc((100vh - 100px) / 6);
    cursor: pointer;
}
.gnav a{
    display: block;
    position: relative;
    line-height:  calc((100vh - 100px) / 6);
    font-size: 1.2em;
    font-weight: bold;
    letter-spacing: 1px;
    background: #fff;
    text-align: center;
}
.text_link{
    position: relative;
}
.gnav a::after, .text_link::after{
    display: inline-block;
    position: absolute;
    content: "";
    width: 0;
    height: 1px;
    transform: scaleY(1.25) translateY(1px);
    background: var(--bg-grey);
    transition: .5s;
    transform-origin: left top;
}
.gnav a::after{
    left: 35%;
    bottom: 15px;
}
.text_link::after{
    left: 0;
    bottom: -1rem;
}
.gnav a:hover::after{
    width: 30%;
}
.text_link:hover::after{
    width: 100%;
}
/* hero_sp
--------------------------------------------------------------------------------*/
#slider{
    width: 100%;
    height: 100vh;
}
.hero{
    position: relative;
    width: 100%;
    padding: 80px 0 0 0;
}
.hero_cover{
    overflow: hidden;
    background: rgba(255,255,255,1);
}
#product .hero,#shop .hero,#contact .hero,#privacypolicy .hero{
    height: 100vh;
}
.hero_title{
    position: absolute;
    width: 100%;
    padding: 80px 0 0 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    color: #fff;
    z-index: 100;
}
#product .hero{
    background: url(images/hero_product.webp) no-repeat center/cover;
}
#shop .hero{
    background: url(images/hero_shop.webp) no-repeat center/cover;
}
#contact .hero{
    background: url(images/hero_contact.webp) no-repeat center/cover;
}

/* news_sp
--------------------------------------------------------------------------------*/
.news_wrapper{
    position: relative;
}
.news{
    width: 100%;
    background: url(images/chalkboard.jpg) repeat-x center/cover;
}
.news_list{
    position: relative;
    height: 140px;
}
.news_list a{
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    line-height: 2;
}
.news_list h3{
    font-size: 2em;
}
.news_list h3,.news_list p,.news_date{
    color: #fff;
    letter-spacing: .2rem;
}
.bx-wrapper{
    margin: 0;
    box-shadow: none;
    border: none;
}

/* home_page sp
--------------------------------------------------------------------------------*/
.concept_text{
    margin: 2rem;
    text-align: left;
    line-height: 2;
}
.concept img{
    display: block;
    width: 100%;
    margin: 0 auto;
    object-fit: contain;
}
.lead{
    font-size: 1.6rem;
}
.cordinate{
    position: relative;
    padding: 60px 0 0 0;
}
.cordinate_container{
    height: 100%;
}
.img_main_wrapper{
    position: relative;
    width: 100%;
}
.img_main{
    width: 100%;
    height: 100%;
    vertical-align: middle;
    object-fit: cover;
}
.cordinate_text{
    position: absolute;
    top: 10%;
    padding: 3rem;
    line-height: 3;
    letter-spacing: .3rem;
    background: rgba(255,255,255,0.5);
    writing-mode: vertical-rl;
}
.cordinate_text_l{
    left: 10%;
}
.cordinate_text_r{
    right: 10%;
}
.img_thumb_wrapper{
    display: flex;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
}
.cordinate_list{
    position: relative;
    display: grid;
    width: 50%;
}
.cordinate_list::after{
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: 50%;
    background: var(--bg-beige);
    z-index: -1;
}
.cordinate_list_box{
    text-align: center;
    font-size: 1.4rem;
}
.cordinate_list_box p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.cordinate_num{
    font-size: 3em;
}
.cover{
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 2;
    opacity: .7;
}
.cordinate_list img{
    width: 100%;
    object-fit: cover;
}
.cordinate_list:nth-child(1){
    order: 1;
}
.cordinate_list:nth-child(2){
    order: 2;
}
.cordinate_list:nth-child(3){
    order: 4
}
.cordinate_list:nth-child(4){
    order: 3
}
.cordinate_list:nth-child(5){
    order: 5;
}
.cordinate_list:nth-child(6){
    order: 6;
}

/* product_page sp
--------------------------------------------------------------------------------*/
.product{
    background: var(--bg-beige);
    text-align: center;
}
.cactus{
    padding: 60px 0;
}
.product_container{
    margin: 40px 0;
}
/* アニメーションスタートの遅延時間を決める */
#product .fadeord:nth-child(1){
    animation-delay: .5s;
}
#product .fadeord:nth-child(2){
    animation-delay: 1s;
}
#product .fadeord:nth-child(3){
    animation-delay: 1.5s;
}
#product .fadeord:nth-child(4){
    animation-delay: .5s;
}
#product .fadeord:nth-child(5){
    animation-delay: 1s;
}
#product .fadeord:nth-child(6){
    animation-delay: 1.5s;
}
.plant_list{
    margin: 20px;
    padding: 20px 0 0;
    text-align: center;
    background: #fff;
}
.plant_plate{
    position: relative;
    width: 100px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    background: var(--bg-grey);
    margin: 0 auto 30px;
}
.plant_plate::after{
    position: absolute;
    content: "";
    top: 28px;
    left: 50%;
    height: 40px;
    transform: translate(-50%,0%);
    border-left: 4px solid var(--bg-grey);
    border-radius:  2px;
}
.plant_name{
    font-size: 1.6em;
    padding: 30px 0 0;
}
.zoomIn{
    margin: 20px;
}
.zoomIn img{
    cursor: pointer;
	transform: scale(1);
	transition: .7s ease-in-out;
}
.zoomIn img:hover{
	transform: scale(1.2);
}
#product .mask{
    display: block;
    width: 180px;
    height: 180px;
    margin: 0 auto;
    line-height: 0; /* 行の高さを0にする */
    overflow: hidden;
    border-radius: 50%;
}
.plant_list img{
    display: block;
    width: 180px;
    height: 180px;
    object-fit: contain;
    border-radius: 50%;
}

/* shop_page sp
--------------------------------------------------------------------------------*/
.shop_container{
    position: relative;
    margin: 20px 20px 40px;
    padding: 100px 20px 40px;
    text-align: center;
    color: #fff;
    background: var(--bg-green);
}
.shop_container::before,.shop_container::after{
    position: absolute;
    content: "";
    top: 0;
    background: #fff;
    width: 50%;
    height: 100px;
}
.shop_container::before{
    left: 0;
    clip-path: polygon(0 0,0 100%,100% 0);
}
.shop_container::after{
    left: 50%;
    clip-path: polygon(0 0,100% 100%,100% 0);
}
.shop .heading{
    padding: 20px 0;
}
.info_container .heading{
    padding: 20px 0 0;
}
.info_wrapper{
    letter-spacing: .2rem;
}
.info_inner{
    padding: 20px;
    text-align: left;
    line-height: 1.8;
    border: 2px solid #fff;
}
.shop_name{
    margin: 0 0 20px 0;
    text-align: center;
    letter-spacing: .3rem;
}
.shop .text_link{
    color: #fff;
}
.shop .text_link::after{
    background: #fff;
}
iframe{
    border-style: none;
    width: 100%;
    height: 280px;
    margin: 20px 0;
    filter: grayscale(1);
}
.slider{
    position: relative;
    top: 0;
	z-index: 50;
    margin: 0 auto;
    border: 2px solid #fff;
    overflow: hidden;
}
.slider-item01{
    background:url(images/shop1.webp);
}
.slider-item02{
    background:url(images/shop2.webp);
}
.slider-item03{
    background:url(images/shop3.webp);
}
.slider-item04{
    background:url(images/shop4.webp);
}
.slider-item05{
    background:url(images/shop5.webp);
}
.slider-item06{
    background:url(images/shop6.webp);
}
.slider-item{
    position: relative;
    height: 300px;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.slider-item04{
    background:url(images/hero_shop.webp);
    background-position: top 50% left 20%;
    background-repeat: no-repeat;
    background-size: cover;
}
/* 戻る、次へ矢印の位置 */
.slick-prev,.slick-next{
    position: absolute;
	z-index: 200;
    top: 50%;
    cursor: pointer;
    outline: none; /* クリックをしたら出てくる枠線を消す */
    height: 15px;
    width: 15px;
    border-top: 2px solid #fff;
}
.slick-prev{
    left: 8%;
    border-left: 2px solid #fff;
    transform: rotate(-45deg) translateY(-50%);
}
.slick-next{
    right: 8%;
    border-right: 2px solid #fff;
    transform: rotate(45deg) translateY(-50%);
}
.slick-dots{
	position: relative;
	z-index: 200;
    text-align: center;
	margin: -20px 0 0 0;
}
.slick-dots li{
    display: inline-block;
	margin: 0 5px;
}
.slick-dots button{
    color: transparent;
    outline: none;
    width: 8px; /* ドットボタンのサイズ */
    height: 8px; /* ドットボタンのサイズ */
    display: block;
    border-radius: 50%;
    background: #ccc;
}
.slick-dots .slick-active button{
    background: #333; /* ドットボタンの現在地表示の色 */
}
/* アニメーションスタートの遅延時間を決める */
#shop .fadeord:nth-child(1){
    animation-delay: .5s;
}
#shop .fadeord:nth-child(2){
    animation-delay: 1s;
}
#shop .fadeord:nth-child(3){
    animation-delay: 1.5s;
}
#shop .fadeord:nth-child(4){
    animation-delay: 2s;
}
.blog_list{
    margin: 0 auto 20px;
    letter-spacing: .2rem;
    border: 2px solid #fff;
}
.blog_list a{
    display: block;
    position: relative;
}
#shop .zoomIn{
    position: relative;
    margin: 0;
    overflow: hidden;
}
#shop .zoomIn::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.25);
    pointer-events: none;
    transition: .7s;
}
#shop .zoomIn:hover::after{
    background: rgba(0,0,0,0);
}
#shop .zoomIn img{
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
    z-index: 100;
    transform: scale(1);
	transition: .7s ease-in-out;
}
#shop .zoomIn img:hover{
	transform: scale(1.1);
    transition: .7s ease-in-out;
}
.blog_date{
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1000;
    pointer-events: none;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
}

/* contact_page sp
--------------------------------------------------------------------------------*/
.contact{
    padding: 60px 20px;
    line-height: 2;
    background: var(--bg-beige);
}
form{
    text-align: center;
}
.form_wrapper{
    margin: 40px 0 0;
    letter-spacing: .2rem;
}
.form_input{
    text-align: left;
    margin: 2rem 0;
}
label{
    display: inline-block;
}
input[type="text"],textarea{
    width: 100%;
    margin: 1rem 0;
    padding: 1rem;
    letter-spacing: .2rem;
    background: #fff;
}
input[type="text"]:focus{
    border: 1px solid var(--bg-grey)
}
textarea:focus{
    border: 1px solid #666;
}
input[type="checkbox"]{
    width: 20px;
    height: 20px;
    margin: 0 1rem 0 0;
    background: #fff;
    vertical-align: middle;  
}
.agreed_text{
    width: 100%;
    margin: 1rem 0;
}
.contact .btn{
    width: 230px;
    color: #fff;
    background: var(--bg-grey);
    box-shadow: 2px 3px 2px #ccc;
}
.privacy_btn{
    margin: 2rem 0 0;
    text-align: center;
}
.privacy_btn a:hover,.submit_btn:hover{
    transform: translateY(3px);
    transition: .5s;
    box-shadow: none;
}
.submit_btn{
    margin: 0;
}
#btn:disabled{
    background: var(--bg-beige);
}

/* privacypolicy_page sp
--------------------------------------------------------------------------------*/
.privacypolicy {
    padding: 120px 20px 40px;
    line-height: 2;
    background: var(--bg-beige);
}
.text_group{
    text-align: left;
    margin: 2rem 0;
}
.privacypolicy h3{
    width: 100%;
    padding: 10px;
    letter-spacing: .2rem;
    color: #fff;
    background: var(--bg-grey);
}
/* list-styleの装飾 */
.privacypolicy li{
    margin: 0 0 1rem 0;
}
.privacypolicy li:last-child{
    margin: 0;
}

/* footer_sp
--------------------------------------------------------------------------------*/
footer{
    display: grid;
    place-items: center;
    position: relative;
    margin: 60px 0;
}
footer .logo{
    position: static;
    transform: none;
}
.sns_icon_wrapper{
    text-align: center;
}
.sns_icon{
    display: inline-block;
    margin: 1rem;
    line-height: 2;
}
.sns_icon a{
    display: inline-block;
}
.sns_icon:first-child{
    margin: 0 2rem 0 0;
}
.sns_icon .text_link::after{
    bottom: 0rem;
}
address{
    display: inline-block;
    margin: 1rem;
    text-align: left;
    line-height: 2;
    font-style: normal;
}
.footer_btn_wrapper{
    display: grid;
    place-items: center;
}
footer .btn{
    margin: 1rem 0;
}
small{
    margin: 1rem 0 0 0;
}

/* =============================================================================*/
@media screen and (min-width: 600px){
/* =============================================================================*/

/* base_tab
--------------------------------------------------------------------------------*/
body{
    font-size: 13px;
    font-size: 1.3rem;
}
h1{
    font-size: 5em;
}
.heading{
    font-size: 2.6em;
}
.progressbar-text{
    font-size: 8rem;
}
/* news_tab
--------------------------------------------------------------------------------*/
.news_list a {
    left: 5%;
}
.news h3,.news p{
    display: inline-block;
}
.news_date{
    display: inline-block;
    margin: 0 50px;
}

/* home_page tab
--------------------------------------------------------------------------------*/
.concept_container{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    margin: 0 auto;
}
.concept img{
    width: 400px;
    height: 400px;
}
.cordinate_container{
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
}
.img_main_wrapper{
    width: 60%;
}
.img_thumb_wrapper{
    width: 40%;
}
.cordinate_list_box{
    font-size: 1.6rem;
}

/* product_page tab
--------------------------------------------------------------------------------*/
.product_container{
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
}
.plant_list{
    width: calc((100% / 2) - 40px);
    text-align: center;
}

/* shop_page tab
--------------------------------------------------------------------------------*/
.shop_container{
    padding: 140px 20px 40px;
}
.shop_container::before,.shop_container::after{
    height: 140px;
}
.shop .heading{
    padding: 20px 0 60px;
}
.info_container{
    padding: 0 0 40px 0;
}
.info_container .heading{
    padding: 30px 0 0;
}
.info_wrapper,.slider,.blog_list{
    width: calc((100% / 2) - 40px);
}
.info_wrapper{
    margin: 0 2rem;
}
.info_container,.blog_wrapper{
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
    flex-wrap: wrap;
}
iframe{
    margin: 20px 0 0;
}
.slider{
    height: 100%;
}
.slider-item{
    height: 600px;
}

/* contact_tab
--------------------------------------------------------------------------------*/
.contact .heading,.contact .lead{
    text-align: center;
}
.form_wrapper{
    margin : 40px 10vw 0;
}
label{
    display: inline-block;
    width: calc((100% - 20px) * 0.4);
}
.label_textarea{
    vertical-align: top;
    margin: 2rem 0 0 0;
}
input[type="text"],textarea{
    width: calc(100% * 0.6);
}
.contact .btn{
    width: 240px;
}
.form_btn{
    display: inline-block;
    width: 49.5%;
}
.privacy_btn{
    margin: 2rem 0 0;
    text-align: center;
}
.submit_btn{
    margin: 2rem 0;
    vertical-align: top;
}

/* privacypolicy_page tab
--------------------------------------------------------------------------------*/
.privacypolicy_container{
    margin: 40px 10vw 0;
}
.text_group{
    margin: 20px;
}
.privacypolicy h2,.privacypolicy h3,.privacypolicy .lead{
    text-align: center;
}

/* footer_tab
--------------------------------------------------------------------------------*/
footer{
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}
.footer_wrapper{
    text-align: left;
}
.footer_inner{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
}
footer .logo{
    display: inline-block;
}
.sns_icon{
    display: block;
    margin: 0;
}
.sns_icon_wrapper{
    text-align: left;
    margin: 0 3rem;
}
.sns_icon:first-child{
    margin: 0;
}
footer .btn{
    margin: 0 0 1rem 0;
}
}

/* =============================================================================*/
@media screen and (min-width: 960px){
/* =============================================================================*/

/* base_pc
--------------------------------------------------------------------------------*/
body{
    font-size: 14px;
    font-size: 1.4rem;
}
h1{
    font-size: 6em;
}
.heading{
    font-size: 3em;
}
.progressbar-text{
    font-size: 10rem;
}

/* header_pc
--------------------------------------------------------------------------------*/
.logo img{
    width: 50px;
}
.l-header{
    max-width: 1920px;
}

/* navigation_pc
--------------------------------------------------------------------------------*/
.toggle{
    display: none;
}
#menu_panel{
    display: block!important;
    height: 80px;
    top: 0;
}
.gnav{
    display: flex;
    justify-content: end;
    padding: 0 30px;
    top: 0;
    left: 0;
    transform: none;
}
.gnav_list{
    width: 140px;
    height: 80px;
}
.gnav a{
    font-size: 1.3em;
    line-height: 80px;
}
.gnav a::after{
    left: 15%;
}
.gnav a:hover::after{
    width: 70%;
}
/* hero_pc
--------------------------------------------------------------------------------*/
.hero p{
    font-size: 1.4em;
}
.slick-prev,.slick-next{ /* 矢印の装飾 */
    width: 20px;
    height: 20px;
}
.cordinate_list_box{
    font-size: 1.8rem;
}

/* product_page pc
--------------------------------------------------------------------------------*/
.plant_list{
    width: calc((100% / 3) - 40px);
}
#product .mask{
    width: 200px;
    height: 200px;
}
.plant_list img{
    width: 200px;
    height: 200px;
}

/* contact_page pc
--------------------------------------------------------------------------------*/
.contact .btn{
    width: 260px;
}
}

/* ==============================================================================*/
@media screen and (min-width:1200px){
/* ==============================================================================*/
.shop_container{
    padding: 140px 10vw 40px;
}
}

/* ==============================================================================*/
@media screen and (min-width:1920px){
/* ==============================================================================*/
#page_top{
right: calc(((100vw - 1920px) / 2) + 10px);
}
}