@charset "utf-8";

.sourceview{
  height: 0px;
}


/*top*/
@media screen and (min-width: 768px) {
    .p-page-home {
        padding-top: 8rem;
    }
    .m-homeMainVisual__container{
        /*height: 485px;*/
        height: auto;
        aspect-ratio: 15 / 5;
    }
    .reccomend-list,
    .product-list{
        padding: 4rem 0;
    }
}
.m-homeMainVisual-slidePagination__item.swiper-pagination-bullet-active{
    background: #0c5cb3;
}
.m-homeMainVisual-slidePagination__item{
    border: 1px solid #0c5cb3;
}
.m-homeMainVisual-slideController__prev, .m-homeMainVisual-slideController__next{
    background: #0c5cb3;
}
.m-homeMainVisual-slidePagination{
    gap: 1rem;
}
@media screen and (max-width: 768px) {
    .m-homeMainVisual-slideController__prev,
    .m-homeMainVisual-slideController__next{
        width: 3rem;
        height: 3rem;
        opacity: 0.7;
    }
    .m-homeMainVisual-slideController__prev > img,
    .m-homeMainVisual-slideController__next > img{
        width: 0.6rem;
    }
    .m-homeMainVisual-slideController__prev{
        left: 0.2rem;
    }
    .m-homeMainVisual-slideController__next{
        right: 0.2rem;
    }
}


.top-banner{
	padding: 0 0 30px 0;
	text-align: center;
}
.top-banner .flex{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 30px 0;
}
.top-banner img{
	display: block;
	width: 80%;
	margin: auto;
}
.top-banner .flex a{
	display: block;
	width: 48%;
}
.top-banner .flex a img{
	width: 100%;
}
@media(max-width:768px){
	.top-banner{
		margin:0 10px;
		padding: 0;
	}
	.top-banner .wrap{
		padding: 10px 0;
	}
	.top-banner img{
		width: 100%;
	}
    .top-banner .flex{
        padding: 10px 0;
    }
	.top-banner .flex a{
		width: 100%;
		margin-bottom: 20px;
	}
}

/*おすすめ*/
.productBox ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.productBox ul li{
    width: 48%;
    height: 100%;
    margin-bottom: 20px;
}
.productBox ul li a{
    position: relative;
    display: block;
    height: 100%;
    border: 1px solid #e3e3e3;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px 20px 20px;
    background: url(/assets/img/common/arrow.png) no-repeat 98% center/20px;
}

.productBox ul li a:hover{ opacity:0.7}
.productBox ul li.lkm a:before{
	content:'';
	width:62px;
	height:58px;
	background:url(/assets/img/common/lkmmark.png) no-repeat left top/100%;
	position:absolute;
	left:0;
	top:0;
	z-index:10
}
.productBox ul li.teiki a:before{
	content:'';
	width:62px;
	height:58px;
	background:url(/assets/img/common/mark_teiki.png) no-repeat;
	position:absolute;
	left:0;
	top:0;
	z-index:10
}


.productBox ul.top-reccomend li img{
    width: 30%;
    aspect-ratio: 1/1;
    object-fit: contain;
}
.productBox  ul li div{ 
    width:65%; 
    font-size:16px
}
.productBox  ul li div h3{ 
    font-size:18px; 
    /*padding:0 0 10px 0; */
    margin-bottom: 10px;
    line-height:1.4em; 
    font-weight:normal;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 4rem;
}
.productBox ul li div h3.oneline{
    height: 1.6rem;
}
.productBox ul li div p{ 
    line-height:1.4em; 
    padding:0
}
@media screen and (max-width: 767px) {
    .productBox ul.top-reccomend li{
        width: 100%;
    }
}

.c-product-sIcon__item{
    width: 54px;
}

.c-product .c-product-head__status{
    bottom: auto;
    top: 0;
    left: -15px;
}
.c-product .c-product-head__status .c-sIcon{
    font-size: 14px;
    display: block;
    text-align: center;
    padding: 0.4rem 0rem;
}

.productBox#plist ul li.lkm a:before{
    width: 50px;
}

	.productBox#plist ul li{
        width: 32%;
    }
	.productBox#plist ul li a{
        padding: 10px 20px 10px 10px;
        box-sizing:border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: url(/assets/img/common/arrow.png) no-repeat 98% center/10px;
    }
	.productBox#plist ul li img{ padding-top:0; width:25%;}
	.productBox#plist ul li div{ width:65%}
	.productBox#plist ul li h3{ padding-top: 10px;}

  .m-productLine__item {
    border: 1px solid #ccc;
  }
@media screen and (max-width: 1099px) {
    .p-productListBody{
        padding: 0;
    }
    .c-product .c-product-head__status{
        left: -10px;
    }
    .m-productLine {
        display: flex;
        flex-wrap: wrap;
        gap: 1.6rem 0;
        justify-content: space-between;
    }
    .m-productLine__item {
        width: 49%;
        position: relative;
        padding: 0 10px;
    }
    .c-typeListProduct-skuList-item__btnList{
        width: auto;
    }
    .c-typeListProduct-skuList-item__btnList-btn{
        padding-bottom: 10px;
    }

    .productBox#plist ul li{
        width: 100%;
        position: relative;
    }
}

/*TOPバナー*/

#contentsList{ background:#efefef; padding: 60px 0; margin-top: 60px;}
#contentsList .wrap{ padding:20px 0 60px 0}
#contentsList h2{ background:url(/assets/img/common/contents_ic.png) no-repeat left center;}
#contentsList .bottomBan { padding:0px 0 20px 0;}
#contentsList .bottomBan a:last-child img{ padding-right:0px;}
#contentsList .bottomBan a:hover{ opacity:0.7}


#contentsList .bottomBan{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
  }
  #contentsList .bottomBan > a{
	display: block;
	width: 32%;
  }
  #bannerBox .rightBan img,
  #contentsList .bottomBan > a > img{
	width: 100%;
  }

@media (max-width: 1120px) {
    #contentsList .bottomBan > a{
	  width: 100%;
	}
}

@media screen and (max-width: 767px) {
    #contentsList { padding:10px}
	#contentsList .bottomBan{ padding:10px 0}
	#contentsList .bottomBan a img{ width:100%; padding-right:0; padding-bottom:10px}
	#contentsList .bottomBan > a{
		width: 100%;
	}
}


.calendarbanner{
	padding: 60px 0 0 0;
}
.calendarbanner .wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.calendarbanner .wrap div{
	text-align: center;
}
.calendarbanner div.calendar{
	width: 48%;
}
.calendarbanner div.calendar img{
	width: 80%;
}
.calendarbanner div.banner{
	width: 48%;
	padding-top:10px;
}
.calendarbanner div.banner img{
	width: 95%;
}
.calendarbanner div.banner a:hover{
	opacity: 0.7;
}
.calendarbanner.three div.calendar{
	width: 32%;
}
.calendarbanner.three div.calendar img{
	width: 100%;
}
.calendarbanner.three div.banner{
	width: 32%;
}
.calendarbanner.three div.banner img{
	width: 100%;
}

@media(max-width:767px){
	.calendarbanner{
		padding: 20px 0;
	}
	.calendarbanner div.calendar,
	.calendarbanner div.banner,
	.calendarbanner.three div.calendar,
	.calendarbanner.three div.banner{
		width: 100%;
	}
	.calendarbanner div.calendar img,
	.calendarbanner div.banner img,
	.calendarbanner.three div.calendar,
	.calendarbanner.three div.banner{
		width: 90%;
		margin: auto;
		display: block;
	}
	.calendarbanner.three div.banner{
		margin-top: -30px;
	}
	.calendarbanner.three div.calendar img{
		margin-bottom: 20px;
	}
}

/*news*/
.p-homeNewsList a{
  text-decoration: underline;
  color: #0c5cb3;
}
@media screen and (min-width: 768px) {
    .p-homeNewsList-body {
        align-items: flex-start;
    }
}


/*FB、バナー*/
#bannerBox{ 
    background:#efefef;
    margin-top: 60px;
}
#bannerBox .flex{
    display: flex;
    justify-content: space-between;
    max-width: 100rem;
    padding: 40px 2rem;
    margin: auto;
}
#bannerBox .fb{ width:60%; height:360px}
#bannerBox .rightBan{  width:35%}
#bannerBox .rightBan img{ padding-bottom:18px}
#bannerBox .bottomBan { padding:20px 0; clear:both}
#bannerBox .bottomBan a img{ padding-right:28px;}
#bannerBox .bottomBan a:last-child img{ padding-right:0px;}
#bannerBox .rightBan a:hover,
#bannerBox .bottomBan a:hover{ opacity:0.7}


