@charset "UTF-8";

/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:table;
}

.cf:after {
    clear:both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}


.center{text-align: center;}
.fl_l{float: left;}
.fl_r{float: right;}
.al-c{text-align: center;}
.al-r{text-align: right;}
.red{color: red;}
.fs-80{font-size: 80%;}

/*PC非表示*/
.sp_on,
p.headerLine br{
	display: none;
}


/*ポップアップ*/
#layer {
    /*display: none;  /* 初期表示は非表示 */
    position: fixed; 
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 174px;
    background-color: black;
    opacity: 0.20;
}
#popup {
    /*display: none;  /* 初期表示は非表示 */
	position: fixed; 
	box-sizing: border-box;
	bottom: 16px;
	right: 0;
	left: 0;
	width: 400px;
	height: 174px;
	margin: 0 auto;
    text-align: center;
}
.popup_close{
	position: fixed;
	right: 4px;
	bottom: 132px;
	border-radius: 4px;
	background-color: #fff;
	line-height: 1;
}
/*ポップアップ*/

/*明朝体*/
h2,
h3,
h4,
h5,
.catch p,
.catch_sub p,
header nav ul li a{
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.catch{
	height: 330px;
    margin: 16px 0 0 0;
    padding: 2px 0 0 0;
	background: url(../images/biorosa_mainImg4-new.png) no-repeat #fafafa;
	background-position: center;
}
.catch_sub{
	height: 190px;
	background: url("../images/mainImg_sub.png") no-repeat;
	margin: 16px 0 0 0;
	padding: 2px 0 0 0;
}
.catch p,
.catch_sub p{
	display: block;
	width: 1060px;
	padding: 40px 12px;
	font-size: 110%;
}




html * {
    max-width: 100% !important;
}
body{
	margin:0;
	padding:0;
}
div.wrap{
	width:1100px;
	margin:0 auto;
	padding: 0 0;
	border-left:solid 1px #ffd4d4;
	border-right:solid 1px #ffd4d4;
}
img{
	border:none
}
header{
	padding: 0 0 4px 0;
}
header p.headerLine{
	font-size: 90%;
	text-align: left;
	margin: 0 0 8px 0;
	padding: 4px 16px;
	background-color: #E4004D;
	color: #fff;
}
header div{
	margin: 0 0 0 0;
	padding: 0 16px;
}
header div img#menu{
	display:none
}
header div p{
	text-align:center;
	margin-top:20px
}
header div h1{
	text-align:center;
	font-size:14px;
	line-height: 200%;
	color:#333;
	margin:6px;
	font-weight: normal;
	float: left;
}
header div h1 a{
	text-decoration: none;
}
header div p.company{
	text-align: right;
	margin: 0 4px;
}
header div p.company a{
	font-size: 80%;
	color: #333;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}
header div p.company a:hover{
	text-decoration: underline;
	opacity: 0.7;
}
header div nav{
	width: 810px;
	float: right;
	margin:10px 0 0 0;
	padding: 0;
	height:80px;
	text-align: right;
}
header div nav ul{
	list-style:none;
	margin: 24px 0 0 0;
	padding: 0 0 0 0;
	display: inline-block;
	text-align: right;
}
header div nav li{
	/*width:154px;*/
	margin: auto 6px;
	float:left;
}
header div nav li a{
	/*display:block;
	height:55px;*/
	text-decoration: none;
    color: #000;
    transition: background-color 0.7s ease-in-out;
    border-radius: 12px;
    border: 1px solid #cc4874;
    padding: 16px 16px;
}
header div nav li a.other{
	background-color: #cc4874;
	color: #fff;
}
header div nav li a:hover{
	color: #fff;
	background-color:#cc4874
}
header div nav li a.other:hover{
	background-color: #ec5884;
}
article{
	padding:30px;
	clear:left
}
article .left{
	float:left
}
article .clearfix{
	clear:left
}
article .center{
	text-align:center
}
article h2{
	margin: 12px 24px;
	padding:16px 6px;
	border-bottom: 2px solid #935;
	color: #423;
	font-size:22px
}
article h3{
    margin: 20px 0 16px 26px;
    padding: 0px 12px 0 32px;
    color: #844;
	font-size: 18px;
	background-image: url("../images/ico_08.png");
	background-position: center left;
	background-repeat: no-repeat;
}
article h4{
	margin: 0 0 0 0;
	padding:12px 42px;
	color:#844;
	font-size:16px
}
article p{
	padding:0px 56px;
	line-height:1.8em;
	color:#333;
	font-family:sans-serif
}
article p.product{
	padding:0;
	text-align:center
}
article p#banner{
	text-align:center;
	margin: 48px auto;
}
article p#banner a{
	display: inline-block;
	text-decoration: none;
	color: #333;
}
article p#banner a.w05{
	margin:  0 12px 12px 12px;
}
article p#banner a:hover{
	opacity:0.7
}
article ol,
article ul{
	margin: 36px 0 36px 60px;
	line-height:2em;
	color:#111;
}
article ol li,
article ul li{
	font-family:sans-serif	
}
article #gotop{
	text-align:right
}

