/* layout mobile
--------------------------------------------------*/
@media screen and (max-width: 640px) {
html,body{
    min-width:320px;
}

.popup_concept{
    position:fixed;
    top:50%;
    left:50%;
    width:768px;
    height:480px;
    margin-top:-250px;
    margin-left:-480px;
    display:none;
    z-index:9999;
}

.popup_concept img{
    width:768px;
    height:480px;
    padding-top:42px;
}

.popup_concept .close_concept{
    position:fixed;
    width:auto;
    height:auto;
    top:50%;
    left:50%;
    margin-top:-218px;
    margin-left:262px;
    cursor:pointer;
    z-index:9999;
    padding-top:22px;
}

.popup_symptom{
    position:fixed;
    top:50%;
    left:50%;
    width:768px;
    height:480px;
    margin-top:-250px;
    margin-left:-480px;
    display:none;
    z-index:9999;
}

.popup_symptom img{
    width:768px;
    height:480px;
    padding-top:42px;
}

.popup_symptom .close_symptom{
    position:fixed;
    width:auto;
    height:auto;
    top:50%;
    left:50%;
    margin-top:-218px;
    margin-left:262px;
    cursor:pointer;
    z-index:9999;
    padding-top:22px;
}

.popup_movie01{
    border:none;
}

.popup_movie02{
    border:none;
}

.popup_movie02 iframe{
    padding-top:80px;
    width:640px;
    height:361px;
}


.popup_movie01 iframe{
    padding-top:80px;
    width:640px;
    height:361px;
}

.close_movie01{
    margin-top:195px;
}

.close_movie02{
    margin-top:195px;
}

.hada_box_detail a img.new_icon{
	width:40px;
	height:auto;
}

.yokuinin_box_detail a img.new_icon{
	width:40px;
	height:auto;
}



}