@media(max-width:768px){
	#bannerBox .fb,
	#bannerBox .rightBan{ width:auto; margin:10px 10px 0 10px; float:none}
	#bannerBox .rightBan img{ width:100%; padding-bottom:10px}
	#bannerBox .bottomBan{ width:auto; margin:0 10px 10px; padding:0}
	#bannerBox .bottomBan img{ width:100%; padding-right:0; margin-bottom:10px}
}


/*左ナビ*/
.m-productNavTitleList{
    border: none;
}
.m-productNavTitleList__title{
    background: #0c5cb3;
    color: white;
    padding: 10px;
}
.m-productNavList-category{
    border-bottom: 1px dotted #ccc;
}
.m-productNavList-category__link{
    padding: 1.5rem 0rem 1.5rem 1.5rem;
    background: url(/assets/img/common/arrow.png) no-repeat center left/10px;
}

/*商品一覧*/

    .c-product-body__title-name {
        font-size: 1.4rem;
    }
.c-btn-fluid{
  padding: 1.3rem 0;
}

@media screen and (min-width: 1080px) {
    .m-productLine__item {
        width: calc(33.3333% - 1.3466666667rem);
        padding: 0 15px 15px;
        border: 1px solid #eeeeee;
    }
        .c-product-body__title-name {
        font-size: 1.6rem;
    }
}
.c-typeListProduct-skuList-item__btnList{
    display: flex;
    justify-content: space-between;
    gap: 0;
    width: 100%;
    max-width: none;
}
.c-typeListProduct-skuList-item__btnList-btn {
    width: 100%;
}
.c-typeListProduct-skuList-item__btnList-btn .c-btn-fluid,
.m-modalBoxSet__btn .c-btn-fluid{
    background-color: #0c5cb3;
    border-color: #0c5cb3;
}
.c-typeListProduct-skuList-item__btnList-btn .c-btn-fluid--gray-border{
    background: white;
    border-color: #7C7C7C;
}
.c-typeListProduct-skuList-item__btnList-btn .c-btn-fluid--gray-border{

}
@media screen and (min-width: 768px) {
    .c-typeListProduct-skuList-item__btnList-btn {
        width: 49%;
    }
}

.c-btn-fluid--gray-border{

}
.c-product-body__price-subscPromotion{
    width: 100%;
    margin-top: -0.5rem;
}
.c-productUser-sIcon__item > img{
    width: 44px;
}



@media screen and (min-width: 768px) {
    .c-product-body__price {
        display: flex;
        gap: 1rem;
        padding: 10px 0;
        flex-wrap: wrap;
    }
}
.c-product-body__price-subsc-price{
    color: inherit;
}

/*商品詳細*/
.m-productStockStatus{
  display: none;
}
.p-productDetaiMain-body{
  padding: 0 1.5rem .5rem;
}

.p-productDetaiMain-guideTabBox-detailText__title{
  display: none;
}
@media screen and (min-width: 992px) {
    .p-productDetailWrap {
        grid-template-columns: 40% 51.6666666667%;
    }
    .p-productDetaiMain-guideTabBox-detailText__text{
      padding-left: 0;
    }
}
.lead{
  padding-top: 1rem;
}
.m-productDetailImg__thums{
    display: none;
}
.p-productSkuBottomBtn__favorit{
    display: none;
}
ul.p-productSkuBottomBtn li.p-productSkuBottomBtn__cart:nth-of-type(1) .c-btn-cart{
    background-color: #0c5cb3;
    border: none;
}
ul.p-productSkuBottomBtn li.p-productSkuBottomBtn__cart:nth-of-type(2) .c-btn-cart{
    background-color: #ffae00;
    border: none;
}
.c-product-body__price-subsc--regular,
.p-productListModalMain-subsc--regular,
.p-productDetaiMain-subsc--regular,
.p-productDetaiMain-subsc--regular .p-productDetaiMain-subsc__price-tax{
    color: inherit;
}
.m-productSkuDropdown{
    padding-top: 0;
    border: none;
}
.p-productDetaiMain-head__title-name{
    font-size: 2.5rem;
}
.m-productSkuDropdown-buyStep + .m-productSkuDropdown-buyStep{
    margin-top: 1rem;
}
@media screen and (min-width: 768px) {
    .p-productSkuBottomBtn {
        margin-top: 1rem;
    }
    .p-productDetaiMain-head {
        padding: 0 0 2.6rem;
    }
}

@media screen and (min-width: 768px) {
    .p-productDetaiMain-body {
        padding: 0 0 1.6rem;
    }
}

/* ==== clearfix ==== */
.clearfix:after {content: "."; display: block; clear: both; height: 0; visibility: hidden;}
.clearfix { min-height: 1px;}

.product{
    max-width: 900px;
    margin: auto;
    padding: 40px 0;
}

@media(max-width:767px){
    .product{
        padding: 20px 0;
    }
}

@media screen and (min-width: 768px) {
    .p-productSkuBottomBtn .c-btn-cart {
        min-height: 2.4rem;
        padding: 1.6rem 1rem 1.6rem;
        border-radius: 0.5rem;
        font-size: 1.6rem;
    }
}


@media screen and (min-width: 768px) {
    .p-productSkuBottomBtn__cart {
        width: 22rem;
    }
}

p.leadtext{ font-size:18px; padding:0px 0 10px 0; line-height: 1.4em;}

