@charset "utf-8";


/* ---------------------------------------------
	基本css
--------------------------------------------- */
*{
	list-style: none;
}

html {
    color: #333;
    width: 100%;
    /*max-width: 1800px;*/
    margin: auto;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{	margin:0;padding:0; }

body {
    background-color: #FFFFFF;
    overflow-x: hidden !important;
    /*word-break: break-all;
    position: relative;*/
}
p,li,dt,dd,h1,h2,h3,h4,th,td{
	font-size: 16px;
	line-height: 1.7em;
	margin: 0;
	padding: 0;
	color: #1e1e1e;
	font-family: 'Kosugi Maru', sans-serif, "メイリオ",Meiryo, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
h3 > span{
    display: block;
}

.mt0{margin-top: 0px !important;}
.mt8{margin-top: 8px !important;}
.mt16{margin-top: 16px !important;}
.mt24{margin-top: 24px !important;}
.mt32{margin-top: 32px !important;}
.mt40{margin-top: 40px !important;}
.mt48{margin-top: 48px !important;}
.mt56{margin-top: 56px !important;}
.mt64{margin-top: 64px !important;}
.mt72{margin-top: 72px !important;}
.mt80{margin-top: 80px !important;}

.mb0{margin-bottom: 0px !important;}
.mb8{margin-bottom: 8px !important;}
.mb16{margin-bottom: 16px !important;}
.mb24{margin-bottom: 24px !important;}
.mb32{margin-bottom: 32px !important;}
.mb40{margin-bottom: 40px !important;}
.mb48{margin-bottom: 48px !important;}
.mb56{margin-bottom: 56px !important;}
.mb64{margin-bottom: 64px !important;}
.mb72{margin-bottom: 72px !important;}
.mb80{margin-bottom: 80px !important;}

.ml0{margin-left: 0px!important;}
.ml8{margin-left: 8px!important;}
.ml12{margin-left: 12px!important;}
.ml16{margin-left: 16px!important;}
.ml24{margin-left: 24px!important;}
.ml32{margin-left: 32px!important;}

.mr0{margin-right: 0px!important;}
.mr8{margin-right: 8px!important;}
.mr12{margin-right: 12px!important;}
.mr16{margin-right: 16px!important;}
.mr24{margin-right: 24px!important;}
.mr32{margin-right: 32px!important;}

.marker-r{
    background-image: -webkit-linear-gradient(left, transparent 100%, rgb(247, 212, 203) 100%);
    background-image: -moz-linear-gradient(left, transparent 100%, rgb(247, 212, 203) 100%);
    background-image: -ms-linear-gradient(left, transparent 100%, rgb(247, 212, 203) 100%);
    background-image: -o-linear-gradient(left, transparent 100%, rgb(247, 212, 203) 100%);
    background: linear-gradient(transparent 0%, rgb(247,212,203) 0%);
    display: inline;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1.8s;
    font-weight: bold;
    font-size: 108%;
    padding: 0.5rem;
}

.marker-r.active{
    background-size: 100% 100%;
}

*:focus {
    outline: none;
}

.inner {
	width: 100%;
	margin: 0 auto;
}

a {
    text-decoration: none;
    color: #FFFFFF;
}
a:hover {
    text-decoration: underline;
}
.icon_blank {
    content: "";
    position: absolute;
    display: block;
    background: url(/common/img/icon/icon_blank_w.svg) center / contain no-repeat;
    top: 0;
    right: 20px;
    transition: all 0.2s linear;
    margin: auto;
    bottom: 0;
}
/*
.icon_blank::after {
    content: "";
    position: absolute;
    display: block;
    background: url(/common/img/icon/icon_blank_w.svg) center / contain no-repeat;
    top: 0;
    left: 0;
    transition: all 0.2s linear;
}*/


@media print, screen and (min-width: 768px) {
    .icon_blank {
        width: 13px;
        height: 13px;
        /*margin-left: 8px;
    }
    .icon_blank::after {
        width: 13px;
        height: 13px;*/
    }    
    .pc {display: block !important;}
    .sp {display: none !important;}
    br.pc {display: block !important;}
    br.sp {display: none !important;}
    span.pc {display: inline-block !important;}
    span.sp {display: none !important;}
}

@media only screen and (max-width: 767px) {
    .icon_blank {
        width: 3.4666666667vw;
        height: 3.4666666667vw;
        margin-left: 2.6666666667vw;
        right: 12px;
    }
    /*.icon_blank:after {
        width: 3.4666666667vw;
        height: 3.4666666667vw;
    }*/
    .sp {display: block !important;}
    .pc {display: none !important;}
    br.sp {display: block !important;}
    br.pc {display: none !important;}
    span.sp {display: inline-block !important;}
    span.pc {display: none !important;}
}
}

/* ---------------------------------------------
	micro clearfix
--------------------------------------------- */
.clearfix::before, 
.clearfix::after {
	content: "";
	display: table;
}
.clearfix::after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
	zoom: 1;
}
.clear{ clear: both; }
.fl {
	float: left;
}
.fr {
	float: right;
}
.center {
    text-align: center !important;
}
.right {
    text-align: right !important;
}
.left {
    text-align: left !important;
}
small,.small {
    font-size: 12px !important;
}
.kome::before {
    content: "※";
    padding-right: 6px;
    text-align: left;
}
.kome.small {
    text-indent: -16px;
    padding-left: 16px;
}
.kome.x-small-font {
    text-indent: -19px;
    padding-left: 29px;
    margin-top: 4vh;
    padding-right: 0.5em;
}
.price{
 text-align: right;
}
.green {
    color: #0c9542;
}
.white {
    color: #fff;
}