/* layout mobile
--------------------------------------------------*/
@media screen and (max-width: 640px) {
html,body{
    min-width:320px;
}

body div{
	font-size:14px;
    overflow:hidden;
}

body div div{
    overflow:visible;
}

.bg_box,.bg_box_sc,.btn{
    display:none;
}


.story_r{
    position:absolute;
    right:0;
    height:100%;
    z-index:2;
}

.story_l{
    position:absolute;
    left:0;
    height:100%;
    z-index:2;
}


.banner_area .bn01_m{
display:block;
}

.banner_area .bn01{
display:none;
}

.banner_area .bn02_m{
display:block;
}

.banner_area .bn02{
display:none;
}

.banner_area .bn03_m{
display:block;
}

.banner_area .bn03{
display:none;
}

.banner_area .bn04_m{
display:block;
}

.banner_area .bn04{
display:none;
}



.menu_detail{
    width:100%;
    margin:0;
}

.menu_detail img{
    display:none;
}

.menu_detail .menu01 img{
    display:block;
}

.menu a:nth-child(1) img{
	margin-left:14px;
}

.mobile_menu{
    position:absolute;
    margin-top:-43px;
    right:14px;
    display:block;
    cursor:pointer;
}

.mobile_menu img{
    display:block;
}


.mobile_menu_detail{
    position:absolute;
    width:100%;
    background:#2a7622;
    z-index:1;
    text-align:left;
    z-index:3;
}

.mobile_menu_detail a{
    padding:14px;
    display:block;
    font-size:14px;
    color:#ffffff;
    text-decoration:none;
    border-top:solid 1px #90b382;
}

.mobile_menu_detail span.mobile_menu_close{
    padding:14px;
    display:block;
    font-size:14px;
    color:#ffffff;
    text-align:center;
    cursor:pointer;
    border-top:solid 1px #90b382;
}


.mobile_main{
    width:100%;
    height:auto;
    margin-bottom:40px;
}

.main_banner{
    width:100%;
    height:auto;
    overflow:hidden;
}

.main_banner .banner{
    width:100%;
    min-width:320px;
    height:auto;
    display:block;
    float:left;
}

.bn01{
    display:none;
}

.main_banner .mark{
    position:absolute;
    height:10px;
    bottom:20px;
    width:100%;
    height:auto;
    z-index:1;
}

.main_banner .mark img{
    margin-left:6px;
    margin-right:6px;
}

.main_banner .back{
    position:absolute;
    left:20px;
    cursor:pointer;
    opacity:0;
    z-index:2;
}

.main_banner .next{
    position:absolute;
    right:20px;
    cursor:pointer;
    opacity:0;
    z-index:2;
}

.story{
	width:100%;
    height:auto;
    background-image:none;
    background-position:top center;
    background-repeat:no-repeat;
    clear:both;
    overflow:hidden;
}

.story_back{
    position:absolute;
    width:40px;
    margin-left:-58px;
    left:50%;
    margin-top:265px;
    z-index:2;
}

.story_next{
    position:absolute;
    width:40px;
    margin-left:20px;
    left:50%;
    margin-top:265px;
    z-index:2;
}

.hada_bg{
    display:none;
}

.yokuinin_bg{
    display:none;
}

.tvcm{
    width:100%;
	white-space:normal;
}

.ct_banner02{
    width:100%;
    height:auto;
    float:none;
}

.ct_banner03{
    width:100%;
    height:auto;
    float:none;
}

.ct_banner04{
    width:100%;
    height:auto;
    float:none;
}

.ct_banner05{
    width:100%;
    height:auto;
    float:none;
}

.ct_banner06{
    width:100%;
    height:auto;
    float:none;
}

.hada_bg_box{
    width:100%;
    background-image:url("../images/m_story_box_bg.png");
    background-size:auto 355px;
    overflow:hidden;
}

.yokuinin_bg_box{
    width:100%;
    background-image:url("../images/m_story_box_bg.png");
    background-size:auto 355px;
    overflow:hidden;
}

.hada_box .hada_box_detail div{
    width:165px;
    text-align:center;
    float:left;
    cursor:pointer;
}

.yokuinin_box .yokuinin_box_detail div{
    width:165px;
    text-align:center;
    float:left;
    cursor:pointer;
}

.story_text{
    position:absolute;
    width:155px;
    font-size:11px;
    line-height:1.4;
    margin-top:88px;
    color:#ffffff;
    display:block;
}


.story_text_s{
    position:absolute;
    width:155px;
    font-size:11px;
    line-height:1.4;
    margin-top:88px;
    color:#ffffff;
    display:block;
    letter-spacing:-1;
}


.story_text_ss{
    position:absolute;
    width:155px;
    font-size:11px;
    line-height:1.3;
    margin-top:88px;
    color:#ffffff;
    display:block;
    letter-spacing:-1;
}



.hada_box_detail a img{
    width:155px;
    display:block;
}

.yokuinin_box_detail a img{
    width:155px;
    display:block;
}

.hada_bg_m{
    position:relative;
    height:355px;
    margin:0 auto 0;
}

.yokuinin_bg_m{
    position:relative;
    height:355px;
    margin:0 auto 0;
}



.hada_box{
    position:absolute;
    width:750px;
    height:201px;
    left:50%;
    margin-top:93px;
    margin-left:-405px;
    overflow:hidden;
    z-index:1;
}

.yokuinin_box{
    position:absolute;
    width:750px;
    height:201px;
    left:50%;
    margin-top:93px;
    margin-left:-405px;
    overflow:hidden;
    z-index:1;
}

.hada_box_detail{
    position:absolute;
    width:99999px;
    padding-left:250px;
}

.yokuinin_box_detail{
    position:absolute;
    width:99999px;
    padding-left:250px;
}

.foot_btn{
    position:relative;
    margin-top:20px;
}

.ct01{
    width:80%;
    padding:20px;
    border:1px solid #fad6ea;
    background-color: rgba( 255, 255, 255, 0.8 );
    margin:0 auto 20px;
}

.ct01_box{
    width:100%;
    margin-right:0;
    margin-bottom:20px;
    float:none;
}

h2 img{
    width:auto;
}

.caption02{
    margin:20px auto 20px;
}

.popup_movie02 iframe{
    padding-top:0;
    width:300px;
    height:169px;
}

.popup_movie03 iframe{
    padding-top:0;
    width:300px;
    height:169px;
}

.popup_movie04 iframe{
    padding-top:0;
    width:300px;
    height:169px;
}


.popup_movie01 iframe{
    padding-top:0;
    width:300px;
    height:169px;
}

.popup_movie01{
    position:fixed;
    top:50%;
    left:50%;
    width:300px;
    height:169px;
    margin-top:-105px;
    margin-left:-150px;
    display:none;
    border:solid 1px #333333;
    z-index:9999;
}

.close_movie01{
    position:fixed;
    top:50%;
    left:50%;
    margin-top:85px;
    margin-left:-49px;
    cursor:pointer;
    z-index:9999;
}

.close_movie03{
    position:fixed;
    top:50%;
    left:50%;
    margin-top:85px;
    margin-left:-49px;
    cursor:pointer;
    z-index:9999;
}

.popup_movie02{
    position:fixed;
    top:50%;
    left:50%;
    width:300px;
    height:169px;
    margin-top:-105px;
    margin-left:-150px;
    display:none;
    border:solid 1px #333333;
    z-index:9999;
}

.popup_movie03{
    position:fixed;
    top:50%;
    left:50%;
    width:300px;
    height:169px;
    margin-top:-105px;
    margin-left:-150px;
    display:none;
    border:solid 1px #333333;
    z-index:9999;
}

.popup_movie04{
    position:fixed;
    top:50%;
    left:50%;
    width:300px;
    height:169px;
    margin-top:-105px;
    margin-left:-150px;
    display:none;
    border:solid 1px #333333;
    z-index:9999;
}


.popup_concept{
    position:fixed;
    top:50%;
    left:50%;
    width:95%;
    height:320px;
    margin-top:0px;
    margin-left:0;
    display:none;
    z-index:9999;
    overflow:auto;
    -webkit-overflow-scrolling: touch;
}

.popup_concept .close_concept{
    position:fixed;
    top:0;
    left:auto;
    right:0px;
    margin-top:0px;
    margin-left:0;
    cursor:pointer;
    z-index:9999;
    padding-top:0;
}

.popup_symptom{
    position:fixed;
    top:50%;
    left:50%;
    width:95%;
    height:auto;
    margin-top:0px;
    margin-left:0;
    display:none;
    z-index:9999;
    overflow:auto;
    -webkit-overflow-scrolling: touch;
}

.popup_symptom .close_symptom{
    position:fixed;
    top:0;
    left:auto;
    right:0px;
    margin-top:0px;
    margin-left:0;
    cursor:pointer;
    z-index:9999;
    padding-top:0;
}


.close_movie02{
    position:fixed;
    top:50%;
    left:50%;
    margin-top:85px;
    margin-left:-49px;
    cursor:pointer;
    z-index:9999;
}

.popup_concept img{
    width:100%;
    height:auto;
    padding-top:0;
}

.popup_symptom img{
    width:100%;
    height:auto;
    padding-top:0;
}


.lineup{
	width:320px;
    min-width:320px;
    background-image:url("../images/lineup_bg.jpg");
    background-position:top center;
    background-repeat:no-repeat;
    padding-top:20px;
    padding-bottom:20px;
    margin:0 auto 0;
}

.lineup h2 .caption{
    width:90%;
    height:auto;
}

/*
.lineup .pr .pr_cursor{
	position:absolue;
	margin-top:17px;
	margin-left:120px;
	margin-bottom:-10px;
	z-index:1;
}

.lineup .pr .pr_detail{
    width:130px;
	padding:20px 10px;
    float:left;
}

.lineup .pr .pr_detail:nth-child(5){
    margin-top:-50px;
}

.lineup .pr .pr_detail img:nth-child(1){
    width:110px;
}

.lineup .pr .pr_detail .pr_cursor img{
    width:auto;
}

.lineup .pr{
    margin-top:10px;
}

.lineup .pr .new{
    margin-top:10px;
}


.lineup .pr .new_no{
    margin-top:-20px;
    display:none;
}
*/

.lineup .pr{
    position:relative;
    margin:0 auto 0;
    display:inline-block;
}

.lineup .pr a{
	position:relative;
	color:#000000;
	display:block;
	float:none;
}

.lineup .pr .pr_detail{
    width:250px;
	padding:25px 25px;
	margin-top:10px;
}

.lineup .pr .pr_center{
	margin-left:0px;
    margin-right:0px;
	margin-top:10px;
	margin-bottom:0px;
	display:block;
}

.lineup .pr .pr_end{
	margin-left:0px;
    margin-right:0px;
	margin-top:10px;
	margin-bottom:0px;
	display:block;
}

.lineup .pr .pr_cursor{
	position:relative;
	margin-top:0px;
	margin-left:245px;
	margin-bottom:0px;
	z-index:1;
}

.lineup .pr .pr_last_img{
	margin-top:-75px;
}

.ct01_line{
    margin-top:20px;
    margin-bottom:20px;
}

.ct02_line{
    margin-top:20px;
    margin-bottom:20px;
}

.ct02_text{
    width:90%;
    text-align:center;
    font-size:18px;
    line-height:1.5;
    margin:0 auto 0;
}

.ct02_text span{
    font-size:18px;
    color:#e1007f;
    font-weight:bold;
}
	
#spWrapper #spHeader {
	width:100%;
}
#spWrapper #spHeader p {
	left:auto;
	right:10px;
}
#spWrapper #spHeader div {
	top:40px;
	left:auto;
	right:10px;
}
.mainContents {
	width:100%;
}