table{ border:1px solid #ccc; border-collapse:collapse; width:100%; margin-bottom:10px; margin-top: 20px;}
table th{ padding:10px; background:#efefef; border-right:1px dotted #ccc; border-bottom:1px dotted #ccc}
table td{ padding:10px; border-right:1px dotted #ccc; border-bottom:1px dotted #ccc}


table.itemData { margin-top:10px}
table.itemData th{ white-space:nowrap}

table.itemData,
table.itemDetail { border:1px solid #ccc; border-collapse:collapse; width:100%; margin-bottom:10px}
table.itemData th,
table.itemDetail th{ padding:10px; background:#efefef; border-right:1px dotted #ccc; border-bottom:1px dotted #ccc}
table.itemData td,
table.itemDetail td{ padding:10px; border-right:1px dotted #ccc; border-bottom:1px dotted #ccc}


@media(max-width:767px){
    table.itemData th,
	table.itemDetail th,
	table.itemData td,
	table.itemDetail td{ display:block;}
	table.itemDetail tr:nth-child(1){display:block; float:left; width:30%;}
	table.itemDetail tr:nth-child(2){display:block; float:right; width:70%;}
	table.itemDetail td br{ display:none}
	table.itemData th{border-right:none}
	table.itemDetail th:last-child,
	table.itemData td:last-child,
	table.itemDetail td:last-child{ border-bottom:none; border-right:none}
	table.itemDetail th,
	table.itemDetail td{border-right:none; white-space:nowrap}
}

/*lkmスティック*/
.p-productDetaiMain-guideTabBox-detailText__text a{
    color: #0c5cb3;
    text-decoration: underline;
    font-weight: bold;
}
.p-productDetaiMain-guideTabBox-detailText__text a:hover{
    opacity: 0.7;
}
.exp>img{
    display: block;
    margin: auto;
}
.exp .doctor{ padding:10px 0; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap;}
.exp .doctor h4{ background:#9cca45; margin:0 0 10px 0; padding:5px 10px; color:white; width: 100%;}
.exp .doctor h4.onaka{ background:#8fd7ef}
.exp .doctor h4.tanekin{ background:#ff807e}
.exp .doctor img.ph{ width: 30%;}
.exp .doctor div.txt{ width:68%; clear: both;}
.exp .doctor div p{ line-height:1.8em}
.exp .doctor div div{ text-align:right; padding:5px 0}
.exp .doctor img.phs{ padding-left:10px; vertical-align:top; float:right}


.orderbt{
    text-align: center;
}
.orderbt a img{
    margin: 20px auto;
    max-height: 80px;
}

div.exp-img img{
    width: 100%;
}

.exp .interview{ padding:20px 0}
.exp .interview h4{ background:none; margin:0; padding:0 0 10px 0}
.exp .interview h4 img{
    width: 100%;
}
.exp .interview .interviewBox{ 
    background:url(/assets/img/common/meitokaryu_interview_top.gif) no-repeat left top/100%; 
    padding-top:24px; max-width:800px; margin-bottom:15px;
}
.exp .interview .interviewBoxIn{ 
    background:url(/assets/img/common/meitokaryu_interview_middle.gif) no-repeat left bottom; 
    padding:10px 10px 15px 15px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    clear: both;
    flex-wrap: wrap;
}
.exp .interview .interviewBoxIn img.ph{width: 30%;}
.exp .interview .interviewBoxIn div.txt{ width:68%;}
.exp .interview .interviewBoxIn div p{ line-height:1.8em}
.exp .interview .interviewBoxIn div div{ text-align:right; padding:5px 0}
.exp .interview .interviewBoxIn img.phs{ padding-left:10px; vertical-align:top; float:right}
.exp .interview p.alignRight{ text-align:right}

@media(max-width:767px){
    .exp .interview .interviewBoxIn img.ph{width: 60%; display: block; margin: 10px auto;}
.exp .interview .interviewBoxIn div.txt{ width:100%;}
.exp .doctor img.ph{ width: 60%; display: block; margin: 10px auto;}
.exp .doctor div.txt{ width:100%;}
}

.xc_productName{
    font-size: 18px;
    border-bottom: 1px solid #ccc;
    display: block;
    margin-bottom: 20px;
}
.p-productDetaiMain-guideTabBox-detailText__text h4 {
    font-size: 16px;
    padding-top: 10px;
    font-weight: bold;
}

/*review*/

/*iframe*/
.review{
	padding:0 0 40px 0;
	position: relative;
	margin-bottom: 20px;
}
#reviews h3{
	background: #9cca45;
    margin: 0 0 10px 0;
    padding: 5px 10px;
    color: white;
	font-size: 16px;
}

.review a{
	display: block;
	width: 15em;
	padding: 10px;
	background: #0c5cb3;
	color: white;
	margin: 10px auto;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 200;
}
.review iframe#review{
	width: 100%!important;
	border: none;
	height: 400px!important;
	position: relative;
	z-index: 10;
}
.review::after{
	content: "";
	display: block;
	width: 100%;
	height: 80px;
	background: linear-gradient(365deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	position: absolute;
	bottom: 30px;
	left: 0;
	z-index: 100;
}

iframe#reviewlink{
	width: calc(100% - 30px)!important;
	border: none;
	height: 30px!important;
	z-index: 1;
	position: absolute;
	top: 5px;
	left: 20px;
	-ms-overflow-style: none;
	scrollbar-width: none;overflow: hidden;
}
iframe#reviewlink::-webkit-scrollbar{
	display: none;
}

.review-flex{
	display: flex;
	justify-content:flex-end;
	height: 40px;
    margin-top: 1rem;
}

.review-link{
	text-align: right;
	position: relative;
	width: 360px;
	-ms-overflow-style: none;
}
.review-link::-webkit-scrollbar{
	display: none;
}
.review-link a{
	display: block;
	width: 100%;
	border: 2px solid #ffae00;
	z-index: 10;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	border-radius: 40px;
}
.review-link a:after{
	content: "";
	width: 11px;
	height: 11px;
	background: url(/assets/img/common/arrow.png) no-repeat left center;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}
.review-link a:hover{
	opacity: 0.7;
}

.todokede{
	padding: 20px 0;
}
.todokede img{
	width: 100%;
}

@media(max-width:767px){
	.review-link{
		width: 100%;
	}
	.review-link a{
		height: 40px!important;
	}
	.review-flex{
		justify-content: center;
		height: 40px;
	}
	iframe#reviewlink {
		height: 40px!important;
		top: 5px;
	}
}

@media(max-width:767px){
	.review iframe#review{
		height: 400px!important;
	}
}


.review-top{
	padding: 30px 0;
}
.review-top h2{
	padding: 0;
}
.review-top .message{
	padding: 20px;
	background: #f3f3f3;
	margin-bottom: 20px;
}
.review-top iframe#review{
	width: 100%;
	border: none;
	height: 600px;
	margin-bottom: 30px;
}
.review-top a.write{
	display: block;
	width: 20em;
	padding: 10px;
	text-align:center;
	background: #0c5cb3;
	color: white;
	margin:auto;

}

@media(max-width:767px){
	.review-top iframe#review {
		height: 600px!important;
		margin-bottom: 20px;
		padding: 10px;
		box-sizing: border-box;
	}
}

.teiki_cta {
    position: fixed;
    bottom: 0;
    max-width: 712px;
    z-index: 9999;
}

.img_cta {
    width: 55%;
    margin: 0 auto;
}

.teiki_cta img {
    width: 100%;
    padding-bottom: 0 !important;
}

@media screen and (max-width: 768px) {

.img_cta {
    width: 70% !important;
    margin: 0 auto !important;
}

.teiki_cta img {
    width: 100% !important;
    padding-bottom: 0 !important;
}

}

/*血管サポート*/
        .xc_productDetailImage{display:none}

        .support{
          padding: 20px 0 40px 0;
        }
        .support .sublead{
          text-align: center;
          font-weight: bold;
          font-size: 2rem;
        }
        p.small{
          font-size: 1.2rem;
        }
        .support .check-point{
          padding: 20px 0;
        }
        .support .check-point h3{
          background:#e60012;
          color: white;
          text-align: center;
          padding: 5px 0;
          font-size: 1.8rem;
          margin-bottom: 10px;
        }
        .support .check-point h4{
          position: relative;
          background-color:#eb683e;
          color: white;
          text-align: center;
          padding: 5px 0;
          font-size: 1.6rem;
          margin-bottom: 20px;
        }
        .support .check-point h4:after{
          content: "";
          position: absolute;
          bottom: -12px;
          left: 50%;
          transform: translateX(-50%);
          display: block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 15px 10px 0 10px;
          border-color: #eb683e transparent transparent transparent;

        }
        .support .check-point h4 strong{
          color: #fdf150;
          font-size: 1.6rem;
        }
        div.flex{
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap;
        }
        .support .check-point div.flex>div{
          width: 70%;
        }
        .support .check-point div.flex> .img{
          width: 25%;
          text-align: center;
        }
        .support .check-point div.flex> .img img{
          width: 100%;
          padding-bottom: 10px;
        }
        .support .check-point h5{
          text-align: center;
          padding: 5px 0;
          font-size: 1.8rem;
          margin: 0 0 10px 0;
        }
        .support .check-point h5 strong{
          color: #c62d27;
          font-size: 2rem;
        }

        .support div.flex div.fukidashi {
          width: 75%;
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap;
          position: relative;
          background: #fff;
          border: 1px solid #ccc;
          padding: 20px;
          border-radius: 20px;
          box-sizing: border-box;
        }
        .support div.flex div.fukidashi p{
          width: 70%;
        }
        .support div.flex div.fukidashi p.small{
          width: 100%;
          text-align: right;
        }
        .support div.flex div.fukidashi img{
          width: 25%;
        }
        .support div.flex div.fukidashi:before,
        .support div.flex div.fukidashi:after {
          left: 100%;
          top: 50%;
          border: solid transparent;
          content: "";
          height: 0;
          width: 0;
          position: absolute;
          pointer-events: none;
          z-index: 100;
        }
        .support div.flex div.fukidashi:after {
          border-color: rgba(255, 255, 255, 0);
          border-left-color: #fff;
          border-width: 10px;
          margin-top: -10px;
        }
        .support div.flex div.fukidashi:before {
          border-color: rgba(204, 204, 204, 0);
          border-left-color: #ccc;
          border-width: 11px;
          margin-top: -11px;
        }
        .support div.flex div.img{
          width: 22%;
          position: relative;
        }
        .support div.flex div.img img{
          width: 100%;
        }
        .support div.flex div.img p{
          position:absolute;
          bottom: 0;
          right: 0;
          text-align: right;
        }
        @media screen and (max-width:480px) {
          .support{
            padding: 20px 15px;
          }
          .support .check-point div.flex>div{
            width: 100%;
          }
          .support .check-point div.flex> .img{
            width: 80%;
            display: block;
            margin: 10px auto;
          }
          .support div.flex{
            align-items: flex-end;
          }
          .support div.flex div.fukidashi {
            padding: 10px;
          }
          .support div.flex div.fukidashi p{
            width: 100%;
          }
          .support div.flex div.fukidashi img{
            width: 60%;
            display: block;
            margin: 10px auto;
          }
          .support div.flex div.fukidashi:before,
          .support div.flex div.fukidashi:after {
            top: 80%;
          }
          .support div.flex div.img p{
          position:relative;
          bottom: auto;
          right: auto;
        }
          
        }
.num-block{padding:20px; background:#efefef;}
.num-block span.num{
display:inline-block;
padding:3px 10px;
border:1px solid#444;
font-weight:bold;
margin-bottom:.5em;
background:white;
}

/*ポリアミンサプリ*/

.teiki_cta {
    position: fixed;
    bottom: 0;
    max-width: 712px;
    z-index: 9999;
}

.img_cta {
    width: 55%;
    margin: 0 auto;
}

.teiki_cta img {
    width: 100%;
    padding-bottom: 0 !important;
}

@media screen and (max-width: 768px) {

.img_cta {
    width: 70% !important;
    margin: 0 auto !important;
}

.teiki_cta img {
    width: 100% !important;
    padding-bottom: 0 !important;
}
}


#tokuten h2{ text-align: center}

#tokuten h2{
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 20px 0;
	position: relative;
	margin: 0 auto;
	color: #002758;
	font-size: 42px;
	background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
#tokuten h2:after, section h2:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

#tokuten h2:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-color: #ffffff;
	border-width: 10px;
	margin-left: -10px;
}
#tokuten h2:before {
	border-color: rgba(204, 204, 204, 0);
	border-top-color: #ccc;
	border-width: 11px;
	margin-left: -11px;
}
#tokuten h2 span.teiki-back{
	display: inline-block;
	margin-right: 1em;
	background: #E5005A;
	color: white;
	padding: 2px 10px;
  line-height: 1.4em;
}
#tokuten h2 strong span.seven{
	font-size: 63px;
  display: inline-block;
  line-height: 1em;
}
@media screen and (max-width: 576px){
	#tokuten h2{
		width:auto;
		border: 1px solid #ccc;
		border-radius: 10px;
		padding: 10px 0;
		margin: 0 15px;
		position: relative;
		color: #002758;
		font-size: 22px;
		background: white;
	}
}*/