.fixBox{
	position: fixed;
	right: 0;
	top: 18%;
}

footer{
    width: 100%;
    border-top: solid #e4004d 2px;
    background-image: url(../images/bg_footer.png);
    padding: 36px 0 36px 0;
    background-position: bottom center;
    background-repeat: no-repeat;
}
footer section div{
	text-align:center;
	margin-top:20px
}
footer section div img{
	margin:0 20px
}
footer nav{
	text-align: center;
}
footer nav ul{
	display: inline-block;
	list-style:none;
	width:auto;
	text-align: center;
	margin:20px auto 0 auto;
	padding:0
}
footer nav ul li{
	width:140px;
	text-align:center;
	float:left
}
footer nav ul li a{
	display:block;
	text-decoration:none;
	font-size:13px;
	color:#000;
}
footer nav ul li a:hover{
	text-decoration:underline
}
footer nav p{
	margin: 24px auto;
}
footer nav p a{
	color: #000;
}
footer p{
	clear:left;
	text-align:center;
	font-size:12px;
	color:#000;
	margin:0;
	padding:0;
}

/*index*/
body#index article .left+ul{
	margin:160px 0 0 0;
	float:left;
}




/*form page*/
table {
    width: 100%;
    margin: 0 0 24px 0;
    padding: 0;
    border-color: #935 #d58 #d58;
    border-style: solid;
    border-width: 2px 1px 1px;
    border-spacing: 0;
	border-collapse: collapse;
}
th,
td {
    text-align: left;
	vertical-align: top;
	font-weight: normal;
    padding: 10px;
    border-bottom: 1px solid #935;
    border-right: 1px solid #935;
}
th {
    padding-left: 15px;
	background-color: #fee;
	width: 30%;
}
td {
    padding-left: 15px;
	width: 80px;
}
.double_line {
	width: 640px;
    border: 1px solid #935;
    margin: 8px auto 24px auto;
    padding: 4px 4px;
}
.double_line>ol,
.double_line>ul {
    background-color: #fff;
    border: 1px solid #935;
    margin: 0 0 0 0;
    padding: 12px 8px;
}
.double_line ol,
.double_line ul {
    margin: 0 0 0 0;
    padding-left: 30px;
}
.double_line ol li,
.double_line ul li{
	font-size: 100%;
	padding: 2px 0;
}


.optin_page_header{
    width: 680px;
    margin: 0 auto;
    padding: 4px;
}
.optin_page_header h1{
	width: auto;
	text-align: center;
    margin: 24px 0 56px 0;
    padding: 12px 6px;
    border-bottom: 2px solid #935;
    color: #423;
	font-size: 22px;
	float: none;
}
main.optin_page{
    width: 680px;
    margin: 0 auto !important;
}
.optin_page table{
    width: 100%;
    font-size: 90%;
}
.optin_page table th{
    width: 30%;
}
input{
	font-size: 110%;
	line-height: 120%;
	border: 1px solid #888;
}
input.w100{
	width: 80%;
}
input.w32{
	width: 32%;
}
.optin_page form p.center input[name="sbm"]{
    height: 50px;
    margin-bottom: 48px;
    padding: 12px 36px;
    background-color: #935;
    border-bottom: 2px solid #d58;
    color: #fff;
}
.optin_page form p.center input[name="sbm"]:hover{
    background-color: #d58;
    border-top: 2px solid #935;
    border-bottom: none;
}
.optin_page_footer{
    height: auto;
}