.ct02_box{
	width:85%;
    padding:10px;
    background-color: rgba( 255, 255, 255, 0.8 );
    margin:30px auto 5px;
}


.graph{
    margin:20px auto 20px;
    float:none;
    display:block;
}


.ct02_box02{
	width:90%;
    margin:30px auto 30px;
    overflow:hidden;
}

.clm_title{
    margin-top:-5px;
    width:100%;
}

.image_area{
    width:100%;
    margin:0 auto 0;
    float:none;
    text-align:center;
}

.image_area img{
    width:100%;
    max-width:321px;
}

span.image{
    width:100%;
    max-width:321px;
    font-size:10px;
    color:#666666;
    display:inline-block;
    padding-top:5px;
    line-height:1;
    text-align:right;
}

.text_area{
    width:100%;
    height:auto;
    text-align:left;
    font-size:14px;
    display:block;
    margin:0 auto 0;
}

.text_area span{
    font-size:18px;
}

.cc_clear{
    clear:both;
    display:block;
    margin:20px auto 20px;
}

.clm_photo{
    padding:0;
    padding-top:20px;
    display:block;
    margin:0 auto 0;
    float:none;
}

.caption{
    font-size:18px;
    color:#e1007f;
    display:block;
    line-height:1.5;
    margin-bottom:10px;
}