/*特典*/
.marugo-r{
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;}

.marugo-b{
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;}

#tokuten{
	padding: 40px 0 40px 0;
}
.tokuten img{
	max-width: 100%;
}
.tokuten h2{
	padding: 5px 0;
	margin-bottom: 30px;
	position: relative;
	width: 80%;
}
.tokuten h2 img.osusume{
	width: 120px;
	position: absolute;
	top: -30px;
	left: 10px;
	transform: rotate(-4deg);
}
.buy.noback{
	text-align: center;
	max-width: 1140px;
	margin: auto;
	padding: 0 0px 40px 0px;
}
.buy.noback .flex{
	justify-content: center;
}
.teiki-set{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.teiki-set > div{
	width: 49%;
	aspect-ratio: 4/3.6;
	position: relative;
}
.teiki-set > div.two{
	background: url(/polyamine-supplement/common/images/course_2.png) no-repeat center bottom/100%;
}
.teiki-set > div.three{
	background: url(/polyamine-supplement/common/images/course_3.png) no-repeat center bottom/100%;
}
.teiki-set > div a.bt{
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
  margin: 0;
  color: white;
  border-radius: 60px;
    line-height: 3.2em;
    padding-top: 5px;
}
.teiki-set > div a.bt:hover{
  opacity: 0.7;
}
.teiki-set > div a.bt{
	background: url(/polyamine-supplement/common/images/button-arrow.png) no-repeat 20px center/18px;
	background-color: #002758;
  text-decoration: none;
}
.teiki-set > div a.bt strong{
	font-size: 32px;
}
 a.normal{ 
	display: block; 
	width: 40%;
  margin: auto; 
	box-sizing: border-box;
	text-align: center; 
	border-radius: 40px; 
	margin: 20px auto; 
	padding:15px;
	font-size: 18px;
	border: 1px solid #ccc;
	background:#ff8236;
	color: #fff;
  text-decoration: none;
}
.banner{
  text-align: center;
  padding-bottom: 20px;
}
.banner img{
  width: 80%;
  margin: auto;
}
.xc_productDetailImage{display:none}

@media screen and (max-width:768px)  {
	#tokuten{
	padding: 20px 0;
	}
	.tokuten h2{
		width: auto;
		box-sizing: border-box;
	}
  .tokuten h2{
    width: 100%;
  }
	section h2 strong span.seven{
		font-size: 40px;
	}
	.tokuten h2 img.osusume{
		width: 80px;
		left: -10px;
	}
  .buy.noback{
    padding: 0;
  }
	.teiki-set{
		padding: 0;
	}
	.teiki-set > div{
		width: 100%;
	}
	.teiki-set > div a.bt{
		width: 90%;
		padding: 5px 5px;
		background-position: 16px center;
		background-size: 18px;
	}
	.buy.noback .flex{
		padding: 0 15px;
	}
  .banner img{
    width: 100%;
  }
   a.normal{
    width: 80%;
   }
}

/*てつよさん*/
   .point {padding:20px 0}
    .point img{width:100%;image-rendering: -webkit-optimize-contrast;}
    .xc_productDetailImage{display:none}
    
    .tetsuyo{
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 30px 0;
    }
    
    .cat-box{ 
      margin-bottom: 30px;
      border-radius:20px;
      border-width: 5px;
      border-style: solid;
      position: relative;
    }
    
    .cat-box.point1{
      border-color: #ffa436;
      width: 100%;
    }
    .cat-box.point2{
      border-color: #fe86a2;
      width: 47%;
    }
    .cat-box.point3{
      border-color: #ffc800;
      width: 47%;
    }
    
    .cat-box span.eiyo{
      display: flex;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      color: white;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-sizing: border-box;
      padding: 15px 0;
      font-size: 1.6rem;
      line-height: 1.8rem;
      font-weight: bold;
      box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.6);
      position: absolute;
      top: -20px;
      right: -20px;
      transform: rotate(10deg);
      z-index: 5;
    }
    .cat-box span.eiyo sub{
      font-size: 0.8rem;
    }
    .cat-box.point1 span.eiyo{
      background: #ffa436;
    }
    .cat-box.point2 span.eiyo{
      background: #fe86a2;
    }
    .cat-box.point3 span.eiyo{
      background: #ffc800;
    }
    
    
    .cat-box h3{
      padding: 10px;
      text-align: left;
      box-sizing: border-box;
      border-radius: 15px 15px 0 0;
      color: white;
      font-size: 2rem;
      font-weight: bold;
      line-height: 2.2rem;
    }
    .cat-box.point1 h3{
      background: #ffa436;
    }
    .cat-box.point2 h3{
      background: #fe86a2;
    }
    .cat-box.point3 h3{
      background: #ffc800;
    }
    .cat-box .flex{
      padding: 20px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
    }
    .cat-box .flex p.check-point{
      font-size: 1.6rem;
      text-align: center;
      padding-bottom: 20px;
    }
    .cat-box .flex p.check-point span{
      display: inline-block;
      border-bottom: 2px solid red;
    }
    .cat-box .flex p.check-point span strong{
      color: red;
      font-size: 1.8rem;
      font-weight: bold;
    }
    
    .cat-box.point1 .flex .txt{
      width: 70%;
    }
    .cat-box.point1 .flex img.cut{
      width: 28%;
    }
    .cat-box.point2 .flex .txt{
      width: 100%;
    }
    .cat-box.point2 .flex img.cut{
      width: 80%;
      display: block;
      margin: 10px auto 0 auto;
    }
    .cat-box.point3 img{
      width: 90%;
      display: block;
      margin: 20px auto;
    }
    
    .tetsuyo>p.notice{
      padding: 10px 0;
      font-size: 1.2rem;
      width: 100%;
      color: inherit;
    }
    
    @media screen and (max-width:480px) {
      .cat-box.point2,
      .cat-box.point3{
        width: 100%;
      }
    
      .cat-box span.eiyo{
        right: 0;
      }
      .cat-box.point1 .flex .txt{
      width: 100%;
      }
      .cat-box.point1 .flex img.cut{
        width: 80%;
      }
    }