.tokuten{
    /*background: linear-gradient(#fff,#ded,#fff);*/
    background-image: url("../images/bg_tokuchou.gif");
}
.tokuten>div{
	list-style-type: none;
    margin:250px 64px 36px 64px;
    padding: 12px 24px;
    background-image: url("../images/bg_kami.jpg");
    background-repeat: repeat repeat;
    border: 1px solid #fd0;
}
.tokuten>div>img{
    display: block;
    margin: -280px auto -146px auto;
}
.tokuten div div{
    display: flex;
}
.tokuten div div div{
	display: block;
	min-height: 132px;
    width: 50%;
    float: left;
	margin: 8px 12px;
    padding: 16px;
    border:2px solid #DdAA00;
    border-radius: 12px;
    background: linear-gradient(#fff,#F7F7F2,#F7F7F2,#E8E4CA)
}
.tokuten div div div img{
	float: left;
	margin: -6px 16px 0 0;
}
.tokuten div div div h3{
	background: none;
    color: #d33;
    font-size: 160%;
    line-height: 140%;
    margin-top: 20px;
}
.tokuten div div div p{
    display: inline;
    font-family: initial;
    display: inline-block;
	margin:20px 0 12px 8px;
	padding: 0 0 0 0;
	font-size:100%;
    color: #000;
    line-height: 150%;
}
/*form page*/

/*特殊スタイル*/
ul.yazirusi li{
	list-style-type: none;
	background-image: url("../images/ico_01.png");
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 36px;
}
ul.yazirusi li a{
	color: #555;
	transition: color 0.1s ease-in-out;
}
ul.yazirusi li a:hover{
	color: #b88;
}
ul.chk li{
	list-style-type: none;
	background-image: url("../images/ico_li_01.png");
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 36px;
}

.formBtn{
	text-align: center;
}
.formBtn a{
	display: inline-block;
	text-decoration: none;
	padding: 24px 80px;
	margin: 24px auto;
	text-align: center;
	background-color: #EC6F87;
	color: #FFFCD3;
	font-size: 120%;
	transition: opacity 0.3s ease-in-out;
}
.formBtn a:hover{
	opacity: 0.6;
}

div.syuseibun{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex
}
div.syuseibun div{
	width: 46%;
	margin: 48px 16px 42px 18px;
	padding-bottom: 2%;
	border: 6px solid #55489B;
	border-radius: 12px;
}
div.syuseibun div h4{
	display: block;
	width: 240px;
	background-color: #55489B;
	color: #FFFCD3;
	text-align: center;
	margin: -36px auto 36px auto;
	padding: 12px 36px;
	border-radius: 12px;
}
div.syuseibun div p{
	padding: 0px 32px;
	line-height: 1.6em;
	color: #333;
}

.innnerNav{
	width: 500px;
	border: 1px solid #555;
    margin: 0 60px;
    padding: 24px 32px;
}
.innnerNav h3{
	background: none;
	border: none;
	box-shadow: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	border-bottom: 1px solid #888;
	padding: 4px 4px;
}
.innnerNav ul{
	margin-left: 24px;
}

div.accList{
	margin: auto 40px;
}
div.accList input{
	display:none;
}
div.accList input + label h4::before{
	display: inline-block;
	content: "＋";
	margin-left: -30px;
	margin-right: 8px;
	width: 20px;
	text-align: center;
	border: 1px solid #555;
}
div.accList input:checked + label h4::before{
	content: "−";
}
div.accList label{
	display: block;
	margin: 4px 0px;
	padding: 0 0 0 0;
	border-bottom: 1px solid #840;
}
div.accList label h4{
	display: inline-block;
	width: 410px;
	padding: 8px 24px 12px 42px;
	font-size: 90%;
}
div.accList input + label + div {
	max-height: 0;
	overflow: hidden;
	transition: 0.5s;
	margin-left: 16px;
}
div.accList input:checked + label + div {
	max-height: 400px;
}

div.accList label span { display: inline-block; padding: 4px 8px; margin: 0 12px;}
div.accList label span.new { color: #fff; background-color: #f00;}
div.accList label span.hositu { color: #fff; background-color: #8bf;}
div.accList label span.a_hositu { color: #fff; background-color: #05f;}
div.accList label span.kousan { color: #fff; background-color: #888;}
div.accList label span.kouen { color: #fff; background-color: #d80;}
div.accList label span.koukin { color: #fff; background-color: #fb0;}
div.accList label span.aroma { color: #fff; background-color: #b8d;}
div.accList label span.ph { color: #fff; background-color: #f8d;}
div.accList label span.amino { color: #fff; background-color: #f50;}
div.accList label span.b_e { color: #fff; background-color: #5bb;}
div.accList label span.zyunan { color: #fff; background-color: #fbb;}
div.accList label span.hari { color: #fff; background-color: #8b5;}
div.accList label span.hiyake { color: #fff; background-color: #fd0;}
div.accList label span.ml_84{ margin-left:84px;}
div.accList label span.ml_100{ margin-left:100px;}
div.accList label span.ml_172{ margin-left:172px;}

/*特殊スタイル*/