@charset "utf-8";
*{
	font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',YuGothic,'Yu Gothic','ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN',sans-serif;
}
body{
	padding: 0;
	margin: 0;
	max-width: 1920px;
	margin: 0 auto;
}
img{
	display: block;
	width: 100%;
	height: auto;
}
p{
	color: #303030;
}
.pc{
	display: block;
}
.sp{
	display: none;
}
h1{
    margin: 0;
    padding: 0;
}
h2{
    margin-bottom: 20px;
}
/* ---▼タイトルフォント--- */
h2.zenom{
	font-family: "zen-old-mincho", sans-serif!important;
	font-weight: 700;
	font-style: normal;
	font-size: 3rem;
	text-align: center;
	color: #303030;
}
p.zenom{
	font-family: "zen-old-mincho", sans-serif!important;
	font-weight: 400;
	font-style: normal;
	font-size: 1.1rem;
	text-align: center;
	color: #303030;
}
/* 重要 */
.fv_info {
    padding-top: 25px;
}
.fv_info h2{
    font-size: 30px !important;
    margin-bottom: 0;
}
.fv_info .box{
    border: none;
    padding: 10px 0 30px; 
}
.fv_info .box p{
    margin: 0;
    font-size: 20px;
}

@media only screen and (max-width: 767px){
    .fv_info h2{
        font-size: 20px !important;
        margin-bottom: 0;
    }
    .fv_info .box{
        border: none;
        padding: 5px 15px 20px; 
    }
    .fv_info .box p{
        margin: 0;
        font-size: 11px;
        text-align: left;
    }
}

/* -------fv--------------------------- */
.fv{
    padding: 6% 3% 3%;
    box-sizing: border-box;
    background-image: url(../img/pc/fv_bg_pc.jpg);
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
}
h1{
    max-width: 1100px;
    margin: 0 auto;
}
.fv_bottom {
    position: relative;
    padding: 5% 3% 2%;
    box-sizing: border-box;
    background-image: url(../img/pc/description_bg_pc.jpg);
    background-repeat: no-repeat;
    position: relative;
}
.fv_bottom h2 {
    margin: 0 auto 40px;
}
.fv_bottom :before {
    content: '';
    position: absolute;
    color: #7e528f;
    line-height: 1;
    width: 2px;
    height: 50px;
    background: currentColor;
    margin: 0 auto;
    left: 50%;
    top: -33px;
}
.fv_bottom .inner{
    max-width: 1000px;
    margin: 0 auto;
}
.fv_bottom .inner img{
    margin-bottom: 20px;
}
/*-------お悩み------------------------------- */
.worries{
    padding: 0% 0% 3%;
}
.worries h2{
    margin: 0 auto 40px;
}
.worries .inner{
    max-width: 1200px;
    margin: 0 auto;
}
.worries .inner img{
    margin-bottom: 20px;
}
/* -----offer--------------------------------- */
.foryou{
    padding: 0% 3% 2%;
    box-sizing: border-box;
    background-image: url(../img/pc/offer_bg_pc.jpg);
    background-repeat: no-repeat;
    position: relative;
}
.foryou_cta{
    padding: 5% 3%;
    box-sizing: border-box;
    background-image: url(../img/pc/offer2_bg_pc.jpg);
    background-repeat: no-repeat;
    position: relative;
}
.foryou h2, .foryou_cta h2 {
margin: 0 !important;
}
.offer{
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}
.offer .cta{
    position: absolute;
    width: 45%;
    left: 0;
    bottom: -2%;
}
.foryou.sec{
    padding: 4% 3% 8%;
}
/*-------ハーブで便秘を治す-------------------------------*/
/*-------使われているハーブたち-------------------------------*/
.herb{
padding: 3% 3% 4%;
    box-sizing: border-box;
    background-image: url(../img/pc/herb_bg_pc.jpg);
    background-repeat: no-repeat;
    position: relative;
}
.herb h2{
    max-width: 450px;
    margin: 0 auto 40px;
}
.herb .inner, .herb2 .inner{
    max-width: 1000px;
    margin: 0 auto;
}
.herb .inner img{
    margin-bottom: 20px;
}
.herb2{
    padding: 3% 3% 5%;
        box-sizing: border-box;
        background-image: url(../img/pc/herb2_bg_pc.jpg);
        background-repeat: no-repeat;
        position: relative;
    }
    .herb h2{
        max-width: 600px;
        margin: 0 auto 40px;
    }