.tetusyo_tetsubun_banner{
	padding: 30px 0;
	text-align: center;
}
.tetusyo_tetsubun_banner img{
	max-width: 640px;
    display: block;
    margin: auto;
}
.youtube{
	margin: 20px auto;
}
.youtube iframe{
	display: block;
	width: 100%;
	height: 400px;
}

@media screen and (max-width:480px) {
	.tetusyo_tetsubun_banner img{
		max-width: 100%;
	}
	.youtube iframe{
		height: 200px;
	}
}

/*ふしぶし*/

  .glu{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 30px 0;
  }
  .glu h2{
	margin-bottom: 10px;
  }
  .glu a:hover{
	opacity: 0.7;
  }
  .glu .cat-box{ 
	margin-bottom: 10px;
	border-radius:20px;
	border-width: 5px;
	border-style: solid;
	position: relative;
  }
  
  .glu .cat-box.point1{
	border-color: #F29539;
	width: 100%;
  }
  .glu .cat-box.point2{
	border-color: #5DC2D0;
	width: 48%;
  }
  .glu .cat-box.point3{
	border-color: #B8D200;
	width: 48%;
  }
   .glu .cat-box.check{
	border: none;
	background: #E0F0E9;
	padding-top: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
  }
  
   .glu .cat-box h3{
	padding: 10px;
	text-align: left;
	box-sizing: border-box;
	border-radius: 15px 15px 0 0;
	color: white;
	font-size: 2rem;
	font-weight: bold;
	line-height: 2.2rem;
  }
   .glu .cat-box.point1 h3{
	background: #F29539;
  }
   .glu .cat-box.point2 h3{
	background: #5DC2D0;
  }
   .glu .cat-box.point3 h3{
	background: #B8D200;
  }
   .glu .cat-box.check h3{
	padding: 10px 0 10px 0;
	color: #008359;
	position: relative;
	font-size: 18px;
    line-height: 1.6em;
  }
   .glu .cat-box.check h3 span{
	font-size: 12px;
	background: #008359;
	color: white;
	text-align: center;
	display: block;
	position: absolute;
	top: -40px;
	left: -30px;
	padding: 3px 10px;
	transform: rotate(-5deg);
  }
   .glu .cat-box .flex{
	padding: 0 20px 20px 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
  }

   .glu .cat-box .flex>div{
	width: 48%;
	padding: 10px 0;
	box-sizing: border-box;
  }
   .glu .cat-box.point1 .flex>div h4{
	width: 100%;
	background: #F29539;
	color: white;
	margin-bottom: 10px;
	padding: 10px;
	box-sizing: border-box;
  }
   .glu .cat-box .flex>div.cont2{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
  }
   .glu .cat-box .flex>div.cont2 p{
	font-size: 13px;
  }
   .glu .cat-box .flex p.check-point{
	font-size: 1.1rem;
	text-align: center;
	padding-bottom: 20px;
  }
   .glu .cat-box .flex p.check-point span{
	display: inline-block;
	border-bottom: 2px solid red;
  }
   .glu .cat-box .flex p.check-point span strong{
	color: red;
	font-size: 1.2rem;
	font-weight: bold;
  }
  
   .glu .cat-box .txt{
	padding: 20px;
  }
   .glu .cat-box.point1 .txt{
	padding-bottom: 0;
  }
   .glu .cat-box.check .txt{
	width: 65%;
  }
   .glu .cat-box.check img{
	width: 32%;
  }
   .glu .cat-box.point1 .flex img.cut{
	width: 90%;
	margin: auto;
	display: block;
  }
  img.cut4{
	width: 100%;
  }
   .glu .cat-box.point1 .flex p{
	width: 65%;
  }
   .glu .cat-box.point1 .flex img.cut2{
	width: 35%;
  }
   .glu .cat-box.point2 .flex .txt{
	width: 100%;
  }
   .glu .cat-box.point2 .flex img.cut{
	width: 80%;
	display: block;
	margin: 10px auto 0 auto;
  }
   .glu .cat-box.point3 img{
	width: 90%;
	display: block;
	margin: 20px auto;
  }
  
  .tetsuyo>p.notice{
	padding: 10px 0;
	font-size: 0.9rem;
	width: 100%;
	color: inherit;
  }
  
  @media screen and (max-width:480px) {
	 .glu .cat-box.point2,
	 .glu .cat-box.point3{
	  width: 100%;
	}
  
	 .glu .cat-box span.eiyo{
	  right: 0;
	}
	 .glu .cat-box.point1 .flex .txt{
	width: 100%;
	}
	 .glu .cat-box.point1 .flex img.cut{
	  width: 80%;
	}
	 .glu .cat-box.point1 .flex p{
	width: 65%;
	}
	 .glu .cat-box.point1 .flex img.cut2{
	  width: 30%;
	}
	 .glu .cat-box .flex>div{
	  width: 100%;
	}
	 .glu .cat-box.check .txt{
	width: 100%;
	}
	.glu .cat-box.check img{
	  width: 70%;
	  margin: auto;
	}
  }



/*キャンペーンセット*/
.xc_productName,
.productTitle {
    font-size: 18px;
    border-bottom: 1px solid #ccc;
    display: block;
    margin-bottom: 20px;
}
.exp img.lead_ph{ float:right; max-width:350px}


@media screen and (max-width:768px)  {
    .exp img.lead_ph{ float:none; max-width:100%}
}

/*mypage*/
.p-myPage-recommendWrap__inner .c-product-sIcon__item{
    width: auto;
}
.p-myPage-recommendWrap__inner .c-product-sIcon__item > img{
    width: 44px;
}

.m-productRecommend-wrap{
    display: none;
}
.p-myPage-userRankInfo__info-head{
  display: none;
}

@media screen and (min-width: 992px) {
    .l-container-wrap__body {
         padding-top: 0rem;
    }
    .l-container-wrap__body--stepBar {
         padding-top: 0rem;
    }
    .l-container-wrap__body--stepBar.inq-wrap{
      padding-top: 0;
    }
}

/*その他ページ*/


.p-productListHeading-head {
  display: block;
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-productListHeading-head {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-gray);
  }
}

.p-productListHeading-head__title {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-productListHeading-head__title {
    width: calc(100% - 22rem);
    font-size: 3.2rem;
    line-height: 1.2;
    margin-bottom: 0;
  }
}
.password p{
    padding-bottom: 1rem;
}
.step{
    padding: 40px;
    background: #efefef;
    margin: 20px 0;
}
.step h2{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 1em;
}
.step ol{
    list-style-type: decimal;
    margin-left: 1em;
}
.step ol li{
    margin-bottom: 1em;
    list-style-type: decimal;
}
.step ol li a{
    color: #0c5cb3;
}
.step ol li a:hover{
    opacity: 0.7;
}
.step ol li img{
    max-width: 600px;
    display: block;
    margin: 10px auto;
}
span.login{
    display: block;
    padding: 20px;
    background: white;
    border: 1px solid #ccc;
    max-width: 600px;
    margin: 10px auto;
}
.step p.small{
    font-size: 1rem;
}