.border-bottom{
    border-bottom: 1px solid #c4c4c4;
}

.brown-font.bold > span.small-font{
    font-weight: normal;
}

/*-------------------------------------------------------------------------
        ZEN
--------------------------------------------------------------------------*/

section {
    padding-top: 5vw;
    padding-bottom: 15vw;
    position: relative;
    top: -2vw;
}

section + svg{
    margin-top: -6vw;
    position: relative;
    z-index: 10;
}

.serif{
    font-family: serif;
}

.tabete-logo{
    z-index: 1;
    position: absolute;
    width: 20vw;
    max-width: 160px;
}

.bg-white{
    background-color: #FFFFFF;
}

.bg-pink{
    background-color: #f5eae9;
}

.mbig-font{
    font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem)!important;
}

.big-font{
    font-size: 40px !important;
}
.big-font.indent01 {
    padding-left: 35px;
}
.big-font.indent02 {
    padding-left: 30px;
}

.middle-font{
    font-size: 110%!important;
}

.small-font{
    font-size: clamp(0.85rem, 0.782rem + 0.44vw, 1.038rem)!important;/*clamp(0.938rem, 0.87rem + 0.34vw, 1.25rem)!important;*/
    min-height: 0vw;
    min-height: 0px;
    margin-top: 1.5vh;
    margin-bottom: 0.5em;
    line-height: 1.5;
}

.x-small-font{
    font-size: clamp(0.80rem, 0.732rem + 0.39vw, 0.238rem)!important;/*clamp(0.75rem, 0.682rem + 0.34vw, 0.938rem)!important;*/
    min-height: 0vw;
    min-height: 0px;
}

.orange-font{
    color: #eb8e15;
}

.brown-font{
    color: #593b28;
}

.upright{
    text-combine-upright: all;
}

header{
    height: 100%;
}

header  img{
    width: 100%;
}

header svg{
    position: relative;
    z-index: -1;
}

svg{
    width: 100%;
    height: auto;
}


.slick-slider{
    position: absolute;
    z-index: -1;
    width: 100%;
}

.zen-logo{
    position: absolute;
    z-index: 3;
    max-width:280px;
    width: 20vw;
    top: 7vh;
    right: 5vw;
}

.back-image{
    position: absolute;
    z-index: 2;
    max-width: 456px;
    width: 25vw;
    bottom: 20vw;
    right: 14vw;
}

.main-items{
    position: absolute;
    z-index: 3;
    max-width: 430px;
    width: 26vw;
    top:20vw;
    left: 14vw;
}

.main-items img{
    width: 98%;
    max-width: 430px;
}
@media only screen and (max-width: 1500px) {
    .main-items img{
        width: 95%
    }
}
.header-text_contents{
    position: absolute;
    width: 20vw;
    top: 35vw;
    left: 45vw;
    z-index: 7;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 1.1rem;
}

.header-text_contents p{
    position: relative;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background-color: #faf4f0;
    font-size: 24px;
    padding: 1em 0.5em;
    font-weight: bold;
    -webkit-align-self: flex-start;
    align-self: flex-start;
}

main {
    position: relative;
    margin-top: -17vh;
}

#ProductDesc{
    margin-top: -10px;
    position: relative;
    z-index: 2;
}
#ProductDesc .desc_features{
    position: relative;
    height: 35vw;
}
#ProductDesc .desc_features figure{
    z-index: 1;
    width: 95%;
    height: auto;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
#ProductDesc .desc_features img{
    border: none;
    border-radius: 10px;
    width: 100%;
}


.product-desc-title{
    position: absolute;
    left: 0;
    width: 500px;
    margin: auto;
    right: 0;
}

.product-desc-title h2{
    font-size: 30px;
    font-weight: bold;
    color: #593b28;
    text-align: center;
    font-family: serif;
    position: relative;
    top: -25px;
}

.product-desc-title h2 span{
    background-image: url(../images/desc_content-title_back.svg);
    background-repeat: no-repeat;
    background-size: auto;
    padding: 1rem;
    margin-right: 0.5em;
}

.bg-white-alpha{
    background: rgba(255, 255, 255, 0.4);
}

.bg-white-alpha-dark{
    background: rgba(255, 255, 255, 0.5);
    padding: 0 4% 3vh;
}

.title_box{
    position: relative;
    width: fit-content;
    margin: 5vw auto;
}
.title_box h2{
    position: relative;
    z-index: 3;
}
.title_box h2 span{
    display: block;
}

.title_box h2 span.small-font{
    color: #af907c;
}


.product-slide-box{
    padding: 80px 0 40px 0;
    width: 100%;
}

.product-slide div.slick-slider{
    position: static;
}

.product-items .slick-track{
    display: flex;
    flex-basis: auto;
    width: calc(100vw/8);
    gap: 15px;
}

.item-list{
    width: calc(100vw/8);
}