/* -------3つのこだわり------------------------------- */
.commitment{
    padding: 0% 3% 6%;
    box-sizing: border-box;
    background-image: url(../img/pc/commitment_bg_pc.jpg);
    background-repeat: repeat;
    background-size: cover;
}
.commitment h2{
    margin: 0 auto !important;
    text-align: center;
    display: block;
}
.commitment .inner{
    max-width: 1000px;
    margin: 0 auto;
}
.commitment .inner img{
    margin-bottom: 20px;
}
/* -------効果効能------------------------------- */
.effect{
    position: relative;
    padding: 5% 3% 5%;
    background-color: #ebf1dd;
}
.effect h2{
    max-width: 240px;
    margin: 0 auto 30px;
}
.arrow2{
    width: 120px;
    height: auto;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    top: 17px;
}
.effect .inner{
    max-width: 520px;
    margin: 0 auto;
}
/* -------用法容量------------------------------- */
.Usage {
    padding: 7% 3% 7%;
}
.Usage h2{
    max-width: 240px;
    margin: 0 auto 30px;
}
.Usage .inner{
    max-width: 600px;
    margin: 0 auto;
}
/* -------重要------------------------------- */
.inner.info{
    margin-bottom: 30px !important;
}

.box.taC{
    text-align: center;
}

@media only screen and (max-width: 767px){
    .inner.info{
        margin-bottom: 15px !important;
    }
    .box.taC{
        text-align: left;
    }
    .info p{
        font-size: 14px;
    }
}


/* -------使用上の注意点------------------------------- */

.note{
    padding: 7% 3% 7%;
}
.note .inner{
    max-width: 800px;
    margin: 0 auto;
    
    background-color:#e1e1e1 ;
}
.box{
    border:6px solid  #e1e1e1;
    background-color: #fff;
    padding: 3%;
}
.note h2{
    margin: 0 auto;
    max-width: 366px;
    padding: 0.5rem 0;
}

/*-------自然に近いお通じ------------------------------- */
.natural{
    padding: 6% 3% 3%;
    box-sizing: border-box;
    background-image: url(../img/pc/natural_bg_pc.jpg);
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
}
.natural h2{
    margin: 0 auto 40px;
}
.natural .inner{
    max-width: 750px;
    margin: 0 auto;
}
.natural .inner img{
    margin-bottom: 20px;
}
/* -------ラインナップ------------------------------- */
.lineup{
    position: relative;
    padding: 4% 3% 7%;
    box-sizing: border-box;
    background-image: url(../img/pc/commitment_bg_pc.jpg);
    background-repeat: repeat;
    background-size: cover;
}
.lineup_top{
    position: absolute;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #7e528f;
    height: 10px;
    width: 100%;
    top: 0;
    left: 0;
}
.lineup h2{
    max-width: 600px;
    margin: 0 auto 40px;
}

.lineup .inner{
    max-width: 930px;
    margin: 0 auto;
}
/* -------カスタマー------------------------------- */
.us{
    padding: 5% 3% 5%;
    background-color: #f7f7f5;
}
.us .logo{
    max-width: 240px;
    margin: 0 auto;
    padding-right: 10px;
}
p.zenom .fwb{
font-family: "zen-old-mincho", sans-serif;
font-weight: 700;
font-style: normal;
}
.us p{
    text-align: center;
}
.us .btn{
    max-width: 520px;
    margin: 0 auto;
}
p.fsL{
    font-size: 1.3rem;
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 0px;
}
.fsL{
    font-size: 1.3rem;
    font-weight: bold;
}
.mt8{
    margin-top: 8px;
}