.faq .qBox{ padding:20px; border-top:1px dotted #ccc; border-bottom:1px dotted #ccc; background:#efefef; margin-bottom:30px}
.faq .qBox ul li{ padding-left:10px; font-size:14px; margin-bottom:10px}
.faq .qBox ul li a{ color:#555;position:relative; display:inline-block; padding-left:17px}
.faq .qBox ul li a:before{ content:"Q"; font-family: 'Open Sans Condensed'; position:absolute; top:-6px; left:0; font-size:20px; font-weight: 700; color:#0c5cb3}
.faq .qBox ul li a:hover{ text-decoration:underline}
.faq .qBox ul li.list_category{ padding-left:0; padding-top:10px; font-weight:bold}

.faq .answer h2{ font-size:20px; border-bottom:1px dotted #ccc; margin-bottom:10px}
.faq .answer h3.q{ font-size:15px; font-weight:normal; position:relative; padding-left:17px; padding-top:10px; color:#0c5cb3; font-weight:bold}
.faq .answer h3.q:before{ content:"Q"; font-family: 'Open Sans Condensed'; position:absolute; top:4px; left:0; font-size:20px; font-weight: 700; color:#0c5cb3}
.faq .answer div.a{ font-size:14px; padding:10px; margin-bottom:10px; border-bottom:1px dotted #ccc}
.faq .answer div.a a{ text-decoration:underline}
.faq .answer div.a p{ padding-bottom:10px;}
.faq .answer div.a img{ padding-bottom:10px;}
.faq .answer div.a ul li{ padding-left:13px; background:url(/assets/img/common/check.png) no-repeat left 5px; margin-bottom:10px}
.faq div.backtotop{ padding-bottom:20px; text-align:right}
.faq .answer div.a span.tel,
.faq .answer div.a span.mail{font-family: 'Open Sans Condensed'; font-size:30px;font-weight:700; color:#0c5cb3}
.faq .answer div.a span.mail a{ color:#0c5cb3; text-decoration:none}
.faq .answer div.a span.mail a:hover{ opacity:0.7}
.faq .answer div.a strong{ font-size:15px}
.faq h4{ padding-bottom:10px}

.faq .answer div.a span.tel{background:url(/assets/img/common/tel_ic_b.png) no-repeat left center; padding-left:36px; display:inline-block}

.faq .answer div.a a.inq_mail,
.faq .answer div.a a.inq_faq{ display:inline-block; background:#0c5cb3; padding:5px 10px; margin-right:10px; color:white; text-decoration:none}
.faq .answer div.a a.inq_mail:hover,
.faq .answer div.a a.inq_faq:hover{background-color:#ffae00;}

.faq h4{ font-size:16px; padding-bottom:5px; margin-top:10px; padding-left:15px; position:relative; color:#0c5cb3}
.faq h4:before{ content:"■"; color:#0c5cb3; position:absolute; top:0; left:0}

.faq h5{ font-size:15px;}
.faq .answer div.a h5 a{ text-decoration:none; color:#555}


.first .tab{overflow:hidden; position:relative; display: flex; flex-wrap: wrap;}
.first .tab li{ background:#efefef; display: flex; justify-content: center; align-items: center; text-align:center; width:20%; border-right:1px solid #fff; margin-bottom:1px; cursor:pointer; font-size:13px; box-sizing:border-box; line-height:1.4em; padding: 15px 0; font-weight: bold;}
.first.point-coupon .tab li{
	width: 50%;
	font-size: 18px;
}
.first .content li h3.line{ border-top:1px dotted #ccc; padding-top:10px; margin-top:10px;}

.first .tab li.select{background:#fff;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc; bottom:-1px; z-index:500; margin-bottom:0}
.first .content{ margin-top:-1px}
.first .content li{background:#fff; padding:20px; border:1px solid #ccc}
.first .content li h4{
	font-size: 18px;
	margin: 20px 0 10px 0;
}
.first .content li h2{ font-size:22px}
.first .content li h3{ font-size:20px; margin-bottom: 10px;}
.first .content li h5{ font-size:14px; padding-left:15px; position:relative}
.first .content li h5:before{ content:"■"; color:#ccc; position:absolute; top:0; left:0}
.first .content li img{ padding:10px 0}
.first .content li p{ padding-bottom:10px}
.first .hide {display:none;}
.first .content li ul li{ padding:0 0 0 13px; background:url(/assets/img/common/check.png) no-repeat left 5px; margin:0 0 10px 0; border:none;}
.first div.backtotop{ padding-bottom:20px; text-align:right}
.first .content img.capture{
	width: 100%;
	border: 1px solid #ccc;
	display: block;
	margin: 10px 0;
}
.first .content img.flow{
	width: 50px;
	border: none;
	margin: auto;
}
.first .content .info{
	padding: 10px 20px;
	background: #f2f2f2;
	margin-bottom: 30px;
}


@media(max-width:768px){
	.faq{ padding:10px}
	.faq span.tel{ font-size:28px; display:block}
.faq span.mail{ font-size:24px; display:block}
.faq table th{ width:50%}
.faq .answer h2{ font-size:18px}
}

@media(max-width:768px){
	.faq h2,
	.first h2{ padding-bottom:10px}
	.first .tab{
		justify-content: space-between;
		align-items: center;
		padding: 0 5px;
	}
	.first .tab::after{
		content: "";
		width: 33%;
		display: block;
	}
	.first .tab li.select,
	.first .tab li { width:33%; border: none; padding: 10px 0; text-align: center; margin-bottom: 5px; border-radius: 60px; font-size: 11px;}
	.first .tab li.select{ background-color:#0c5cb3; color: white;}
	.first .content li img{ width:inherit; max-width:100%}
	.first .content li p.arrowP img{ width:15%}
	.first .content li h2,
	.first .content li h3{
		font-size: 16px;
	}
}

.info_teiki h3{ font-size:16px; padding-bottom:10px; padding-left:15px; position:relative; color:#0c5cb3}
.info_teiki h3:before{ content:"■"; color:#0c5cb3; position:absolute; top:0; left:0}
.info_teiki p{ padding-bottom:20px}
.info_teiki a:hover{ text-decoration:underline}


.safety h2{ margin-bottom:10px;font-weight: bold; font-size: 20px;}
.safety .safetyBox{ 
  padding:20px 0; border-bottom:1px dotted #ccc;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.safety p{ padding-bottom:10px}
.safety .small{ font-size:12px}
.safety h3{ font-size:16px; padding-bottom:10px; padding-left:15px; position:relative;color:#0c5cb3; width: 100%;}
.safety h3:before{ content:"■"; color:#0c5cb3; position:absolute; top:0; left:0}
.safety h4{ font-size:15px; padding-bottom:10px}
.safety_left,.safety_full{margin:10px 0 0 0; padding:0 0 10px 5px; line-height:1.5;}
.safety_left{ width: 65%; }
.safety_left p{ margin:0; line-height:1.6em;}
.safety_right{ width:30%;margin:19px 0px 0; }
div.safety_wide img,.safety_right img{ margin-bottom:5px; border-radius:5px;width: 100%;}
.safety_right div{ padding:0 0 10px 0;text-align:right; font-size:80%;}
.safety .word{ color:#507e00; font-weight:bold;}
div.safety_wide{ clear:both; padding:0; width: 100%;display: flex; justify-content: space-between; flex-wrap: wrap;}
div.safety_wide div{ width:30%; margin:0 0;padding:0 0 10px 0;text-align:right; font-size:80%;}

.staff div.kikan{ padding:10px; text-align:center; font-weight:bold; font-size:18px; background:#efefef; margin-bottom:10px}


@media(max-width:768px){
	.staff{ padding:10px}
	.staff img{ width:50%!important; float:none!important; margin:10px auto!important; padding:0!important; display:block}
	.info_teiki{ padding:10px}
	.safety{ padding:10px}
	.safety .safetyBox{ padding:10px 0}
  .safety h2{
    font-size: 18px;
  }
	.safety h3{ margin-top:10px}
	.safety_left,.safety_right{ float:none; width:auto; margin:0; padding:0; width: 100%;}
	.safety_right,div.safety_wide,.safety_right div,div.safety_wide div{ text-align:center; float:none; margin:0; font-size:12px}
	div.safety_wide img,.safety_right img{ padding-bottom:0;}
	.staff,.moniter{ padding:0 10px}
	.staff div.kikan{ font-size:15px}
  div.safety_wide div{ width:100%;}
	
	}

.privacy .foot_block{ padding-top:20px; text-align:right}

.salemation table th{ width:30%}

@media(max-width:768px){
	.privacy,
	.salemation{ padding:10px}
	.salemation table th,.salemation table td{ display:block; width:auto; border-right:none}
	.salemation table th br{ display:none}
}



/*お客様の声*/
.voice{ padding:10px 15px 10px 15px}
.voice:after {content: "."; display: block; clear: both; height: 0; visibility: hidden;}
.voice { min-height: 1px;}

.voice div.fukidashi{ width:400px; border:3px solid #1d7868; border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; padding:10px 10px; position:relative; font-size:14px}
img.fukidashiLeft{ position:absolute; top:93px; left:-25px}
img.fukidashiRight{ position:absolute; top:93px; left:420px}
.voice div.fukidashi p{ margin-bottom:5px}
.voice div.fukidashi p.txtRight{ margin-bottom:0; text-align:right}


.voice h2{ margin-bottom:20px}
.voice div.link{ padding-top:10px}
.voice div.link a{ display:inline-block; background:#efefef; margin-right:2px; font-size:13px; color:#444; padding:10px 15px; box-sizing:border-box;}
.voice div.link a:hover{ background:#0c5cb3;color:white;}
/*.voice h3{ padding:10px; margin:30px 0 10px 0;background:#0c5cb3; color:white;}*/
.voice h3{ font-size:22px; height:120px; border:1px solid #ccc;margin:30px 0 10px 0; line-height:120px; padding-left:20px}
.voice h3 small{ font-size:16px;}
.voice h3#karyu{ background:url(/assets/img/common/8_l.jpg) no-repeat right center; background-size:28%;}
.voice h3#yogurt{ background:url(/assets/img/common/onaka_all.jpg) no-repeat right center; background-size:35%;}
.voice h3#suiso{ background:url(/assets/img/common/milkdesuiso_ph_b.jpg) no-repeat right center; background-size:20%;}
.voice h3#tanekin{ background:url(/images/tanekin_ph1.jpg) no-repeat right center; background-size:22%;}


.voice ul{ padding-top:20px}
.voice ul li{ margin-bottom:30px}
.voice ul li div{ width:88%; box-sizing:border-box; padding:20px; background:#efefef; font-size:14px; position:relative; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;}
.voice ul li div span{ position:absolute; top:-10px; left:20px; background:#0c5cb3; color:white; display:inline-block; padding:2px 5px}
.voice ul li div p.prof{ text-align:right}
.voice ul li:nth-child(odd) div{ float:left}
.voice ul li:nth-child(even) div{ float:right}
.voice ul li:nth-child(odd) div:after{
	content: "";
	position: absolute;
	top: 30px; right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #efefef;
}
.voice ul li:nth-child(even) div:after{
	content: "";
	position: absolute;
	top: 30px; left: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 10px 0;
	border-color: transparent #efefef transparent transparent;
}
.voice ul li{ background-repeat:no-repeat}
.voice ul li.young.male{ background-image:url(/assets/img/common/face_m_20_30.png); background-size:10%}
.voice ul li.middle.male{ background-image:url(/assets/img/common/face_m_40_50.png); background-size:10%}
.voice ul li.senior.male{ background-image:url(/assets/img/common/face_m_60_70.png); background-size:10%}
.voice ul li.kids.female{ background-image:url(/assets/img/common/face_f_10.png); background-size:10%}
.voice ul li.young.female{ background-image:url(/assets/img/common/face_f_20_30.png); background-size:10%}
.voice ul li.middle.female{ background-image:url(/assets/img/common/face_f_40_50.png); background-size:10%}
.voice ul li.senior.female{ background-image:url(/assets/img/common/face_f_60_70.png); background-size:10%}
.voice ul li:nth-child(odd) { background-position:right top}
.voice ul li:nth-child(even) { background-position:left top}

.voice ul li:after {content: "."; display: block; clear: both; height: 0; visibility: hidden;}
.voice ul li{ min-height: 1px;}
.voice p.attention{ padding-top:20px; font-size:12px;}

.voice div.product { text-align:right; padding:0px 0 10px 0}
.voice div.product a{ display:inline-block;background:#0c5cb3 url(/assets/img/common/arrow_white.png) no-repeat 98% center; color:white; padding:10px 20px 10px 10px;}
.voice div.product a:hover{ opacity:0.7}

.voice div.holder{ padding:10px 0; text-align:center}
.voice div.holder a{ display:inline-block; padding:5px 10px; border:1px solid #ccc; margin-right:10px;}
.voice div.holder a.jp-previous,
.voice div.holder a.jp-next{ border:none;}
.voice div.holder a.jp-current{ background:#0c5cb3; color:white}

.voice div.holder a.jp-disabled{ display:none}

@media(max-width:768px){
	.voice h3{ font-size:18px; height:100px; padding-top:20px; line-height:1.6em;padding-right:28%; box-sizing:border-box}
	.voice h3#yogurt{ background-size:32%}
	.voice h3#tanekin{ background-size:30%;}
	.voice h3#suiso{ background-size:32%;}

	.voice div.link a{ width:100%; text-align:center; margin-right:0; border-bottom:1px solid #fff}
	.voice ul li{ margin-bottom:20px;}	
	.voice ul li div{ width:78%; padding:10px;}
	.voice ul li{ background-size:18%!important}
	.voice div.product a{ display:block; width:100%; box-sizing:border-box; text-align:center}
	
	.voice div.holder a{ margin-right:5px; font-size:12px}
	.voice div.holder a.jp-previous,
.voice div.holder a.jp-next{ padding:5px 0;}
}


/*定期コースご案内*/
.arrow{ position:absolute; top:-40px; left:320px}

#teiki img{ width:100%}

#tokuten{ padding: 0 0 0}
#tokuten h3{ padding:0 0 20px 0; border-left:none; }
#tokuten h3 img{ width:100%}
#tokuten .box{ width:214px; float:left; text-align:center; padding-top:20px; border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; margin-bottom:50px; position:relative}
#tokuten .box.no1{ width:100%; border:3px solid #f6b275; text-align:left}
#tokuten .box.no1 img.off{ position:absolute; right:10px; bottom:0; width:300px}
#tokuten .box.no2{ border:3px solid #dec0dd; margin-right:26px; height:280px}
#tokuten .box.no3{ border:3px solid #c5d692; margin-right:26px; height:280px}
#tokuten .box.no4{ border:3px solid #aad0f7; height:280px}

#tokuten .box.no2 img, #tokuten .box.no3 img,#tokuten .box.no4 img{ margin:0px; width:150px}

#tokuten .box img.no{ position:absolute; left:0px; top:-50px; width:70px}
#tokuten .box.no1 img.no{ position:absolute; left:10px; top:-40px}


#tokuten .box h4{ font-size:18px; font-weight:normal; line-height:1.4em; padding:20px}
#tokuten .box h4 span{ font-size:20px}
#tokuten .box.no1 h4{ font-size:30px; padding:50px 20px 30px 50px; line-height:1.2em}
#tokuten .box.no1 h4 span{ font-size:30px;}

.middleProduct{ padding:20px 0 30px 0}
.middleProduct img.product{ float:left; padding:0 0 0 20px}
.middleProduct h3{ width:320px; height:80px; background:url(/assets/img/common/lp/productName.png) no-repeat!important; background-size:100%!important; text-indent:-9999px; margin-top:20px; border-left:none!important}
.middleProduct h4{ padding:20px 0}
.middleProduct img.medal{ position:absolute; right:20px; top:-40px; width:140px}
.middleProduct img.medal2{ position:absolute; right:20px; top:140px;}

/*MOT*/

/*online times*/
#quo h3 img,
#times h3 img,
#survey h3 img{
	width: 100%;
}
#times h3 {
  margin-bottom: 2rem;
}
div#times div.flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
  align-items: stretch;
}
div#times div.flex a{
	width: 23%;
	display: block;
	color: #555;
	text-decoration: none;
	position: relative;
  margin-bottom: 1rem;
}
#quo div.flex{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	border: 5px solid #e84292;
	margin-bottom: 30px;
	position: relative;
	padding-top: 20px;
}
#quo.sep div.flex{
	border-color: #00386f;
}
#quo p.lead{
	padding: 20px 0;
	text-align: center;
	font-weight: bold;
	font-size: 16px;
}
#quo p.lead strong{
	color: #ce0000;
}
#quo div.flex a {
	display: block;
	width: 31%;
	margin: 0 1%;
	text-align: center;
	color: #fff;
	font-weight: bold;
	margin-bottom: 20px;
}
#quo div.flex a:hover{
	opacity: 0.7;
}
#quo div.flex a img{
	width: 80%;
	padding-bottom: 10px;
}
div#times div.flex a img{
	width: 100%;
	padding-bottom: 10px;
}
div#times div.flex a:hover{
	background: #f3f3f3;
}
div#times div.flex a p.title{
	font-weight: bold;
	padding-bottom: 5px;
}
div#times div.flex::before,
div#times div.flex::after{
	content: "";
	display: block;
	width: 23%;
	order: 1;
}
#quo.oct div.flex a{
	width: 60%;
}
#quo div.flex a p.title{
	font-weight: bold;
	margin: 0px auto;
	background:#004ea2;
	display: flex;
	padding: 10px 10px;
	height: 3.5em;
	justify-content: center;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	border-radius: 10px;
}
#quo div.flex a p.code{
	padding: 10px 0;
	color: #004ea2;
}
#quo div.flex a p.code strong{
	display: inline-block;
	padding: 2px 5px;
	background:#e84292;
	color: white;
	font-size: 12px;
}
#quo.sep div.flex a p.title{
	background: #00386f;
}
#quo.oct div.flex a p{
	color: #000;
}
#quo.oct div.flex a p.title{
	width: 20em;
	background: #4b29ad;
	color: #fff;
	margin: 10px auto;
}
#quo.nov div.flex a p{
	color: #000;
}
#quo.nov div.flex a p.title{
	width: 12em;
	background: #b44b27;
	color: #fff;
	margin: 10px auto;
}
#quo.jan div.flex a p.title{
	width: 15em;
	background:#e9588a;
}
#quo.jan div.flex a p{
	color: #fff;
}

#quo .coupon{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 0 20px 0;
}
#quo .coupon > p.code{
	width: 48%;
	border: 2px solid #ce0000;
	padding: 10px;
	box-sizing: border-box;
	font-weight: bold;
	background: #f5ecc8;
}
#quo .coupon > p.code strong{
	background: #ce0000;
	color: white;
	display: block;
	padding: 10px;
	margin-top:5px;
	border-radius: 10px;
}

@media screen and (max-width:480px) {
	#quo .coupon{
		margin: 0 15px;
	}
	#quo .coupon > p.code{
		width: 100%;
		margin-bottom: 10px;
	}
}

#quo p.date{
	text-align: center;
	font-size: 18px;
	padding: 20px 0;
}
#quo p.date strong{
	font-size: 24px;
	color: #00386f;
}
#quo.sep p.date strong{
	color: #00386f;
}
#quo.oct p.date strong{
	color: #4b29ad;
}
#quo.nov p.date strong{
color: #b44b27;
}
#quo h4 {
	text-align: center;
	margin: 0 0 20px 0;
	z-index: 10;
	position: relative;
	width: 100%;
}
#quo h4 span{
	display: inline-block;
	background: #fff600;
	color: #00386f;
	font-size: 24px;
	border-radius: 40px;
	padding: 5px 40px;
}
#quo.sep h4 span{
	background: #fff9af;
	color: #00386f;
}
#quo.oct h4 span{
	color: #4b29ad;
	background: #ffa800;
}
#quo.nov h4 span{
	color: #b44b27;
	background: #ffc000;
}
#quo.jan h4 span{
	background:#e9588a;
	color: #fff;
}
#quo div.info{
	padding: 20px;
	background: #f8e9c7;
}
#quo.sep div.info{
	background: #fff9af;
}
#quo.oct div.info{
	background: #fff9af;
}
#quo.nov div.info{
	background: #fcc56b;
}
#quo.jan div.info{
	background: #ffdaed;
}
#quo div.info h5{
	font-size: 18px;
	text-align: center;
	padding-bottom: 20px;
}
#quo div.info dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#quo div.info dl dd{
	padding-bottom: 10px;
	padding-left: 1em;
}
#quo div.info dl dt{
	font-weight: bold;
}
#quo div.info dl dt,
#quo div.info dl dd{
	width: 100%;
}
#quo div.info ol {
	margin: 0 20px;
}
#quo div.info ol li{
	list-style-type: disc;
}
div.coupon{
	padding: 20px 0;
	text-align: center;
	font-size: 18px;
}
div.coupon img{
	width: 100%;
	padding: 10px 0;
}
#survey p{
	text-align: center;
	padding-top: 20px;
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1.8em;
}
#survey .info{
	padding: 20px;
	background: #fffcd7;
	margin-top: 30px;
}
#survey .info  h5{
	text-align: center;
	font-size: 1.2em;
	padding-bottom: 20px;
}
#survey .info ul{
	display: block;
	margin: 0 0 0 1em;
	padding: 0;
}
#survey .info ul li{
	list-style-type: disc;
	margin-bottom: 10px;
}