.item-list img{
    max-width: 100%;
    filter: drop-shadow(2px 4px 2px #BBB);
    padding: 0.5em;
    height: 15vw;
    max-height: 180px;
}
.desc_contents_box{
    width: 80%;
    margin: auto;
}
.desc_contents_box .title_box h3 span{
    display: inline;
}

.desc_contents_box .title_box img{
    width:100%;
}

.desc_contents_box .title_box h3.desc_contents-title span.bg-white{
    padding: 0.2rem 1.2rem 0.4rem;
    margin-right: 0.5rem;
}

.desc_content img{
    width: 100%;
    max-width: 400px;
    position: relative;
    top: 5%;
}
.desc_content .desc_txt-box p{
    margin-bottom: 3em;
    line-height: 3rem;
}

.desc_features{
    position: relative;
    width: 80%;
    margin: 80px auto;
}



.desc_features [class^="desc_features_txt-"]{
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    column-gap: 0.5rem;
    position: absolute;
    top:3vw;
    z-index: 3;
}
.desc_features .desc_features_txt-left{
    left: 0;
}
.desc_features .desc_features_txt-right{
    right: 0;
}

.desc_features p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background-color: #FFFFFF;
    border-radius: 4px;
    padding: 1em 0.5em;
    font-weight: bold;
    font-size: clamp(1.125rem, 1.044rem + 0.41vw, 1.5rem);
    min-height: 0vw;
    white-space: nowrap;
    letter-spacing: 0.12em;
}

.desc_features p.n1 {
    margin-top: 1vw;
    font-size: clamp(1.05rem, 0.982rem + 0.64vw, 1.238rem) !important;
}

.desc_features p.n2{
    margin-top: 6vw;
}

.desc_features p.n3{
    margin-top: -4vw;
    padding-bottom: 0.3em;
}

.desc_features p.n4{
    margin-top: 4vw;
}

.desc_point-box{
    position: relative;
    width: 90%;
    margin: 80px auto;
    text-align: center;
}

.desc_point-box h4{
    text-align: center;
    position: relative;
    top: 0.6em;
    font-size: clamp(2.988rem, 2.779rem + 1.69vw, 3.613rem);
}

.desc_point_contents-box p{
    font-size: clamp(1.55rem, 1.496rem + 0.57vw, 1.4rem);
    min-height: 0vw;
    min-height: 0vw;
    font-weight: 700;
    line-height: 1.2;
}

.desc_point-contents span,
.situation_title span{
    display: block;
}



.desc_point_contents-box .point-icon{
    border: 1px solid #593b28;
    border-radius: 50%;
    background-color: #FFFFFF;
    width: 80px;
    height: 80px;
    vertical-align: middle;
    padding: 0.8em;
    padding-top: 1em;
    line-height: 1.5em;
    position: absolute;
    top: 12%;
}
.desc_point_contents-box .point-img {
    width: 90%;
/*    height: 330px;*/
    border-radius: 180px;
    overflow: hidden;
}
.desc_point_contents-box .point-img  img{
    width: 120%;
    max-width: 350px;
    margin-top: -15%;
    margin-left: -10%;
}


#convenient-situaition .situation-box{
    /*background-image: url(../images/stripe_orange.gif);
    background-position: center;
    background-size: 60% 100%;*/
    width: 90vw;
    margin: 60px auto;
}
#convenient-situaition .situation-box .title-area{
    position: absolute;    
    left: 50%;
    transform: translateX(-50%);
}
/*
#convenient-situaition .situation-box .title-area{
    background: center bottom url(../images/stripe_orange_top.gif) no-repeat;
    background-size: 50% 100%;
    width: 100%;
    padding-top: 1vw;
    padding-bottom: .5vw;
    min-height: 20vw;
}*/
#convenient-situaition .situation-box .maincontents-area::before{
    content: "";
    display: block;
    background: center bottom url(../images/stripe_orange_top.gif) no-repeat;
    background-size: 50% 100%;
    width: 100%;
    min-height: 300px;
}
#convenient-situaition .situation-box .maincontents-area{
    background: center bottom url(../images/stripe_orange_middle.gif) repeat-y;
    background-size: 50% 100%;
    width: 100%;
}
#convenient-situaition .situation-box .maincontents-area::after{
    content: "";
    background: center bottom url(../images/stripe_orange_bottom.gif) no-repeat;
    background-size: 50% 100%;
    width: 100%;
    padding-top: 1vw;
    padding-bottom: .5vw;
    min-height: 40vh;
    display: block;
}

.situation_contents-box{
    position: relative;
}


img.title-img{    
    position: absolute;
    width: 100%;
    max-width: 180px;
    height: auto;
    z-index: 1;
}

img.title-img.left-img{
    top: -3vw;
    left: -190px;
}

img.title-img.right-img{
    top: -3vw;
    right: -190px;
}

.situation_content{
    width: 100%;
    margin: auto;
}



.voice-box{
	margin-bottom: 50px;
}
.voice-box input{
    visibility: hidden;
}

.voice-contents-box{
	width: 70vw;
	margin: 50px auto;
	background-color: rgba(255,255,255,0.5) ;
	margin-bottom: 2em;
	text-align: left;
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-column-gap: 0em;
	border-radius: 15px;
}

.voice-contents-title{
	background-color: #fff;
	border-bottom-left-radius: 15px;
	border-top-left-radius: 15px;
	padding: 2rem 1.8rem;
}

.voice-contents{
	padding: 2rem 2.5rem;
}