.ct02_text02{
	width:100%;
    height:auto;
    text-align:center;
    display:block;
    margin:0 auto 20px;
}

.ct02_text02 div{
	width:90%;
    font-size:16px;
    line-height:2;
    text-align:left;
    display:block;
    margin:0 auto 0;
}



.clm_text{
    min-height:auto;
    padding:20px;
    margin-top:0;
    margin-bottom:0;
    display:block;
    font-size:14px;
}

.ct03_line{
    width:100%;
    height:1px;
    background:#dadada;
    margin:20px auto 20px;
}

.qa{
    width:85%;
    background:#ffffff;
    border-radius:10px;
    margin:0 auto 20px;
    text-align:left;
    padding:15px;
}

.qa02{
    width:85%;
    background:#fafafa;
    border-radius:10px;
    margin:0 auto 0;
    text-align:left;
    padding:15px;
}
.attention{
	width:90%;
    text-align:right;
    font-size:10px;
    color:#666666;
    margin:0 auto 0;
}

.qa02_image{
    padding:20px;
    margin-top:5px;
    float:none;
    text-align:center;
}
.qa02_text01{
    font-size:14px;
    margin-left:20px;
    margin-right:20px;
    margin-bottom:20px;
    float:none;
}
.qa02_text02{
    font-size:14px;
    margin-left:20px;
    display:block;
    float:none;
}