@media screen and (max-width:480px) {
	div#times div.flex a{
		width: 48%;
	}
	div#times div.flex::before,
	div#times div.flex::after{
		display: none;
	}
	div#times div.flex{
		padding: 10px 15px;
	}
	#quo div.flex{
		width: 94%;
		margin-left: auto;
		margin-right: auto;
	}
	#quo div.flex a {
		width: 48%;
	}
	#quo.nov div.flex a ,
	#quo.oct div.flex a {
		width: 100%;
	}
	#quo.oct div.flex a p{
		font-size: 12px;
	}
	#quo div.flex a p.title{
		padding: 5px 10px;
		font-size: 14px;
		height: 5.5em;
	}
	#quo div.flex a p.title br{
		display: none;
	}
	#quo h4 span{
		font-size: 18px;
	}
	#quo p.date{
		font-size: 16px;
	}
	#quo p.date strong{
		font-size: 20px;
	}
	#quo.oct div.info h5{
		font-size: 16px;
		text-align: left;
	}
	#quo.oct div.info h5 br{
		display: none;
	}
	#survey p{
		font-size: 1em;
		padding: 10px;
	}
	div.coupon{
		font-size: 16px;
	}
}

/*campaign*/
#outlet ul li div.spDetail{
    width: 100%;
    position: relative;
    bottom: auto;
    left: auto;
  }
    .camp_2606 .flex {
      padding: 20px;
      justify-content: space-between!important;
      box-sizing: border-box;
    }
  .camp_2606 .flex div{
    width: 48%;
    text-align: center;
  }
  .camp_2606 .flex div.button{
    width: 100%;
  
  }
  .camp_2606 .flex div img{
    max-width: 80%;
    display: block;
    margin: auto;
  }
  .camp_2606 .flex div.one{
    width: 100%;
    background: white;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
  }
  .camp_2606 .flex div.pr{
    padding-bottom: 20px;
    background: white;
    border-radius: 10px;
    font-size: 12px;
  }
  .camp_2606 .flex div.pr img{
    max-height: 300px;
  }
  #quo h3.title img.sp_only{
    display: none;
  }

  #quo div.flex{
    border: none;
    background:url(/assets/img/common/2607_back.jpg) repeat-y center bottom/cover;
  }

    .camp_2606 a.camp-bt{
      display: block!important;
      background: #001f83!important;
      color: white!important;
      font-weight: bold!important;
      text-align: center!important;
      width: 20em!important;
      margin: 20px auto!important;
      padding: 15px 0!important;
      font-size: 1.2em!important;
      border-radius: 80px!important;
      box-sizing: border-box;
    }
    .camp_2606 a.camp-bt:hover{
      opacity: 0.7;
    }