.min{
    font-size: 0.9rem;
}
/* -------製品規約------------------------------- */
.application{
    padding: 5% 3%;
    box-sizing: border-box;
}
.application h2{
    max-width: 430px;
    margin: 0 auto 30px;
}
.application h3{
    max-width: 870px;
    margin: 0px auto 0;
}
.rule{
    max-width: 870px;
    margin: 0px auto 0;
    padding:1% ;
    box-sizing: border-box;
}
.rule p{
    font-size: 0.9rem;
}
.red{
    color: #bb0116;
}
.floating{
    padding: 0.5%;
    position: fixed;
    z-index: 99999; /* 他の要素の下に隠れないように */
    bottom: 0; /* バナーの上下の位置 */
    right: 0; /* バナーの左右の位置 */
    width: 300px; /* バナーの横幅 */
}
.intro{
    padding: 2.5%;
    box-sizing: border-box;
}

/* -----スマホサイズ------------------------------------------------------------------------------- */
@media only screen and (max-width: 767px){
    h2.zenom{
        font-size: 2.5rem;
    }
    body{
		padding: 0;
		margin: 0;
		width: 100%;
		margin: 0 auto;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
    .fv{
        padding: 0;
    }
    .fv_bottom{
        background-image: none;
        padding: 0;
    }
    .fv_bottom .inner,.fv_bottom h2,.fv_bottom .inner img{
        padding: 0;
        margin: 0;
    }
    .worries{
        margin: 0 !important;
        padding: 0 !important;
    }
    .worries h2 {
        margin: 0;
    }
    .worries .inner img{
        margin-bottom: 0;
    }
    .foryou,.foryou_cta,.offer{
        padding: 0 !important;
    }
    .arrow2{
        display: none;
    }
    .foryou h2 {
        margin: 0px auto;
    }
    .offer .cta {
        position: absolute;
        width: 90%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .herb,.herb2 {
        background-image: none;
    }
    .herb,.herb h2,.herb .inner,.herb .inner img,
    .herb2,.herb2 h2,.herb2 .inner,.herb2 .inner img {
        margin: 0;
        padding: 0;
    }
    .effect,.Usage,.item-area,.foryou.sec,.lineup{
        padding: 0;
    }
    .commitment h2{
    margin: 0;
    }
    .commitment, .natural {
        padding: 0;
        background-image: none;
    }
    .commitment .inner img {
        margin-bottom: 0px;
    }
    .effect h2,.Usage h2 {
        max-width: inherit;
        width: 100%;
        margin: 0;
    }
    .natural h2{
        margin: 0 auto !important;
    }    
    .natural .inner img {
        margin-bottom: 0;
    }
    .note h2.zenom {
        font-size: 2.2rem;
    }
    .note {
        padding: 7% 5% 7%;
        box-sizing: border-box;
    }
    .box {
        padding: 0 4%;
    }
    .lineup_top {
        display: none;
    }
    .lineup h2 {
        max-width: inherit;
        margin: 0 ;
    }

    .us {
        padding: 8% 4% 8%;
        background-color: #f7f7f5;
    }
    .us .logo {
        width: 60%;
        margin: 0 auto;
        padding-right: 10px;
    }
    .us .inner p:nth-last-of-type(1){
        font-size: 0.9rem;
    }
    .us .inner p:nth-last-of-type(1) span{
        font-size: 0.8rem;
    }
    .application {
        padding: 12% 5%;
        box-sizing: border-box;
    }
    .application h2 {
        width: 80%;
        margin: 0 auto 30px;
    }
    .floating{
        background-color: #fff;
        width: 100%; 
    }
    .floating .sp{
        display: flex;
        justify-content: space-between;
        padding: 1.5% 2% 1%;
        box-sizing: border-box;
    }
    .intro{
        padding: 0.5%;
        box-sizing: border-box;
        width: 40%;
        height: auto;
    }
    .f-cta{
        width: 58%;
        height: auto;
    }
}



/*----------Q&A------------start--------------------------------------------------------------------------------------------------------------------*/
.qa-area{
	padding: 1% 3%;
	background-color: #a679b8;
}
.qa-area .inner{
	max-width: 840px;
	margin: 0 auto;
}
.qa-area h2.zenom{
	color: #fff;
}
.toggle_contents {
    background-color: #fff;
	box-shadow: 4px 4px 6px #805691;
}
.toggle_title {
    position: relative;
    padding: 3.5% 4%;
    cursor: pointer;
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.4;
    font-weight: bold;
    
    max-height: 999999px;  /*Androidブラウザフォントバグ対策*/
}
.toggle_btn {
    position: absolute;
    top: 50%;
    right: 4%;
    transform: translateY(-50%);
    background-color: #303030;
    display: block;
    width: 32px;
    height: 32px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 50%;
}
.toggle_btn:before, .toggle_btn:after {
    display: block;
    content: '';
    background-color: #fff;
    position: absolute;
    width: 15px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.toggle_btn:before {
    width: 2px;
    height: 15px;
}
.toggle_title.selected .toggle_btn:before {
    content: normal;
}
.toggle_contents dd {
    display: none;
    margin-inline-start:0;
	background-image: linear-gradient(to right, #000, #000 3px, transparent 3px, transparent 10px);
    background-size: 10px 2px;
    background-position: left top;
    background-repeat: repeat-x;
    width: 92%;
    margin: auto;
}
.toggle_contents dd p{
    margin: auto ;
    font-size: 1rem;
    line-height: 1.3rem;
    padding: 3.5% 0% 3.5% 1.5rem;
    box-sizing: border-box;
    position: relative;
}
.qa{
    padding: 3%;
    padding-top: 0;
}
.toggle_contents dd p::before{
    content: "A.";
    color: #a60113;
    font-family: "zen-old-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    position: absolute;
    left: -0.5rem;
    top: 18%;
    font-size: 1.2rem;
    padding: 0.8% 1.4%;
    border-radius: 5px;
    margin-right: 4%;
}
.toggle_contents:last-child dd p::before{
    top: 25%;
}
@media only screen and (max-width: 767px){
    .toggle_contents dd p::before{
		width: 29.7%;
        top: 9px;
        padding: 1% 2.4%;
        font-size: 1.2rem;
    }
    .toggle_contents:last-child dd p::before {
        top: 9px;
    }
    .toggle_contents dd p{
        padding: 4% 4% 4% 1.5rem;
        font-size: 0.8rem;
    }

    .tel {
        position: absolute;
        width: 16%;
        top: 3.5%;
    }
    .toggle_title {
        font-size: 0.87rem;
    }
    .toggle_title{
        font-size: 0.87rem;
        position: relative;
    }
    .toggle_btn {
        width: 24px;
        height: 24px;
    }
    .toggle_btn:before, .toggle_btn:after {
        width: 10px;
        height: 2px;
    }
    .toggle_btn:before {
        width: 2px;
        height: 10px;
    }
    .toggle_btn:before {
        height: 10px;
    }
}
/*----------Q&A--------end------------------------------------------------------------------------------------------------------------------------*/


/* -------百毒下しフォーム------pc---------------------------------------------------------------------------------------------------------------------------------- */
#form img{
    width: inherit;
}
#form {
    max-width: 960px;
    margin: auto;
    text-align: left;
    padding: 0 0 60px;
}
div.questionnaire_box_ {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #CCC;
}
.common_headline2_ {
    background: url(../img/pc/h2_bg.gif) no-repeat scroll left bottom transparent;
    border-bottom: 2px solid #3B8585;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 8px 8px 6px 35px;
}
.sec15 .form img {
    width: auto;
}
.must_ {
    display: inline;
    float: right;
    margin-left: 10px;
}
div.questionnaire_box_ div.desc_ {
    margin-bottom: 10px;
    padding: 0 0 10px 10px;
    border-bottom: 1px dotted #CCC;
}
div.questionnaire_box_ div.questionnaire_box_content_ {
    padding: 0 10px;
}
input {
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1em;
}

textarea {
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1em;
}

select {
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1em;
}
input {
    vertical-align: middle;
}
label {
    margin: 0 20px 0 5px;
}
div.questionnaire_box_ table {
    width: 100%;
}
.formdetail_ {
    border-collapse: collapse;
    margin: 0 auto;
}
div.questionnaire_box_ table.formdetail_ th {
    width: 16em;
}
.formdetail_ th {
    background-color: #F8F8F8;
    border-bottom: 1px dotted #CCCCCC;
    border-top: 1px dotted #CCCCCC;
    font-weight: bold;
    padding: 8px;
    text-align: left;
    vertical-align: top;
}
.submit_ {
    margin: 20px auto;
    text-align: center;
    display: flex;
    justify-content: center;
}
a:link {
    color: #003780;
}
.submit_ input, .submit_ img {
    margin: 0 16px;
    vertical-align: middle;
}
.sec15 .form img {
    width: auto;
}
.footer img{
    width: inherit;
}
.footer.relative {
    position: relative;
    width: 100%;
}
.footer{
    vertical-align: bottom; 
}
.footer_inner {
    position: absolute;
    width: 80%;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
}
.small_ {
    font-size: 80%;
}
@media only screen and (max-width: 767px){
    #form p{
        margin-block-start: 0em;
        margin-block-end: 0em;
    }
    #form h3{
        margin-block-start: 0em;
        margin-block-end: 0em;
    }
    #form p,#form label,#form input{
        font-size: 14px;
        margin: 0;
        padding: 0;
        outline: 0;
    }
    div.questionnaire_ h3 {
        font-weight: bold;
        font-size: 14px;
    }
    div.questionnaire_ {
        padding: 0 10px;
    }
    dd {
        display: block;
        margin-inline-start: 00px;
    }
    dl.formdetail_ {
        margin: 0 10px;
        border: 1px solid #CCC;
        margin-bottom: 10px;
    }
    div.questionnaire_ .formdetail_ {
        margin: 10px 0 10px;
    } 
    dl.formdetail_ dt {
        padding: 2px 2px 2px 6px;
        background-color: #F0F0F0;
        font-size: 14px;
    }
    dl.formdetail_ dt img.must_ {
        margin-left: 5px;
        vertical-align: middle;
    }
    .sec15 .form img {
        width: auto;
    }
    dl.formdetail_ dd {
        padding: 2px 2px 2px 12px;
    }
    .submit_ {
        margin: 0 10px 20px;
        text-align: center;
    }
    div.questionnaire_ div.submit_ {
        margin: 0 0 20px;
    }
    #form .large_button_ {
        width: 100%;
        font-size: 16px!important;
        text-align: center;
        margin: 5px 0!important;
        padding: 10px 10px!important;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -moz-box-shadow: 0 1px 2px #999;
        -webkit-box-shadow: 0 1px 2px #999;
        box-shadow: 0 1px 2px #999;
    }
    .orange_button_ {
        -moz-text-shadow: 0 -1px 1px #F66;
        -webkit-text-shadow: 0 -1px 1px #F66;
        text-shadow: 0 -1px 1px #F66;
        background: #FF6A00 -moz-linear-gradient(top,#FF9900,#FF6A00);
        background: #FF6A00 -webkit-gradient(linear,left top,left bottom,from(#FF9900),to(#FF6A00));
        background: #FF6A00 linear-gradient(top,#FF9900,#FF6A00);
        border: 2px solid #FF9900;
    }
    
    .must_ {
        float: inherit;
    }
    .button_ {
        color: #fff;
    }
    .footer_inner {
        position: absolute;
        width: 100%;
        top: 8%;
        left: 50%;
        transform: translateX(-50%);
        display: block;
    }
    .footer_inner div {
        margin-bottom: 7.5%;
    }
    .footer img {
        width: 100%;
        height: auto;
        vertical-align: bottom;
    }
    
}