.voice-contents-title .title{
    font-size: 23px;
    margin-top: 0.5em;
    margin-bottom: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
    color: #595758;
}

.customer-info{
    background-color: #FFFFFF;
    border-radius: 30px;
    border: 1px solid #595758;
    padding: 0.4rem 1.2rem 0.2rem;
    width: fit-content;
    text-align: center;
    font-size: 90%;
    margin-top: 1em;
    color: #595758;
}

.stars img{
	width: 100%;
	max-width: 140px;
}

.hidden{
    display: grid;
}

.more{
    background-color: rgb(235, 109, 0);
    border: none;
    border-radius: 30px;
    padding: 16px 16px 18px;
    margin-top: 1em;
    color: #FFFFFF;
    width: 30vw;
    max-width: 250px;
    font-weight: bold;
    position: relative;
    font-size: 17px;
}

.more::before{
    content: "もっと見る";
}

.more.on-click::before{
    content: "閉じる";
}
.more::after{
    content: "＋";
    position: absolute;
    right: 16px;
    font-size: 26px;
    height: 40px;
    margin: auto;
    top: 0;
    bottom: 0;
}

.more.on-click::after{
    content: "－";
}


/*input[type="checkbox"]#more-button{
    display: none;
}

input[type="checkbox"]#more-button:checked ~ .hidden{
    display: grid;
    opacity: 1;
}

input[type="checkbox"]#more-button:checked ~ .more::before{
    content: "閉じる－";
}*/

.p1{
    top: 1em;
    right: 0;
}

.p2{
    top: 1em;
    right: 40px;
}

.main-contents{
    width: 70%;
    margin: 5vw auto;
    position: relative;
}

#Recommend .main-contents figure.recommend-topimg{
    position: absolute;
    width: 70%;
    z-index: 2;
    top: -10vw;
    left: 50%;
    transform: translateX(-50%);
}
#Recommend .main-contents figure.recommend-topimg img{
    width: 100%;
}
.products-box .product-t-box {
    display: table;
    height: 15%;
    max-height: 90px;
    width: 100%;
}

.products-box .product-t-box .product-name{
    text-align: center;
    font-weight: bold;
    padding-bottom: 0.5em;
    padding-top: 0.8em;
    font-size: clamp(1.4rem, 1.309rem + 0.85vw, 1.65rem);
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 110px;
    line-height: 1.3;
}
.products-box .product-desc{
    /* min-height: 6.5rem; */
    padding: 1.1em 0.5em 0.5em;
    line-height: 2;
    letter-spacing: 0.08em;
}

#lineup .main-contents{
    width: 95vw;
    margin: 10vw auto 5vw;
    max-width: 1400px;
}

#lineup .lineup-titlearea{
    position: relative;
    /*background: url(../images/lineup-main-img.jpg) no-repeat;
    background-position: center;
    background-size: contain;*/
    width: 100vw;
    height: 100vh;
    margin: auto;
    margin-right: -1em;
    margin-bottom: 20vw;
    /*display: flex;
    column-gap: 0;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;*/
}
#lineup .lineup-titlearea .title-logo-area{
    position: relative;
    top: 20vw;
    left: 50%;
    transform: translateX(-50%);
    width: fit-content;
    display: flex;
    flex-direction: row-reverse;
}
#lineup .lineup-titlearea figure.pc{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 75vw;
    max-width: 1200px;
}

#lineup .lineup-titlearea figure img{
    width: 100%;
}
/*#lineup .lineup-titlearea::after{
    content: "";
    display: block;
    padding-top: 100%;
}


#lineup .lineup-titlearea img{
    width: 100%;
}*/

#lineup .lineup-titlearea figure.zen-logo{
    width: 20vw;
    max-width: 200px;
    margin: 0;
    position: static;
}
#lineup .lineup-titlearea figure.zen-logo img{
    width: 90%;
}

#lineup .lineup-titlearea h2{
    background: center / contain no-repeat url(../images/lineup-title_back.svg) ;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 1em 0.5em;
    margin-top: -2.5em;
    font-size: clamp(1.563rem, 1.495rem + 0.34vw, 1.875rem);
    position: relative;
    z-index: 3;
    height: fit-content;
}