.clm{
    width:90%;
    padding-right:10px
    padding-left:10px;
    border:solid 10px #c6c3aa;
    background:#ffffff;
    margin-top:60px;
    margin:0 auto 0;
}

div#sns {
	width:100%;
    margin:auto;
	margin-left:-10px;
}

.rps_del{
    display:none;
}

#mb_footer{
	display:block;
}
#pc_footer{
	display:none;
}

#pagetop {
	width:auto;
	height:auto;
	padding-right:10px;
}
#spWrapper #spFooter ul {
	width:300px;
}
#spWrapper #spFooter ul li {
	margin-top:10px;
}
#spWrapper #spFooter p.copyright {
	width:100%;
}
.rps_visible{
    display:block;
}

.sec-contact{width:90%;margin:-20px auto 0;}
.sec-contact .sec-inner{padding-top:45px;padding-bottom:45px}
.sec-contact .sec-inner:before,.sec-contact .sec-inner:after{content:"";display:block}
.sec-contact .sec-inner:after{clear:both}
.sec-contact h3{padding:10px;background:#aeaeae;text-align:center;color:#fff;font-weight:normal;font-size:14px;}
.sec-contact .contact{padding:15px;background:#fff}
.sec-contact .contact:before,.sec-contact .contact:after{content:"";display:block}
.sec-contact .contact:after{clear:both}
.sec-contact .contact dl{width:90%;margin:auto;float:none}
.sec-contact .contact dl:before,.sec-contact .contact dl:after{content:"";display:block}
.sec-contact .contact dl:after{clear:both}
.sec-contact .contact dl .tel-text{width:30px;height:17px;margin:0px auto 10px;float:none;overflow:visible;font-size:0;text-indent:100%;white-space:nowrap;outline:none;background:url(../images/faq-text1.png) no-repeat 0 0;display:block;;background-size:100% auto;}
.sec-contact .contact dl .tel-number{width:200px;height:35px;margin:7px auto 0;;float:none;overflow:visible;font-size:0;text-indent:100%;white-space:nowrap;outline:none;background:url(../images/faq-text2.png) no-repeat 0 0;background-size:100% auto;}
.sec-contact .contact .contact-text{width:100%;height:16px;margin-top:10px;overflow:hidden;font-size:0;text-indent:100%;white-space:nowrap;outline:none;background:url(../images/faq-text3.png) no-repeat 0 0;background-size:100% auto;}
.sec-contact .privacy-text{margin:0 0 0 0; display:block;}
.sec-contact .privacy-text:before,.sec-contact .privacy-text:after{content:"";display:block}
.sec-contact .privacy-text:after{clear:both}
.sec-contact .privacy-text dt{float:none;font-weight:bold;font-size:12px;margin-right:0;margin-top:10px;}
.sec-contact .privacy-text dd{font-size:12px}
.sec-contact .privacy-text dd a{color:#ff6666}.sec-contact .privacy-text dd a:hover{text-decoration:none}

.photo_300{
    width:100%;

}

.ct03{
    padding-top:40px;
    background-image:url("");
    background:#f3f3f3;
}

.ct02_image{
    width:90%;
    margin:20px auto 0;
    display:block;
}

.news{
	width:90%;
	margin:13px auto 20px;
}

.news_box{
	margin:20px auto 0;
	width:90%;
	height:78px;
	overflow-y:scroll;
	padding-right:20px;
}

.news table{
	margin:0 auto 0;
}

.news td{
	font-size:13px;
	color:#aaaaaa;
}

.news td a{
	font-size:13px;
	color:#aaaaaa;
}


}

/* layout mobile
--------------------------------------------------*/
@media screen and (max-width: 480px) {


.hada_box .hada_box_detail div{
    width:135px;
    text-align:center;
    float:left;
    cursor:pointer;
}

.yokuinin_box .yokuinin_box_detail div{
    width:135px;
    text-align:center;
    float:left;
    cursor:pointer;
}

.story_text{
    position:absolute;
    width:125px;
    font-size:10px;
    line-height:1.4;
    margin-top:68px;
    color:#ffffff;
    display:block;
}


.story_text_s{
    position:absolute;
    width:125px;
    font-size:10px;
    line-height:1.4;
    margin-top:68px;
    color:#ffffff;
    display:block;
    letter-spacing:-1;
}


.story_text_ss{
    position:absolute;
    width:125px;
    font-size:10px;
    line-height:1.3;
    margin-top:68px;
    color:#ffffff;
    display:block;
    letter-spacing:-1;
}

.hada_bg_m{
    position:relative;
    height:325px;
    margin:0 auto 0;
}

.yokuinin_bg_m{
    position:relative;
    height:325px;
}



.hada_box_detail a img{
    width:125px;
    display:block;
}

.yokuinin_box_detail a img{
    width:125px;
    display:block;
}



.hada_box{
    position:absolute;
    width:750px;
    height:201px;
    left:50%;
    margin-top:93px;
    margin-left:-380px;
    overflow:hidden;
    z-index:1;
}

.yokuinin_box{
    position:absolute;
    width:750px;
    height:201px;
    left:50%;
    margin-top:93px;
    margin-left:-380px;
    overflow:hidden;
    z-index:1;
}
.hada_bg_box{
    width:100%;
    background-image:url("../images/m_story_box_bg.png");
    background-size:auto 325px;
    overflow:hidden;
}

.yokuinin_bg_box{
    width:100%;
    background-image:url("../images/m_story_box_bg.png");
    background-size:auto 325px;
    overflow:hidden;

}


.story_back{
    position:absolute;
    width:40px;
    margin-left:-58px;
    left:50%;
    margin-top:235px;
    z-index:2;
}

.story_next{
    position:absolute;
    width:40px;
    margin-left:20px;
    left:50%;
    margin-top:235px;
    z-index:2;
}


.foot_banner {
		margin-top:-10px;
		padding-bottom:40px;
		display:block;
}

.foot_banner a{
		margin:10px 0;
		display:block;
}

.foot_banner a img{
		width:90%;
}

#spWrapper #spHeader {
	width: auto;
}
#spWrapper #spHeader h1 {
	width: 160px;
	height: 56px;
	background-size: 100% auto;
}
#spWrapper #spHeader h1 a {
	width: 100%;
	height: 100%;
}
#spWrapper #spHeader p {
	display:none;
}
#spWrapper #spHeader div {
	right: 8px;
	top: 10px;
}

div#sNav {
	overflow:hidden;
	width: auto;
	padding: 0 10px;
}
p.txtControl {
	text-align: right;
	font-size: 1em;
}
p.txtControl span.big,
p.txtControl span.small {
	display: inline-block;
	color: #FFFFFF;
	background-color: #a0a0a0;
	padding: 4px 6px;
	text-decoration:none;
}

.hada_box_detail a img.new_icon{
	width:35px;
	height:auto;
}

.yokuinin_box_detail a img.new_icon{
	width:35px;
	height:auto;
}