br.sp_only{
  display: none;
}
  @media (max-width: 768px){
    br.sp_only{
      display: inline;
    }
    #quo h3.title img.sp_only{
      display: block;
    }
    #quo h3.title img.pc_only{
      display: none;
    }
    .camp_2606 .flex {
      padding: 10px;
    }
    #outlet ul li div {
        width: 100%;
        float: none;
    }
    #outlet ul li.big img.product-main{
      width: 100%;
    }
    .camp_2606 a.camp-bt{
      width: 90%!important;
    }
    .camp_2606 .flex div.pr img{
      max-height: 150px;
    }
      .camp_2606 .flex div.one img{
        max-width: 100%;
      }
  }
  /*お問合せ*/

.mailmagazine{
  margin-bottom: 20px;
}
.mailmagazine img{
	width: 100%;
	margin: 0 0 10px 0;
}
.mailmagazine h4{
	font-size: 16px;
	font-weight: bold;
	padding-bottom: 5px;
	margin: 0;
}
.mailmagazine h5{
	font-size: 14px;
  margin: 10px 0;
  font-weight: bold;
}
.mailmagazine .flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.mailmagazine .flex>div{
	width: 49%;
}
.mailmagazine .flex>div ol{
	margin: 0 0 0 0px;
	padding: 0;
}
.mailmagazine .flex>div ol li{
	margin-bottom: 5px;
	font-size: 12px;
	list-style: none;
	padding-left: 1.3em;
	text-indent: -1.3em;
}
@media(max-width:600px){
	.mailmagazine{
		padding:10px 15px;
	}
	.mailmagazine .flex>div{
		width: 100%;
	}
}