#lineup .products-box [class^="item0"]{
    /*background: url(../images/bg-ellipse.png) no-repeat;
    background-position: center;
    background-size: contain;*/
    width: calc(80% / 3);
    min-width: 360px;
    position: relative;
}
#lineup .products-box [class^="item0"]::before {
    content: "";
    background-color: #fff5eb;
    width: 90%;
    height: 90%;
    border-radius: 40vw;
    position: absolute;
    left: 0;
    right: 0;
    top: 3vh;
    margin: auto;
    z-index: -1;
}
#lineup .products-box figure{
    text-align: center;
    margin: 1em auto;
}
#lineup .products-box figure.item-arrange,
#lineup .products-box.set-item figure{
    position: relative;
    /*top: -30px;*/
    margin: 0 auto;
    width: 100%;
}
#lineup .products-box figure.item-arrange img,
#lineup .products-box.set-item figure img{
    width: 60%;
    max-width: 210px;
    border-radius: 16px;
}
.product-information{
    padding: 1em 0;
    position: relative;
}
#lineup .products-box .product-information figure{
    position: absolute;
    margin: 0;
    top: 1em;
    left: 0vw;
    width: 32%;
    max-width: 125px;
}
.product-information figure img{
    height: 90%;
    max-height: 85px;
    rotate: -25deg;
    filter: drop-shadow(2px 4px 2px #BBB);
}
.product-information table{
    border: 1px solid #c4c4c4;
    text-align: left;
    width: 100%;
    border-radius: 10px;
    border-collapse: separate;
    background-color: #FFFFFF;
}
.product-information table tr th{
    border-right: 1px solid #c4c4c4;
}
.product-information th{
    padding: 0.5em 0.5em 0.45em;
    width: 35%;
}
.product-information td{
    width: 30%;
    letter-spacing: 0.12em;
    padding-top: 2px;
    padding-left: 0.5rem;
}

.products-box .button-area{
    display: flex;
    justify-content: space-evenly;
    margin-top: 1em;
    padding-bottom: 60px;
    column-gap: 1em;
}
.products-box .button-area .to_purchase,
.products-box .button-area .to_product-detail  {
    border-radius: 9999px;
    border-color: #FFFFFF;
    padding: 10px 2% 12px;
    outline: 3px solid #FFF;
    letter-spacing: 0.08em;
    position: relative;
    font-weight: 500;
    font-size: 17px;
    width: 100%;
    height: 45px;
    text-align: center;
    line-height: 2.5;
    background-color: #ed6f00;
}
.products-box .button-area .to_product-detail {
    background-color: #30aaba;
}

.products-box .button-area .to_purchase a,
.products-box .button-area .to_product-detail a {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
}
.products-box .button-area a:hover {
    text-decoration: none;
    opacity: 0.6;
    background-color: #fff;
}
.products-box .button-area .to_purchase a:hover {
    color: #ed6f00;
}
.products-box .button-area .to_product-detail a:hover {
    color: #30aaba;
}


/*------------------ Recommend ------------------------*/

section#Recommend{
    padding-bottom: 0;
}
#Recommend .main-contents{
    position: relative;
    width: 80vw;
    height: auto;
    margin-top: 20VW;
    background: url(../images/back_dot.png) no-repeat center;
    background-size: cover;
    border-radius: 2vw;
    padding-bottom: 10vw;
    max-width: 1400px;
}
#Recommend .back-image-dot{
    position: absolute;
    top: ;
    width: 100%;
}
#Recommend .back-image-dot img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
#Recommend .desc_features{
    position: absolute;
    display: flex;
    justify-content: flex-start;
    flex-direction: row-reverse;
    column-gap: 1em;
    z-index: 5;
    right: 15vw;
    top: 6vw;
    margin: 0;
    width: fit-content;
    height: auto;
}

#Recommend .desc_features p{
    position:static;
    height: fit-content;
}

#Recommend .bubble-images{
    position: relative;
    z-index: 3;
}
#Recommend .main-contents .bubble-images::before{
    content: "";
    display: block;
    padding-top: 100%;
}

#Recommend .bubble-images figure{
    position: absolute;
    height: auto;
}
#Recommend .bubble-images figure img{
    width: 100%;
}
@media print, screen and (min-width: 768px) {
#Recommend .bubble-images .present-to-friend{
    top:25%;
    left: 50%;
    transform: translateX(-50%);
    width: 25vw;
}
#Recommend .bubble-images .me-time{
    top: 40%;
    left: 10%;
    width: 18vw;
}
#Recommend .bubble-images .lunchbox{
    top: 43%;
    right: 5%;
    width: 21vw;
}
#Recommend .bubble-images .busy-time{
    top: 65%;
    left: 10%;
    width: 35vw;
}
#Recommend .bubble-images .present-to-parent{
    top: 75%;
    right: 5%;
    width: 25vw;
}
#Recommend .bubble-images .relax{
    top: 56%;
    left: 40vw;
    width: 12vw;
/*    opacity: 0.8;*/
}
}
/*------------------ grid/flex ------------------------*/

.desc_contents_box .title_box{
    display: grid;
    /*grid-template-columns: 1fr 1fr;*/
    grid-template-rows: max-content 1fr;
    gap: 0 1vw;
    justify-items: center;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    margin: 80px auto;
}

.desc_contents_box .title_box figure:first-child{
    grid-column: 1 / 2 ;
    grid-row: 1 / 2;
    max-width: 400px;
}

.desc_contents_box .title_box .desc_contents-title{
    grid-column: 1 / 2 ;
    grid-row: 2 / 3;
    font-size: 30px;
    line-height: 2.2em;
}

.desc_contents_box .title_box figure:last-child{
    grid-column: 2 / 3 ;
    grid-row: 1 / 3;
    max-width: 550px;
}

.desc_content{
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: max-content 1fr;
    gap: 20px;
    justify-items: center;
    align-items: start;
    margin: 80px auto;
}

.desc_point-contents{
    position: relative;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: baseline;
}

.desc_point-contents [class^="point0"]{
    position: relative;
    display: grid;
    grid-template-rows: max-content 1fr;
    gap: 0.8em;
    padding: 20px;
    padding-top: 90px;
    flex: 1;
    justify-items: center;
}

.desc_point-contents .point1{
    border-right: 1px solid #d7dbe7;
}

.desc_point-contents .point3{
    border-left: 1px solid #d7dbe7;
}
/*
.situation_contents-box{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;

}

.situation_contents-box figure{
    margin: 0;
    margin-right: -50px;
    z-index: 5;
}
*/

.situation_contents-box{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.situation_contents-box.area01 {
    margin-top: -80px;
}
.situation_contents-box.area03 {
    margin-bottom: -200px;
}
.situation_contents-box.area02{
    flex-direction: row-reverse;
    margin: 3em 0 4em 0;
}
.situation_contents-box .image-area{
}
.situation_contents-box .image-area .image-box{
    position: relative;
}
.situation_contents-box .image-area .image-box img{
    width: 100%;
    max-width: 400px;
}
.situation_contents-box .image-area .image-box .situation-img{
    position: relative;
    z-index: 2;
}
.situation_contents-box.area02 .image-area .image-box .situation-img{
    z-index: 0;
}
.situation_contents-box .image-area .image-box .people-illust{
    position: absolute;
    top: 35%;
    right: -2vw;
    width: 35%;
    z-index: 5;
    margin: 0;
}
.situation_contents-box.area02 .image-area .image-box .people-illust{
    left: -1vw
}
.situation_contents-box .situation_text-box{
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    padding: 35px;
    position: relative;
    width: fit-content;
    margin-left: -2vw;
    z-index: 1;
}
.situation_contents-box.area01 .situation_text-box{
    background-image: url(../images/balloon_01.svg);
}
.situation_contents-box.area02 .situation_text-box{
    background-image: url(../images/balloon_02.svg);
    margin-left: 0;
    margin-right: -1.5vw;
}
.situation_contents-box.area03 .situation_text-box{
    background-image: url(../images/balloon_03.svg);
}

.situation_text-box .situation_text{
    padding: 5em;
}

.situation_contents-box .situation_text-box .situation_text p{
    line-height: 2em;
    font-size: clamp(1.125rem, 1.098rem + 0.14vw, 1.25rem);
}

.products-box{
    position: relative;
    width: 100%;
    display: flex;
    /*grid-template-columns: repeat(auto-fit, 30%);*/
    gap: 10vw 5vw;
    justify-content: center;
    flex-wrap: wrap;
    margin: 100px auto;
}
/*
.products-box .item01{
    grid-area: item1;
}
.products-box .item02{
    grid-area: item2;
}
.products-box .item03{
    grid-area: item3;
}
*/
.products-box.set-item{
}

.products-box .order::before{
    content: "受注生産限定";
    font-size: 70%;
    color: #cf7713;
    display: block;
    margin-top: -0.8em;
    margin-bottom: 0.3em;
}



/* ---------------------------------------------
	table
--------------------------------------------- 
table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    table-layout: fixed;
    color: #000;
}
table thead{
    border-bottom: 2px solid #007bad;
}
table tr:last-child{
 border-bottom: none
}
table th,
table td {
    padding: 4px 10px 3px;
    border-right: 1px solid #bbb;
    font-size: 13px;
}

table th:last-child,
table td:last-child{
    border: none;
}
tbody th {
    color: #007bad;
}

*/

/*-------------------------------------------------------------------------
		エフェクト
--------------------------------------------------------------------------*/
.effect dt {
  transition: 1.2s;
  -webkit-transition:  1.2s;
} 
.effect dd {
  transition: 1.2s;
  -webkit-transition:  1.2s;
  transition-delay: .2s;
  -webkit-transition-delay:  .2s;
}
.effect-fade {
    opacity: 0; 
    -webkit-transition: all 1.8s ease; 
    transition: all 1.8s ease;
}
.effect-fade.active{
    opacity: 1; 
    -webkit-transform: translate3d(0, 0, 0); 
    transform: translate3d(0, 0, 0);
}
.flash {
    animation: flash 1s linear infinite;
}

.effect-kurukuru.active{
    animation: kurukuru 0.2s linear infinite;
    -webkit-animation: kurukuru 0.2s linear infinite;
    animation-iteration-count: 2;
}
@keyframes kurukuru {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

.effect-kuru {
    animation: kuru 0.5s linear infinite;
    -webkit-animation: kuru 0.5s linear infinite;
    animation-iteration-count: 4;
}
@keyframes kuru {
  0%   { transform: rotateY(0deg); }
  50%  { transform: rotateY(180deg); }

}


.effect-swing {
    animation: 3s ease 0s normal none infinite swing;
    transform-origin: center top;
    -moz-animation: 3s ease 0s normal none infinite swing;
    -moz-transform-origin: center top;
    -webkit-animation:swing 3s infinite ease-in-out;
    -webkit-transform-origin:top;
    -ms-animation:swing 3s infinite ease-in-out;
    -ms-transform-origin:top;
}
@-moz-keyframes swing{
    0%{-moz-transform:rotate(-3deg)}
    50%{-moz-transform:rotate(3deg)}
    100%{-moz-transform:rotate(-3deg)}
}
@-webkit-keyframes swing{
    0%{-webkit-transform:rotate(-3deg)}
    50%{-webkit-transform:rotate(3deg)}
    100%{-webkit-transform:rotate(-3deg)}
}
@-ms-keyframes swing{
    0%{-ms-transform:rotate(-3deg)}
    50%{-ms-transform:rotate(3deg)}
    100%{-ms-transform:rotate(-3deg)}
}

.item {
    opacity: 0;
}
@-webkit-keyframes item_fade {
  100% {
    opacity: 1;
}
}
@keyframes item_fad {
  100% {
    opacity: 1;
}
}
.text-focus-in {
    opacity: 0;
}
.text-focus-in.active {
    -webkit-animation: text-focus-in 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
    animation: text-focus-in 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
}
100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
}
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
}
100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
}
}
.effect-buruburu.active {
    display: block;
    animation: hurueru .3s  infinite;
    animation-iteration-count: 3;
}
@keyframes hurueru {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    25% {transform: translate(2px, 2px) rotateZ(1deg)}
    50% {transform: translate(0px, 2px) rotateZ(0deg)}
    75% {transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}
@-webkit-keyframes hurueru {
    0% {-webkit-transform: translate(0px, 0px) rotateZ(0deg)}
    25% {-webkit-transform: translate(2px, 2px) rotateZ(1deg)}
    50% {-webkit-transform: translate(0px, 2px) rotateZ(0deg)}
    75% {-webkit-transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {-webkit-transform: translate(0px, 0px) rotateZ(0deg)}
}

.effect-poyon.active {
  animation: poyon 1.1s linear 0s 1;
  -webkit-animation: poyon 1.1s linear 0s 1;
}

@keyframes poyon {
  0%   { transform: scale(0.8, 1.4) translate(0%, -100%); }
  10%  { transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  70%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@-webkit-keyframes poyon {
  0%   { -webkit-transform: scale(0.8, 1.4) translate(0%, -100%); }
  10%  { -webkit-transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { -webkit-transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { -webkit-transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { -webkit-transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { -webkit-transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
  70%  { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}

@keyframes flash {
  0% {opacity: 1;}
  50% {opacity: 0;}
  100% {opacity: 1;}
}


.marker.active{
    background-position: -100% .5em;
}
.marker {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(247, 212, 203) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(247, 212, 203) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(247, 212, 203) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(247, 212, 203) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(247, 212, 203) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 1.8s ease;
    font-weight: bold;
}
/*-------------------------------------------------------------------------
		header
--------------------------------------------------------------------------*/
header {
    position: relative;
    margin-bottom: -65vh;
}
@media only screen and (max-width: 1700px) {
    header {
        margin-bottom: -50vh;
    }
}
@media only screen and (max-width: 1500px) {
    header {
        margin-bottom: -32vh;
    }
}
header .tente {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: "";
    display: block;
    width: 100%;
    height: 30vh;
    background-color: #00627d;
    background: linear-gradient(to bottom right, #00627C 50%, #fff0 50%) no-repeat top left/50% 100%, linear-gradient(to bottom left, #0b9fc8 50%, #fff0 50%) no-repeat top right/50% 100%;
}
/*
header .triangle-left {
    border-top: 0 solid transparent;
    border-bottom: 27vh solid transparent;
    border-left: 50vw solid #00627d;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
}
header .triangle-right {
    border-top: 0 solid transparent;
    border-right: 50vw solid #0b9fc8;
    border-bottom: 30vh solid transparent;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 99;
}*/

header .head_text {
    position: absolute;
    left: 0;
    top: 0;
    width: 560px;
    height: 350px;
    display: block;
    z-index: 1;
    right: 0;
    margin: auto;
    text-align: center;
    bottom: 0;
}
header .inner {
    width: 250px;
    position: absolute;
    top: 2vh;
    right: 2vw;
    z-index: 1;
    color: #fff;
}
header .inner > span {
    font-family: auto;
    font-weight: bold;
    padding-right: 1vw;
}
/*
span.fab {
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    font-size: 22px;
    color: #00627d;
    line-height: 34px;
    text-indent: 5px;
    margin-right: 0.5vw;
}
span.fab.fa-facebook-f {
    text-indent: 12px;
}
span.fab.fa-youtube {
    text-indent: 3.5px;
}
span.fab.fa-instagram {
    text-indent: 6.5px;
}*/
header .inner span.fab {
    margin-right: 0.2vw;
    color: #0b9fc8;
}

.slick-slide {
    /*margin-top: -10vh;*/
    z-index:0;
}
.slick-slider .img {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 100vh;
}
.slick-slider.slick-initialized{
    animation-name: fade-in1;
    animation-duration: 0.5s; 
    animation-timing-function: ease-out;
    animation-delay: 0.1s;
    animation-iteration-count: 1; 
    animation-direction: normal; 
    animation-fill-mode: forwards; 
}
#sp-icon {
    position: fixed;
    right: 2.5vw;
    width: 40px;
    height: 28px;
    display: inline-block;
    color: #fff;
    line-height: 0;
    top: 2.25vh;
    z-index: 9999;
}
#sp-icon:hover {
    cursor: pointer;
    opacity: 0.7;
}
#sp-icon span,
#sp-icon span:before,
#sp-icon span:after {
    display: inline-block;
    width: 40px;
    height: 4px;
    background: #fff;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.3s;
    border-radius: 4px;
    box-shadow: 0px 0px 4px -1px rgb(0 0 0 / 80%);
    -moz-box-shadow: 0px 0px 4px -1px rgb(0 0 0 / 80%);
    -webkit-box-shadow: 0px 0px 4px -1px rgb(0 0 0 / 80%);
    -o-box-shadow: 0px 0px 4px -1px rgb(0 0 0 / 80%);
    -ms-box-shadow: 0px 0px 4px -1px rgb(0 0 0 / 80%);
}

#sp-icon span {
    left: 50%;
    top: 50%;
    transform: translate( -50%, -50% );

}

#sp-icon span:before {
    content: "";
    transform: translateY( -10px ) rotate( 0deg );
}

#sp-icon span:after {
    content: "";
    transform: translateY( 10px ) rotate( 0deg );
}


.sp-open span {
    background: transparent !important;
    box-shadow: none !important;
}

.sp-open span:before {
    transform: rotate( 45deg ) !important;
}

div.sp-open span:after {
    transform: rotate( -45deg ) !important;
}

/*-------------------------------------------------------------------------
		mainImages
--------------------------------------------------------------------------*/
#main {


}
@keyframes fade-in1 {
    0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}



/*-------------------------------------------------------------------------
		共通項目CSS
--------------------------------------------------------------------------*/

figure {
    margin: auto;
}
.f-left {
    float: left;
    width: 49%;
    margin-left: 1%;
}
.f-right {
    float: right;
    width: 50%;
}
.title01 {
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    text-shadow: 2px  2px 2px #4b3223,
    -2px  2px 2px #4b3223,
    2px -2px 2px #4b3223,
    -2px -2px 2px #4b3223,
    2px  0px 2px #4b3223,
    0px  2px 2px #4b3223,
    -2px  0px 2px #4b3223,
    0px -2px 2px #7f4600; 
    font-family: Noto sans-serif;
}


h2 {
    font-size: 2.2rem;
}
h2 span.title01 {
    display: block;
    font-size: 2rem;
    padding-left: 6px;
}
h3 {
    font-size: 1.8rem;
    color: #4b3223;
    margin: 1vh auto 2vh;
}
h3 span.title01 {
    display: block;
    font-size: 1.6rem;
    padding-left: 6px;
}


/*-------------------------------------------------------------------------
		バナー
--------------------------------------------------------------------------*/
#bnr {
    background-color:  #fff;
}
.bnr_body {
    max-width: 1400px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 2vw;
    row-gap: 3vh;
    padding: 6vh 0;
}
.bnr_body img {
    width: 100%;
    background-color: #fff;
    border: 1px solid #e3e3e3;
}



/*-------------------------------------------------------------------------
		footer
--------------------------------------------------------------------------*/

footer {
    background-color: #573624;
    padding: 4vh 0 1vh;
    color: #fff;
    width: 100%;
}
.footer_inner {
    margin: auto;
    width: 95%;
    position: relative;
}

.footer_inner .footer_logo{
    padding-right: 3.5vw;
    margin-bottom: 70px;
}
.footer_inner .footer_logo a img{
    height: 5vw;
    max-height: 40px;
}
.footer_inner p {
    color: #00556d;
}
ul.footer_link {
    margin: 0.5vh auto 1vh;
    letter-spacing: 0.08em;
}
footer li {
    position: relative;
    float: left;
    margin-right: 2vw;
}
footer li a {
    font-size: 13px;
    text-decoration: none;
    color: #fff;
}
footer li a:hover {
    color: #e89a35;
}
footer li i {
    padding-left: 0.3vw;
}
.footer_sns {
    width: auto;
    text-align: right;
}

.footer_sns span.fab {
    text-align: center;
    position: relative;
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    font-size: 22px;
    color: #573624;
    line-height: 34px;
    text-indent: 1px;
    margin-right: 0.5vw;
}
.footer_sns span.fab::before {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 28px;
}
.footer_sns span.fab.fa-facebook-f,
.footer_sns span.fab.fa-instagram {
    text-indent: 0px;
}
.footer_sns span.fab.fa-youtube {
    text-indent: 1.5px;
}

.gotop {
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 80px;
    right: 10px;
    background: #ed6f00;
    opacity: 0.95;
    border-radius: 50%;
    z-index: 9999;
    border: 1px solid rgba(255,255,255,0.35);
}
.gotop a{
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
}
.gotop a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f062';
    font-size: 30px;
    color: #fff;
    position: absolute;
    width: 28px;
    height: 35px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
.copyright {
    font-size: 0.55rem;
    letter-spacing: 0.15em;
    text-align: right;
    margin: 1vh auto 0;
    width: 97%;
    color: hwb(0deg 100% 0% / 60%);
}
.copyright small {
    font-size: 10px !important;
}



/*-------------------------------------------------------------------------
		IE対応
--------------------------------------------------------------------------*/

_:-ms-lang(x)::-ms-backdrop, body {
  .bnr_body > div {
  	float: left;
  	width: 32%;
  	margin-right: 1%;
  	margin-bottom: 3vh;
  }
  header .tente {
  	display: none;
  }
  .product_list {
  	display: block;
  }
  .product_list > div {
  	float: left;
  	width: 32%;
  	margin-right: 1%;
  	margin-bottom: 3vh;
  }
}

@media all and (-ms-high-contrast:none) {
  .bnr_body > div {
  	float: left;
  	width: 32%;
  	margin-right: 1%;
  	margin-bottom: 3vh;
  }
  header .tente {
  	display: none;
  }
  .product_list {
  	display: block;
  }
  .product_list > div {
  	float: left;
  	width: 32%;
  	margin-right: 1%;
  	margin-bottom: 3vh;
  }
}



